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

Mic*_*2uk 146 updates apt

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.
Run Code Online (Sandbox Code Playgroud)

为什么我在执行 apt-get 更新时会收到这些错误?

Sir*_*rlo 236

尝试:

sudo apt-get install apt-transport-https
Run Code Online (Sandbox Code Playgroud)

  • 这对我有用。我们的依赖管理器需要依赖管理器。分页@xzibit (5认同)
  • 如果您无法在存储库中找到此软件包:“Package 'apt-transport-https' has no installationCandidate'”然后从@NateC-K 中查看以下答案 (4认同)

Nat*_*C-K 65

我也遇到了这个问题。我无法通过安装来修复它apt-transport-https,因为我已经有一段时间没有在有问题的机器上完成任何包更新,并且我需要的那个包的版本在包存储库中不再可用。(要获得可用版本,我首先必须能够apt-get update成功。)因此,我被迫找出 apt-get 突然尝试使用 HTTPS 的原因,并阻止它这样做。

就我而言,事实证明,在我的/etc/apt/sources.list.d目录中的配置文件中列出的第三方 apt 源之一已切换为对所有下载使用 HTTPS,并且他们已开始将http://URL重定向到https://URL。即使我的源配置都没有要求使用 HTTPS,这也是在尝试使用 HTTPS。(我通过在 Web 浏览器中打开源存储库 URL 并注意到地址栏中的 URL 更改为https://页面加载时发现了这一点。)

由于这是第三方存储库,因此不是必需的,我只是暂时禁用了该源,然后重新运行apt-get update,它没有问题。在apt-get update,apt-get upgrade和之后,apt-get install apt-transport-https我能够重新启用该第三方 apt 源,然后一切正常。

  • 我很高兴这对某人有所帮助!我花了很长时间来追踪这个问题,所以我很想分享我的发现。 (3认同)
  • 感谢您指定sources.list.d/。我已经有一段时间没有使用 Ubuntu 的各种 apt 相关文件了,这就是我解决这个问题所需要的。 (2认同)

小智 6

检查此目录中的文件: /etc/apt/sources.list.d

其中一个文件针对以 HTTPS 开头的存储库。通过在开头添加 # 来注释该行并尝试: apt-get update