Zum Hauptmenü

Mit aptitude einzelne Pakete downgraden

Jörg Kruse

Wer Debian Testing oder Unstable auf seinem Rechner installiert hat, kann hin und wieder mit dem Problem konfrontiert werden, dass eine Anwendung nach einer Aktualisierung nicht mehr wie gewünscht funktioniert. Das Programm apt-listbugs kann vor einem Upgrade auf kritische Bugs hinweisen, falls es hierzu schon einen entsprechenden Bugreport gibt. Wenn man bereits eine defekte Version installiert hat und es keinen Workaround für einen schwerwiegenden Fehler gibt, bleibt einem manchmal aber nur, das betreffende Programm wieder auf die alte funktionierende Version downzugraden.

Mit „aptitude versions“ kann man sich die verfügbaren Versionen anzeigen lassen, z.B. von einem fiktiven Paket xyz:


aptitude versions xyz

Ist die alte Version nicht mehr verfügbar, kann diese ggf. über snapshot.debian.org bezogen werden. Dort sucht man den letzten Snapshot, der die alte Version noch enthielt und fügt dann gemäß der Anleitung auf der Startseite in der sources.list einen temporären Eintrag hinzu, z.B. für den Snapshot vom 09.08.2017 16:31 Uhr für Debian Buster:


deb http://snapshot.debian.org/archive/debian/20170809T163146Z/ buster main

Nach einem „aptitude update“ sollte dann die alte Version zur Verfügung stehen, was sich wieder mit „aptitude versions“ überprüfen lässt. Das Paket kann man dann downgraden, indem man die dort aufgeführte Versionsbezeichnung mit einem Gleichheitszeichen an den Paketnamen anhängt, z.B. die Version „1:2.3.4-5“:


aptitude install xyz=1:2.3.4-5

Den Eintrag in der sources.list sollte man danach wieder entfernen. Damit das Paket beim nächsten Upgrade nicht wieder auf die defekte Version aktualisiert wird, setzt man es noch auf „hold“:


aptitude hold xyz

Natürlich verfolgt man noch den betreffenden Bugreport. Sobald der Fehler in einer neueren Version behoben ist und diese verfügbar ist, gibt man das Paket wieder für das Upgrade frei:


aptitude unhold xyz
Tags: Debian

Die Kommentarfunktion wurde nach 180 Tagen automatisch geschlossen.