Centos: Yum Installation rückgängig machen mit undo
Das haben viele Linux-Admins bestimmt schon erlebt. Da hat man in Gedanken versunken einen Update mit Yum durchgeführt und schon war der neue Kernel und die aktuelle Software auf dem Server installiert. An sich nicht schlecht. – Nur was tun, wenn eine bestimmte Hardware eine definierte Version einer Software verlangt oder der Anbieter einer kommerziellen Software bestimmte Bibliotheken voraussetzt?
In vielen Fällen reicht es bereits die fragliche Software zu de-installieren. Das geht an sich mit „yum remove <Paketname>. Vielen IT-Admins ist aber gar nicht geläufig, daß yum auch einzelne Transaktionen – also Updates und Software-Installationen – rückgängig machen kann. Auf diese Weise kann man gezielt eine einzige Aktion im Yum rückgängig machen. Das geht so:
Wir lassen uns zunächst mit „yum history“ die Liste der letzten Aktionen anzeigen. Diese werden übersichtlich mit Transaktions-Nummer (ID), der konkreten Befehlszeile, der genauen Uhrzeit sowie dem Datum angezeigt. In der vorletzten Spalte findet sich die Aktion (Install, Update, Erase) und am Ende die Anzahl der betroffenen Software-Pakete.
[root@host ~]# yum history Geladene Plugins: fastestmirror, priorities ID | Befehlszeile | Datum und Zeit | Aktion(en) | Verände ------------------------------------------------------------------------------- 79 | update | 2019-06-22 11:16 | I, U | 58 EE … 77 | | 2019-03-28 07:59 | Erase | 6 … 74 | update | 2018-12-19 12:38 | E, I, O, U | 366 EE 73 | -y install rear sshfs | 2018-11-09 18:30 | Install | 8
Hier kann man gut erkennen, daß zuletzt am 22.06.2019 ein Update lief (yum update), der insgesamt 58 Pakete aktualisiert bzw. installiert hat. All das wurde in der Transaktion 79 gespeichert. Wenn wir etwas weiter zurück im Kalender gehen, dann finden wir in der Transaktion 73 die Installation von 2 Software-Paketen, die noch 6 weitere Programm-Pakete nach sich zog (Spalte Veränderung rechts außen).
Wenn man nun etwa die Transaktion mit der ID 73 (Installation von rear und sshfs) rückgängig machen möchte, dann geht das mit “yum history undo <Transaktions-ID>”
[root@host ~]# yum history undo 73 Geladene Plugins: fastestmirror, priorities Undoing transaction 73, from Fri Nov 9 18:30:39 2018 Abhängigkeiteninstallation attr-2.4.46-13.el7.x86_64 @base Abhängigkeiteninstallation fuse-2.9.2-10.el7.x86_64 @base Installieren fuse-sshfs-2.10-1.el7.x86_64 @epel Abhängigkeiteninstallation genisoimage-1.1.11-23.el7.x86_64 @base Abhängigkeiteninstallation libusal-1.1.11-23.el7.x86_64 @base Abhängigkeiteninstallation mtools-4.0.18-5.el7.x86_64 @base Installieren rear-2.00-7.el7_5.x86_64 @updates Abhängigkeiteninstallation syslinux-4.05-13.el7.x86_64 @base Kein Paket zum Entfernen gefunden: fuse-0:2.9.2-10.el7 Kein Paket zum Entfernen gefunden: genisoimage-0:1.1.11-23.el7 Kein Paket zum Entfernen gefunden: libusal-0:1.1.11-23.el7 Kein Paket zum Entfernen gefunden: rear-0:2.00-7.el7_5 Kein Paket zum Entfernen gefunden: syslinux-0:4.05-13.el7 Abhängigkeiten werden aufgelöst --> Transaktionsprüfung wird ausgeführt ---> Paket attr.x86_64 0:2.4.46-13.el7 markiert, um gelöscht zu werden --> Abhängigkeit attr wird für Paket rear-2.4-4.el7_6.x86_64 verarbeitet ---> Paket fuse-sshfs.x86_64 0:2.10-1.el7 markiert, um gelöscht zu werden ---> Paket mtools.x86_64 0:4.0.18-5.el7 markiert, um gelöscht zu werden --> Abhängigkeit mtools wird für Paket syslinux-4.05-15.el7.x86_64 verarbeitet --> Transaktionsprüfung wird ausgeführt ---> Paket rear.x86_64 0:2.4-4.el7_6 markiert, um gelöscht zu werden ---> Paket syslinux.x86_64 0:4.05-15.el7 markiert, um gelöscht zu werden --> Abhängigkeitsauflösung beendet Abhängigkeiten aufgelöst ========================================================================================================================================================================================== Package Arch Version Paketquelle Größe ========================================================================================================================================================================================== Entfernen: attr x86_64 2.4.46-13.el7 @base 169 k fuse-sshfs x86_64 2.10-1.el7 @epel 103 k mtools x86_64 4.0.18-5.el7 @base 325 k Entfernt für Abhängigkeiten: rear x86_64 2.4-4.el7_6 @updates 2.0 M syslinux x86_64 4.05-15.el7 @base 2.3 M Nicht installiert: syslinux x86_64 4.05-13.el7 - 0.0 libusal x86_64 1.1.11-23.el7 - 0.0 fuse x86_64 2.9.2-10.el7 - 0.0 genisoimage x86_64 1.1.11-23.el7 - 0.0 rear x86_64 2.00-7.el7_5 - 0.0 Transaktionsübersicht ========================================================================================================================================================================================== Entfernen 3 Pakete (+2 Abhängige Pakete) Nicht installiert 5 Pakete Installationsgröße: 4.9 M Ist dies in Ordnung? [j/N] :
Eine kurze Bestätigung mit „J“ bzw. „y“ und die Software wird entfern. Die selektive De-Installation bzw. das Rückgängig machen von Paket-Updates funktioniert sowhl unter Centos 6 als auch Centos 7.
- Über den Autor
- Aktuelle Beiträge
Matthias Böhmichen ist der Gründer der Website howto-do.it . Linux nutzt er seit 1991 um kurz danach Windows zu entdecken. Er entdeckt gerne neue Technologien und verbringt seine Zeit damit, sie für Kunden nutzbar zu machen. Im Hauptberuf ist er CEO der Biteno GmbH