如何修复“ E:找不到方法驱动程序/ usr / lib / apt / methods / http。”错误?


108

我尝试从终端更新软件包,这是我得到的:

$ sudo apt-get update
E: The method driver /usr/lib/apt/methods/http could not be found.
E: The method driver /usr/lib/apt/methods/http could not be found.
E: The method driver /usr/lib/apt/methods/http could not be found.
E: The method driver /usr/lib/apt/methods/http could not be found.
E: The method driver /usr/lib/apt/methods/http could not be found.

这是什么意思?我正在使用美国镜像,但尝试使用主服务器作为镜像,但由于没有更新,我一直得到相同的结果,这是吗?


你能展示你的/etc/apt/sources.list吗?
塞萨尔

1
请参阅答案这一个,就解决了这个问题,我在Debian拉伸。
REIM

Answers:


186

夏洛爵士在重复这个问题时说:

sudo apt-get install apt-transport-https

我尝试过,它对我有用。


1
这在Debian Squeeze中为我工作。
马特·亚历山大

1
这怎么可能?他无法连接到互联网。
Avinash Raj 2014年

1
可悲的是,如果您的apt缓存过时了,那么这将无法工作。现在,我陷入了“桶中的洞”的问题:(
Owen

为我工作,谢谢。Debian 7.x
Vitor Luiz da Silva

1
@Owen允许其他人围绕任何未签名的软件包提供替换或特洛伊木马包装。
mikemaccana

7

就我而言,请在.list文件中找到所有源,例如:

/etc/apt/sources.list 
/etc/apt/sources.list.d/nginx.list 
/etc/apt/sources.list.d/passenger.list

即使您将列表中的某些源更改为http://,也会强制使用https://,但它将重定向到https://

解决方案是:

  1. 备份和取消HTTPS源第一
  2. 然后运行apt-get update
  3. 运行sudo apt-get install apt-transport-https
  4. 恢复https源

所以您是说应该通过不安全的连接进行更新?
David天宇Wong

这是在kali linux上对我
有用

4

在新鲜的OrangePi图像上也有相同的问题。将https交换为http并没有帮助。最终,我创建了一个名为https的http符号链接,并能够执行apt-get更新。首先安装的是apt-transport-https,而不是重新运行更新。


1
OrangePI似乎实际上仍然存在此问题,在这种情况下,您能准确解释一下“符号链接”是什么意思吗?
dlewin '18

2
cd /usr/lib/apt/methods然后@dlewin就能解决ln -s http https问题。
亚历克斯(Alex)

2

我的问题是/etc/apt/sources.list.d/opera-stable.list中的Opera浏览器是这样写的:

https//:

但正确的是:

https://

所以我以这种方式解决了这一问题:

deb https://deb.opera.com/opera-stable/ stable non-free #Opera Browser (final releases)

一切都解决了!


0

我以前遇到过这个问题,就我而言,问题出在/etc/apt/sources.list。确保没有引号''""

deb "http://archive.canonical.com/ubuntu/ maverick partner (Source Code)"

删除引号并将这些行更改为:

deb http://archive.canonical.com/ubuntu/ maverick partner (Source Code)

另外,如@arhimed所建议,请确保协议格式正确: http://


一切都很好,还有其他想法吗?
安倍

0

我的错误读取方法驱动程序/usr/lib/apt/methods/htttp,在这里阅读并尝试了所有产品之后,当我发现该驱动程序http有一个额外的功能时,我将放弃t

我去做这个:

sudo -H gedit /etc/apt/source.list

Ctrl+ F查找的所有实例htttp

删除了多余的

已保存(以确保两次被bugger接受)

中提琴,问题解决了。

猜猜这意味着我需要真正阅读错误消息,因为我一直在浏览它们。学过的知识。那不会再发生了


0

在/etc/apt/sources.list中查找https链接,检查相同链接的http链接是否有效。如果确实如此,则将HTTP替换为https并享受。否则安装sudo apt-get install apt-transport-https,如Damiönla Bagh的上述回答中所述


0

我在这里的评论与OP的问题没有直接关系,但是由于此页面出现在Google搜索时的第一个结果中,E: The method driver /usr/lib/apt/methods/https could not be found.这是我最初试图解决的错误,因此我添加了一些信息来帮助我解决了问题。

我碰巧是在一个以太网网络中,该网络包含一个“防火墙”类型的设备,该设备会将未知计算机的网络流量重定向到一个网页,该网页需要您“同意”网络的服务条款,然后才能继续。该页面恰好被用作HTTPS页面。因此,无论何时apt-get尝试连接,它最终都会在HTTPS站点上结束。这也是为什么尝试安装apt-transport-https对我不起作用的原因。


这就是所谓的强制门户
muru

0

我意识到这是一个非常老的线程,但就我而言,sources.list文件缺少“ http”。在地址中。(即http://kali.orghttp://http.kali.org)我在比较环境中的两个VM时发现了这一点。不知道错误来自何处,但将其替换即可解决问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.