Ошибка apt-get для openhabian при вызове '/usr/lib/apt/ Methods/http'

Я надеюсь, что я здесь, несколько дней назад apt-get сломался на моей Raspberry Pi Model B rev. 2 (работает Openhabian). Я пока не знаю, почему и не смог сам это исправить.

Когда я пытаюсь apt-get update как корень я получаю следующий вывод:

[15:58:05] root@openHABianPi:/home/openhabian# apt-get update
Reading package lists... Done
E: Method http has died unexpectedly!
E: Sub-process http received signal 4.
E: Method /usr/lib/apt/methods/http did not start correctly
E: Method https has died unexpectedly!
E: Sub-process https received signal 4.
E: Method /usr/lib/apt/methods/https did not start correctly
E: Method https has died unexpectedly!
E: Sub-process https received signal 4.
E: Method /usr/lib/apt/methods/https did not start correctly
E: Method https has died unexpectedly!
E: Sub-process https received signal 4.
E: Method /usr/lib/apt/methods/https did not start correctly
E: Method https has died unexpectedly!
E: Sub-process https received signal 4.
E: Method /usr/lib/apt/methods/https did not start correctly
E: Method http has died unexpectedly!
E: Sub-process http received signal 4.
E: Method /usr/lib/apt/methods/http did not start correctly
E: Method http has died unexpectedly!
E: Sub-process http received signal 4.
E: Method /usr/lib/apt/methods/http did not start correctly
E: Failed to fetch http://raspbian.raspberrypi.org/raspbian/dists/stretch/InRelease
E: Failed to fetch https://apt.homegear.eu/Raspbian/stretch/InRelease
E: Failed to fetch https://deb.debian.org/debian/dists/stretch-backports/InRelease
E: Failed to fetch https://mirrordirector.raspbian.org/raspbian/dists/testing/InRelease
E: Failed to fetch https://dl.bintray.com/openhab/apt-repo2/dists/stable/InRelease
E: Failed to fetch http://archive.raspberrypi.org/debian/dists/stretch/InRelease
E: Failed to fetch http://repos.azulsystems.com/debian/dists/stable/InRelease
E: Some index files failed to download. They have been ignored, or old ones used instead.

Когда я пытаюсь проверить версию /usr/lib/apt/methods/http (https - ссылка на это) Я получаю следующий вывод:

[15:59:05] root@openHABianPi:/home/openhabian# /usr/lib/apt/methods/http
Illegal instruction

я имею apt-transport-https установлены. Я тоже сделал apt-get autoremove и могут быть некоторые зависимости, отсутствующие в любом пакете /usr/lib/apt/methods/http это часть, даже жесткая, насколько я знаю, этого не должно случиться.

Спасибо за помощь!

Изменить 1:

[23:11:36] root@openHABianPi:/home/openhabian# dpkg -i apt_1.4.9_armhf.deb
dpkg: warning: downgrading apt from 1.8.0 to 1.4.9
(Reading database ... 47399 files and directories currently installed.)
Preparing to unpack apt_1.4.9_armhf.deb ...
Unpacking apt (1.4.9) over (1.8.0) ...
dpkg: dependency problems prevent configuration of apt:
 libapt-pkg5.0:armhf (1.8.0) breaks apt (<< 1.6~) and is installed.
  Version of apt to be configured is 1.4.9.

dpkg: error processing package apt (--install):
 dependency problems - leaving unconfigured
Processing triggers for libc-bin (2.28-8) ...
Processing triggers for man-db (2.7.6.1-2) ...
Errors were encountered while processing:
 apt

Я установил libapt-pkg5.0_1.4.9_armhf.deb, а затем смог установить apt_1.4.9_armhf.deb

У меня все еще есть проблема с обновлением apt-get 0% [Working] в одном источнике это может быть вызвано несовместимыми источниками.

Изменить 2:
Проблемы были вызваны неправильным источником, исходящим из letsencrypt / certbot-setup, я избавился от всех оставшихся проблем, удалив источник, закрепив мои пакеты в стабильном (использовал "сейчас" для большого количества пакетов) и в основном выполняя очень осторожно apt-get dist-upgrade с большим количеством ручной проверки. Возможно, вам придется временно исключить источники https даже при установленном apt-transport-https, так как он у меня тоже не сработал (сбой при "Недопустимой инструкции" при вызове /usr/lib/apt/methods/https из-за зависимостей).

1 ответ

Решение

Я надеюсь, что ваш dpkg все еще работает нормально... В моей системе Debian/MX (также основанной на растяжке Debian) /usr/lib/apt/methods/http файл является частью apt пакет, проверил с dpkg -S /usr/lib/apt/methods/http,

Просматривая, что может быть вашим основным хранилищем http://raspbian.raspberrypi.org/raspbian/dists/stretch/InRelease и, в частности, ищите http://raspbian.raspberrypi.org/raspbian/dists/stretch/main/binary-armhf/Packages (это 59M) я вижу, что есть

Package: apt
Version: 1.4.9

Какой номер версии тоже мой. Так что я угадываю твои apt пакет был как-то испорчен, возможно, несовместимая версия из другого источника "обновила" его? Вы можете проверить версию вашего apt с одним из:

  • apt-cache showpkg apt
  • apt-cache show apt если apt-cache все еще работает, или
  • dpkg -s apt
  • dpkg-query --show apt

Надеюсь, это не 1.4.9, так что вы можете попробовать установить эту версию. Просматривая больше через репозиторий, http://raspbian.raspberrypi.org/raspbian/pool/main/a/apt/ имеет файл apt_1.4.9_armhf.deb.

[Это зеркальный список здесь, с другими ссылками на скачивание.]

Если вы скачаете.deb. файл, и установите его с

dpkg -i apt_1.4.9_armhf.deb

это должно установить хорошую версию apt.

Будьте осторожны, чтобы не "обновить" apt снова до возможно сломанной версии, я бы проверил источник любых кандидатов с apt-cache policy apt и, возможно, удалить "плохие" источники, или рассмотреть возможность закрепления apt только для хорошего источника (см. man apt_preferences) или блокировка его версии.

Другие вопросы по тегам