Linux: "dpkg - nicht behebbarer fataler Fehler" - wie behebe ich das?
Ich wollte aus Github ein Projekt testen.
Offenbar brauche ich dazu mind. Python3.8 - hab aber nur 3.7 auf meinem Raspi.
Also upgrade versuchen. Es machte eine Weile rum...
Dann: "dpkg: nicht behebbarer fataler Fehler, Abbruch:
Abschließender Zeilenvorschub fehlt in Dateilisten-Datei des Paketes »libksba8:armhf«"
Toll. Ich finde den Hinweis, daß ich nach der .list-Datei sehen soll...
Ich suche mir also die libksba8.list und sehe mir sie an, was das Problem ist...
Diese Textdatei ist offensichtlich etwas zerstört, weil sie fehlerhafte Zeichen enthält und nicht nur einen fehlenden Zeilenvorschub hat.
Kann es sein, daß die Quelle eine beschädigte Datei ausliefert? -> wie ändere ich die Quelle?
Kann es sein, daß meine SD-Karte einen Schuss hat? -> wo bekomme ich ein neues Linux für meinen Raspi?
Kann ich diese libksba8 auch einfach skippen? Es kann doch nicht sein, daß eine Lib den gesamten upgrade-Vorgang aufhält?!
3 Antworten
Kann es sein, daß die Quelle eine beschädigte Datei ausliefert?
In der Regel nicht.
wie ändere ich die Quelle?
Am besten gar nicht. Man sollte immer das Original verwenden.
Kann es sein, daß meine SD-Karte einen Schuss hat?
Das ist nicht auszuschließen.
wo bekomme ich ein neues Linux für meinen Raspi?
https://www.raspberrypi.com/software/
Kann ich diese libksba8 auch einfach skippen?
Im Prinzip ja, aber ggf nicht folgenlos.
Es kann doch nicht sein, daß eine Lib den gesamten upgrade-Vorgang aufhält?!
Doch. Andere Software ist ggf. abhängig von der Bibliothek.
Natürlich benötigst Du Root-Rechte dafür. Also entweder als Root anmelden oder mit sudo.
Ich vermute mal das zwischen einigen Paketen die Abhängigkeiten defekt sind...öffne mal das Terminal und gib diesen Befehl ein.
sudo apt-get -f install
Dieser Befehl repariert automatisch kaputte oder defekte Pakete.
Hat nicht funktioniert, das Paket ist weiterhin kaputt.
Hab jetzt eine neue SD-Karte und neustes OS.
apt upgrade aktualisiert die Pakete einfach auf die neuste Version, die in den Paketquellen freigegeben sind. Das ist im Falle von Python derzeit noch Version 3.7. Die Aktualisierung hätte dir also für das Github Projekt nichts gebracht.
Was ist nun also das Problem? Mit den Deutschen Übersetzungen habe ich immer ein wenig Mühe, ich habe meine Systeme auf Englisch gestellt. Die meisten Probleme lassen sich aber meist mit folgendem beheben:
sudo apt update --fix-missing
sudo apt upgrade -f
Diese Textdatei ist offensichtlich etwas zerstört, weil sie fehlerhafte Zeichen enthält und nicht nur einen fehlenden Zeilenvorschub hat.
Kommt drauf an, mit welcher Kodierung du diese geöffnet hast. Mit WinSCP gibts da teils Probleme. Sollte eigentlich nichts passiert sein.
Kann es sein, daß die Quelle eine beschädigte Datei ausliefert?
Nein, die Pakete werden (vor allem bei Debian) strengstens getestet, bevor diese in die Stable-Repos kommen.
wie ändere ich die Quelle?
In /etc/apt/sources.list bzw. in den Dateien innerhalb /etc/apt/sources.list.d/. Ist aber nicht zu empfehlen. Wenn du nicht genau weisst, was du da machst, am besten die Finger davon lassen.
Kann es sein, daß meine SD-Karte einen Schuss hat?
Könnte sein, aber eher unwahrscheinlich. Sonst hättest du auch andere gröbere Probleme.
Kann ich diese libksba8 auch einfach skippen? Es kann doch nicht sein, daß eine Lib den gesamten upgrade-Vorgang aufhält?!
Wenn ein Package dieses andere Package braucht, dann braucht es das auch. Andernfalls funktioniert es nicht. Skippen geht zwar schon, die Funktionalität ist dann einfach nicht gewährleistet.
> Könnte sein, aber eher unwahrscheinlich. Sonst hättest du auch andere gröbere Probleme.
Ich hatte nach einem Neustart plötzlich keine Taskbar mehr, und somit gröbere Probleme (als Linux Dummy).
Hab mir jetzt eine neue SD-Karte erstellt. Bis auf etwas knappen Speicherplatz (4GB-Kärtchen), läuft das System (für meine Zwecke).
Ich wollte dann diesen info-Order umbenennen, damit die Dateien an anderer Stelle auf der SD-Karte neu geschrieben werden können (hab ich mir überlegt), aber "Zugriff verweigert".