apt-get fails: Не вдалося знайти драйвер методу / usr / lib / apt / method / https


43

Я спробував оновити свою ОС Debian jessie за допомогою терміналу, і я отримав помилку:

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

Мій джерел. список:

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 updateі aptitude update?


1
Майте на увазі, що використання HTTPS не має жодної переваги щодо цілісності, оскільки пакети мають підписи, які все одно перевірені - що, мабуть, ще краще, оскільки ви не довіряєте багатьом незалежним ЦО. Це може бути певною перевагою конфіденційності. Дивіться також: unix.stackexchange.com/questions/90227/…
Боб

Відповіді:


88

Схоже, ви могли додати деякі джерела https. Оскільки у вас немає джерел https sources.list, це було б щось у /etc/apt/sources.list.d/.

Ви також можете мати справу з проксі-сервером, який завжди переспрямовує на https.

Ви можете додати підтримку https доречних джерел, встановивши пару пакунків:

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

Якщо ваш файл apt-getзанадто зламаний, щоб зробити це, ви можете завантажити пакет безпосередньо та встановити його dpkg -i. Будь-які додаткові залежності цього пакета можна відстежувати і вибирати аналогічно ( dpkgповідомлять, якщо чогось немає).

Якщо вона все ще не працює, ви можете спробувати відредагувати вихідний запис, щоб використовувати http замість https, або просто видалити його та почати спочатку, дотримуючись вказівок сервісного сервера.


Для мене встановлення "apt-transport-https" та "ca-сертифікатів" не вирішило проблему, але оновлення файлів у "/etc/apt/sources.list.d/" (для мене це було nodesource.list ) використовувати http замість https виправлено це
Harendra Singh

sudo dpkg -i <deb for apt-transport-https>працював на мене, але ця установка мала залежність, яку мені довелося виправити apt-get update, і яку мені встановив пакет, встановлений для apt-transport-https.
HeatfanJohn

"Неможливо знайти пакет apt-transport-https"
Anentropic

Це повністю виправило це для мене! Дякую, дякую, дякую!
Майк Уіллз

Для мене насправді виявилося, що джерело http було причиною вищезгаданої проблеми. Видалення відповідного файлу у /etc/apt/sources.list.d/виправленому файлі .
balu

7

Для мене ця проблема сталася тому, що одне з дзеркал траплялося завжди перенаправляти на https. Тож жодне з моїх джерел не було https, але через переспрямування, apt в кінцевому підсумку намагатиметься щось знайти з веб-сайту https. Щоб вирішити це, мені довелося вручну завантажити та встановити:

  • libcurl3-gnutls і
  • apt-транспорт-https

(apt-транспорт-https мав залежність від libcurl3-gnutls).

Як тільки вони були встановлені, я зміг успішно встановити будь-який інший пакет, навіть якщо дзеркало було на https.


2

Є кілька можливих проблем, які можуть викликати це питання. Найімовірнішим рішенням буде запуск:

sudo apt-get install apt-transport-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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.