apt-get失败:找不到方法驱动程序/ usr / lib / apt / methods / https


43

我尝试使用终端更新OS Debian jessie,但出现错误:

“E: The method driver /usr/lib/apt/methods/https could not be found.” error?

我的sources.list:

deb http://httpredir.debian.org/debian/ jessie main
deb-src http://httpredir.debian.org/debian/ jessie main

deb http://security.debian.org/ jessie/updates main
deb-src http://security.debian.org/ jessie/updates main

# jessie-updates, previously known as 'volatile'
deb http://httpredir.debian.org/debian/ jessie-updates main
deb-src http://httpredir.debian.org/debian/ jessie-updates main

deb http://ftp.de.debian.org/debian jessie main 

如何解决apt-get updateaptitude update


1
请记住,使用HTTPS不会带来任何完整性方面的好处,因为程序包具有经过验证的签名-这可能会更好,因为您不信任许多独立的CA。这将带来一些隐私利益。另请参阅:unix.stackexchange.com/questions/90227/…–
鲍勃

Answers:


88

听起来您可能已经添加了一些https资源。由于您的网站中没有https来源sources.list,因此可能会存在/etc/apt/sources.list.d/

您可能还需要处理始终重定向到https的代理。

您可以通过安装几个软件包来添加对https apt来源的支持:

apt-get install apt-transport-https ca-certificates

如果您apt-get太破了而无法执行此操作,则可以直接下载该软件包并使用进行安装dpkg -i。可以类似地跟踪和获取该程序包的任何其他依赖项(dpkg如果缺少任何内容,则会让您知道)。

如果仍然无法使用,您可以尝试编辑源条目以使用http代替https,或者只是将其删除并按照源维护者的指示重新开始。


对我来说,安装“ apt-transport-https”和“ ca-certificates”并不能解决问题,但是更新“ /etc/apt/sources.list.d/”中的文件(对我来说是nodesource.list )使用http而不是https修复了它
Harendra Singh

sudo dpkg -i <deb for apt-transport-https>为我工作,但该安装具有必须修复的依赖项,apt-get updateapt-transport-https软件包安装使我可以执行。
HeatfanJohn

“无法找到包apt-transport-https”
Anentropic

这完全为我解决了!谢谢你,谢谢你,谢谢你!
麦克·威尔斯

对我而言,实际上是导致上述问题的原因是http源。删除相应文件中的/etc/apt/sources.list.d/固定文件。
balu

7

对我来说,发生此问题是因为其中一个镜像总是重定向到https。因此,我的消息来源都不是https,但是由于重定向,apt最终将尝试从https站点获取内容。要解决此问题,我必须手动下载并安装:

  • libcurl3-nutls
  • apt-transport-https

(apt-transport-https依赖于libcurl3-gnutls)。

一旦安装了这些软件包,即使镜像位于https上,我也能够成功安装任何其他软件包。



0

第一次检查

/etc/apt/sources.list.d# ls -l

insgesamt 16
-rw-r--r-- 1 root root 142 Okt 12 14:12 jtaylor-keepass-jessie.list
-rw-r--r-- 1 root root 332 Okt 12 14:07 sources.list
-rw-r--r-- 1 root root  85 Okt 12 14:13 ubuntuzilla.list
-rw-r--r-- 1 root root  78 Okt  8 09:13 ubuntuzilla.list.save

删除所有其他租赁 sources.list

编辑 sources.list

/etc/apt/sources.list.d# cat sources.list 
deb http://security.debian.org/debian-security jessie/updates main    
deb http://ftp.debian.org/debian/ jessie-updates contrib main   
deb-src http://security.debian.org/ jessie/updates contrib main  
deb-src http://ftp.debian.org/debian/ jessie-updates contrib main 

再试一次:

sudo apt-get install apt-transport-https
sudo apt-get update
sudo apt-get upgrade

如果这不起作用,请通过浏览器安装:

选择一个包:

http://security-cdn.debian.org/debian-security/pool/updates/main/a/apt/

要么

http://security-cdn.debian.org/debian-security/pool/updates/main/a/apt/apt-transport-https_1.0.9.8.5_amd64.deb
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.