方法驱动程序 /usr/lib/apt/methods/https 无法找到 更新错误

sudo apt-get update
E: The method driver /usr/lib/apt/methods/https could not be found.
michael@Ubuntu:~$ sudo apt-get clean
michael@Ubuntu:~$ cd /var/lib/apt
michael@Ubuntu:/var/lib/apt$ sudo mv lists lists.old
michael@Ubuntu:/var/lib/apt$ sudo mkdir -p lists/partial
michael@Ubuntu:/var/lib/apt$ sudo apt-get clean
michael@Ubuntu:/var/lib/apt$ sudo apt-get update
E: The method driver /usr/lib/apt/methods/https could not be found.
E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
michael@Ubuntu:/var/lib/apt$ sudo apt-get update
E: The method driver /usr/lib/apt/methods/https could not be found.

为什么我在执行apt-get update时会出现这些错误?

1请编辑您的问题并添加/etc/apt/sources.list文件的内容。 - jokerdino
3个回答

尝试:

sudo apt-get install apt-transport-https

4如果您在存储库中找不到此软件包:“Package 'apt-transport-https' has no installation candidate”,请参考下面@NateC-K的答案。 - Todd Smith
5这对我有效。我们需要为我们的依赖管理器提供依赖管理器。@xzibit 分页 - Ezekiel Victor

我也遇到了这个问题。我无法通过安装apt-transport-https来解决它,因为我在相关机器上已经很久没有进行任何软件包更新了,而我所需要的那个软件包版本已经不再可用于软件包仓库中。(为了获取一个可用的版本,我首先必须能够成功地执行apt-get update命令。)因此,我被迫找出apt-get突然尝试使用HTTPS的原因,并阻止它这样做。
在我的情况下,事实证明,在我的/etc/apt/sources.list.d目录中的一个配置文件中列出的第三方apt源已经开始将所有下载都切换到使用HTTPS,并且他们已经开始将http://的URL重定向到https://的URL。这导致apt尝试使用HTTPS,即使我的源配置中没有请求它。(我通过在Web浏览器中打开源仓库的URL,并注意到页面加载时地址栏中的URL更改为https://来发现了这一点。)
由于这是一个第三方存储库,因此并非必要的,我只是暂时禁用了该源,然后重新运行了apt-get update,没有任何问题。在运行apt-get updateapt-get upgradeapt-get install apt-transport-https之后,我能够重新启用那个第三方apt源,从那以后一切正常运作。

2感谢您指定 sources.list.d/。我已经有一段时间没有处理 Ubuntu 的各种与 apt 相关的文件了,这正是我需要修复此问题的地方。 - Lyle Brown
3很高兴能帮到别人!我花了很长时间追踪这个问题,所以我很愿意分享我的发现。 - Nate C-K
谢谢!我要说的是,安装Crystal语言确实做到了这一点,以防有人在谷歌上搜索。 - Sam Eaton

检查此目录中的文件:/etc/apt/sources.list.d
其中一个文件指向以HTTPS开头的仓库。在开头添加#号注释该行,然后尝试apt-get update。

@Zanna:OP收到一个错误消息“找不到方法驱动程序 /usr/lib/apt/methods/https”。mnorouzi的建议会对此有所帮助,即使安装HTTPS处理程序可能更好。 - David Foerster