Ich hoffe, ich liege richtig, vor einigen Tagen ist apt-get auf meinem Raspberry Pi Model B rev. 2 (mit Openhabian) kaputtgegangen. Ich bin mir noch nicht sicher, warum, und konnte es nicht selbst reparieren.
Wenn ich es als Root versuche, apt-get update
erhalte ich die folgende Ausgabe:
[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
Wenn ich versuche, die Version von (https ist ein Link dazu) zu überprüfen , erhalte ich die folgende Ausgabe:
[15:59:05] root@openHABianPi:/home/openhabian# /usr/lib/apt/methods/http
Illegal instruction
Ich habe apt-transport-https
es installiert. Das habe ich auch getan apt-get autoremove
und es fehlen möglicherweise einige Abhängigkeiten von dem Paket /usr/lib/apt/methods/http
, zu dem es gehört, obwohl das meines Wissens nach nicht passieren sollte.
Ich danke Ihnen für Ihre Hilfe!
Bearbeitung 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
ich installiertelibapt-pkg5.0_1.4.9_armhf.debund konnte dann installierenapt_1.4.9_armhf.deb
Ich habe immer noch das Problem, dass apt-get update bei 0% [Working]
einer Quelle einfriert, dies kann immer noch an inkompatiblen Quellen liegen.
Bearbeitung 2:
Die Probleme wurden durch eine falsche Quelle verursacht, die von einem letsencrypt/certbot-Setup stammte. Ich habe alle verbleibenden Probleme beseitigt, indem ich die Quelle entfernt, meine Pakete auf stabil gesetzt (ich habe für viele Pakete „jetzt“ verwendet) und im Grunde sehr vorsichtig apt-get dist-upgrade
mit vielen manuellen Überprüfungen vorgegangen bin. Möglicherweise müssen Sie https-Quellen vorübergehend ausschließen, selbst wenn apt-transport-https installiert ist, da dies bei mir auch nicht funktioniert hat (fehlgeschlagen mit „Illegal instruction“ beim Aufruf oder /usr/lib/apt/methods/https
aufgrund von Abhängigkeiten).
Antwort1
Ich hoffe, bei Ihnen dpkg
funktioniert es immer noch einwandfrei ... Auf meinem Debian/MX-System (ebenfalls basierend auf Debian Stretch) /usr/lib/apt/methods/http
ist die Datei Teil des apt
Pakets, überprüft mit dpkg -S /usr/lib/apt/methods/http
.
Durchsuchen Sie Ihr mögliches Hauptrepositoryhttp://raspbian.raspberrypi.org/raspbian/dists/stretch/InReleaseund insbesondere inhttp://raspbian.raspberrypi.org/raspbian/dists/stretch/main/binary-armhf/Packages(es ist 59M) Ich sehe, es hat
Package: apt
Version: 1.4.9
Das ist auch die gleiche Versionsnummer wie bei mir. Ich vermute also, dass Ihr apt
Paket irgendwie durcheinander geraten ist, vielleicht hat eine inkompatible Version aus einer anderen Quelle es „aktualisiert“? Sie können die Version Ihres Apt mit einem der folgenden Verfahren überprüfen:
apt-cache showpkg apt
apt-cache show apt
ob apt-cache noch funktioniert, oderdpkg -s apt
dpkg-query --show apt
Hoffentlich ist es nicht 1.4.9, dann können Sie versuchen, diese Version zu installieren. Durchsuchen Sie das Repository weiter, http://raspbian.raspberrypi.org/raspbian/pool/main/a/apt/hat dieapt_1.4.9_armhf.debDatei.
[Es istDie Spiegelliste ist hier, mit weiteren Download-Links.]
Wenn Sie die .deb.-Datei herunterladen und mit installieren
dpkg -i apt_1.4.9_armhf.deb
das sollte eine hoffentlich gute Version von apt installieren.
Achten Sie darauf, Apt nicht noch einmal auf eine möglicherweise beschädigte Version zu „aktualisieren“. Ich würde den Quellcode aller Kandidaten prüfen apt-cache policy apt
und ggf. „fehlerhafte“ Quellen entfernen oder in Erwägung ziehen, apt
nur eine gute Quelle festzulegen (siehe man apt_preferences
) oder deren Version zu sperren.