问题描述
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更新时会出现这些错误?
最佳解决思路
尝试:
sudo apt-get install apt-transport-https
次佳解决思路
我也遇到了这个问题。我无法通过安装apt-transport-https
来修复它,因为我已经在相关机器上完成了任何软件包更新,并且我需要的那个软件包的版本在软件包存储库中不再可用,这已经有一段时间了。 (为了获得一个可用的版本,我首先必须能够成功地获得apt-get update
。)因此,我被迫追查apt-get突然尝试使用HTTPS的原因,并阻止它这样做。
就我而言,事实证明,我的/etc/apt/sources.list.d
目录中配置文件中列出的third-party合适源之一已经切换到使用HTTPS进行所有下载,并且他们已开始将http://
URL重定向到https://
URL。即使没有我的源配置请求它,这也正在尝试使用HTTPS。 (我通过在我的Web浏览器中打开源代码库URL,发现这一点,并注意到当页面加载时,地址栏中的URL变为https://
。)
由于这是third-party存储库,因此non-essential,我只是暂时禁用该来源,然后重新apt-get update
,它没有问题。 apt-get update
,apt-get upgrade
和apt-get install apt-transport-https
后,我能够re-enable third-party的源,并从那里的一切工作。
第三种解决思路
检查此目录中的文件:/etc/apt/sources.list.d
其中一个文件以HTTPS开头。通过在开头添加#注释该行并尝试:apt-get update