zur Startseite

Druckausgabe von https://privat.albicker.org
Iveco Daily 4x4, Hunde und multithematisches Blog

Defekte Pakete in Debian Sid

veröffentlicht am 30.03.2020 mit 1066 Worten - Lesezeit: 6 Minute(n) in * LINUX *

Neugierde und Vorsicht - zwei Eigenschaften, die man als IT-Nutzer abseits (aber auch innerhalb (!)) des Mainstreams mitbringen sollte. Für mich war es an der Zeit, mal wieder was Neues zu testen (zum Hintergrund in einem folgenden Beitrag mehr):

Nachdem ich meine ersten Linux-Schritte mit Debian gemacht hatte und zwischenzeitlich mit Fedora, Linux-Mint, Manjaro und Siduction längere, teils aber auch sehr kurze Erfahrungen gesammelt hatte, schließt sich der Kreis fast wieder. Die “Distribution der Wahl” aktuell heißt Debian Sid. Dazu heißt es auf der Debian Webseite:

Der Codename für Debians Entwicklungs-Distribution ist “Sid”, auch “Unstable” genannt. Der Hauptteil der Entwicklungsarbeit in Debian wird in diese Distribution hochgeladen. Diese Distribution wird niemals freigegeben; stattdessen verbreiten sich Pakete davon nach Testing und dann in ein offizielles Release.
(…)
“Sid” unterliegt gravierenden Änderungen und direkten Bibliotheksänderungen. Dies kann ein “instabiles” (unstable) System ergeben, das Pakete beinhaltet, die wegen fehlenden Bibliotheken nicht installiert werden können, Abhängigkeiten nicht auflösen kann usw. Benutzung auf eigene Gefahr!

Solcherarts gewarnt greift man dann ganz gerne nach den Hilfsmitteln, die einem geboten werden:

apt-get install apt-listbugs 

In der Paketbeschreibung heißt es:

apt-listbugs ist ein Werkzeug, das Fehlerberichte aus der Debian-Fehlerdatenbank abruft und auflistet. Insbesondere soll es vor jeder Installation/Upgrade von APT aufgerufen werden, um zu prüfen, ob die Installation/Upgrade sicher ist.

Und dann gibt es noch

apt-get install apt-listchanges

mit dem Zweck:

Das Werkzeug apt-listchanges kann eine neue Version eines Pakets mit der aktuell installierten vergleichen und zeigen, was sich geändert hat, indem es die relevanten Einträge aus dem Debian-Changelog und den NEWS-Dateien extrahiert.

So gerüstet geht es an das (tägliche) Update:

# apt update

und dann sollte man sich erstmal anzeigen lassen, was da alles an neuen Paketen vorliegt:

# apt list --upgradable -a

Das Update startet dann nach einem

# apt full-upgrade

(Achtung, im Gegensatz zu einem einfachen upgrade werden mit full-upgrade auch Pakete entfernt)

Wenn die nötigen Update-Infos alle beisammen sind, werden im nächsten Schritt die Fehlerberichte geladen und ausgegeben:

(...)
Holen:534 http://ftp.de.debian.org/debian unstable/main amd64 vlc-plugin-visualization amd64 3.0.8-4+b1 [143 kB]
Holen:535 http://ftp.de.debian.org/debian unstable/main amd64 xfburn amd64 0.6.2-1 [542 kB]               
Es wurden 953 MB in 10 min 17 s geholt (1.544 kB/s).                                                      
Laden der Fehlerberichte … Erledigt
»Found/Fixed«-Informationen werden ausgewertet … Erledigt
critical Fehler von libdns-export1110 (→ 1:9.11.17+dfsg-4) <Ausstehend>
 b1 - #954736 - Upgrade to 9.16.1-1 causes dhcpd to die with SIGABRT
serious Fehler von libstdc++6 (10-20200304-1 → 10-20200324-1) <Ausstehend>
 b2 - #954954 - libstdc++6: symbols file on armel incomplete
serious Fehler von ghostscript (9.51~dfsg-1 → 9.52~dfsg-1) <Ausstehend>
 b3 - #954901 - ghostscript: runtime error: malloc(): invalid size (unsorted)
serious Fehler von git (1:2.25.1-1 → 1:2.26.0-1) <Ausstehend>
 b4 - #955152 - git-rebase ignores or squashes GIT_REFLOG_ACTION (Gelöst: git/1:2.11.0-3+deb9u5 git/1:2.25.1-1)
grave Fehler von libglx-mesa0 (19.3.3-1 → 20.0.2-1) <Weitergeleitet>
 b5 - #954311 - libglx-mesa0: Drawing artifacts make some programs unusable
serious Fehler von ruby2.7 (→ 2.7.0-4) <Weitergeleitet>
 b6 - #954419 - ruby2.7: FTBFS since openssl 1.1.1e
Zusammenfassung:
 libstdc++6(1 Fehler), libdns-export1110(1 Fehler), ghostscript(1 Fehler), libglx-mesa0(1 Fehler), git(1 Fehler), ruby2.7(1 Fehler)
Sind Sie sicher, dass Sie die oben genannten Pakete installieren bzw. ein Upgrade von ihnen durchführen wollen? [Y/n/?/...] ?

Neben ‘ja’ und ‘nein’ werden weitere Optionen angeboten, die nach Eingabe des ? angezeigt werden:

     y        - setzt die APT-Installation fort, die Fehler werden jedoch nicht
                als ignoriert gekennzeichnet.
     a        - setzt die APT-Installation fort und kennzeichnet alle oben
                genannten Fehler als ignoriert.
     n        - stoppt die APT-Installation.
   <num>      - fragt die angegebene Fehlernummer ab
                (verwendet querybts als Anwender benutzer).
  #<num>      - identisch mit <num>.
   b<id>      - identisch mit <num>, fragt aber den durch <id> identifizierten
                Fehler ab.
     r        - zeigt die Fehlerlisten erneut an.
 p <Pakete …> - pinnt die Pakete (Neustart der APT-Sitzung zum Aktivieren).
 p            - pinnt alle oben genannten Pakete (Neustart der APT-Sitzung zum
                Aktivieren).
 i <num>      - kennzeichnet die Fehlernummer <num> als ignoriert.
 i b<id>      - kennzeichnet den durch <id> identifizierten Fehler als
                ignoriert.
     ?        - gibt diese Hilfe aus.
     w        - zeigt Fehlerlisten in HTML
                (verwendet sensible-browser als Anwender benutzer).

Gibt man hier ein p ein, dann werden die in der Fehlerliste genannten Pakete gepinnt, d. h. nicht aktualisiert, sondern in ihrer derzeitigen Version quasi “eingefroren”:

Sind Sie sicher, dass Sie die oben genannten Pakete installieren bzw. ein Upgrade von ihnen durchführen wollen? [Y/n/?/...] p
Die folgenden 6 Pakete werden gepinnt oder auf »on hold« gesetzt:
 libglx-mesa0, ruby2.7, libdns-export1110, ghostscript, libstdc++6, git
Sind Sie sicher? [Y/n] y
libglx-mesa0 ruby2.7 libdns-export1110 ghostscript libstdc++6 git wurde gepinnt, indem die Pin-Präferenzen in /etc/apt/preferences.d/apt-listbugs gesetzt wurden. Sie müssen zum Aktivieren die APT-Sitzung neu starten
Sind Sie sicher, dass Sie die oben genannten Pakete installieren bzw. ein Upgrade von ihnen durchführen wollen? [N/?/...] 

Dabei erscheint in /etc/apt/preferences.d eine Datei apt-listbugs mit folgendem Inhalt

Explanation: Pinned by apt-listbugs at 2020-03-30 09:33:43 +0200
Explanation:   #954311: libglx-mesa0: Drawing artifacts make some programs unusable
Package: libglx-mesa0
Pin: version 19.3.3-1
Pin-Priority: 30000

Explanation: Pinned by apt-listbugs at 2020-03-30 09:33:43 +0200
Explanation:   #954419: ruby2.7: FTBFS since openssl 1.1.1e
Package: ruby2.7
Pin: version *
Pin-Priority: -30000

Explanation: Pinned by apt-listbugs at 2020-03-30 09:33:43 +0200
Explanation:   #954736: Upgrade to 9.16.1-1 causes dhcpd to die with SIGABRT
Package: libdns-export1110
Pin: version *
Pin-Priority: -30000

Explanation: Pinned by apt-listbugs at 2020-03-30 09:33:43 +0200
Explanation:   #954901: ghostscript: runtime error: malloc(): invalid size (unsorted)
Package: ghostscript
Pin: version 9.51~dfsg-1
Pin-Priority: 30000

Explanation: Pinned by apt-listbugs at 2020-03-30 09:33:43 +0200
Explanation:   #954954: libstdc++6: symbols file on armel incomplete
Package: libstdc++6
Pin: version 10-20200304-1
Pin-Priority: 30000

Explanation: Pinned by apt-listbugs at 2020-03-30 09:33:43 +0200
Explanation:   #955152: git-rebase ignores or squashes GIT_REFLOG_ACTION
Package: git
Pin: version 1:2.25.1-1
Pin-Priority: 30000

Will man zu einem späteren Zeitpunkt die Pakete (oder einzelne davon) wieder aktualisieren, dann kann man die Datei oder eben Einträge darin entsprechend entfernen.

In der Einleitung zu diesem Beitrag war von Risiken und Nebenwirkungen die Rede. Diese können sein:

Das wird dann immer mehr zu einem Job für Vollzeit-Admins oder eben auch Nerds …

 

weitere Artikel