Wie führt man einen Rollback eines Updates auf Red Hat Enterprise Linux 6, 7 mithilfe von yum history durch?
Environment
- Red Hat Enterprise Linux 6 , 7
- yum
Issue
- Wie führt man einen Rollback eines Updates auf Red Hat Enterprise Linux 6, 7 mithilfe von yum history durch?
- Wie wird yum history verwendet?
- Beste Methode um ein yum Patching einfach Rückgängig zu machen
Resolution
Anmerkung: Ein Rollback von selinux
, selinux-policy-*
, kernel
, glibc
(Abhängigkeiten von glibc wie gcc) Paketen auf eine ältere Version wird nicht unterstützt. Darum werden Systemdowngrades auf eine untergeordnete Version (=minor version, bsp. von Red Hat Enterprise Linux 6.1 auf 6.0) nicht empfohlen, da dies zu einem unerwünschten Ergebnis führen kann. Verwenden Sie die yum history
Option für kleinere Update Rollbacks.
-
Falls Sie sich doch entscheiden ein Rollback anstatt einer Neuinstallation durchzuführen, bitte werfen Sie einen Blick auf folgende Dokumentationen:
- RHEL 6 Deployment Guide - 8.3.3. Reverting and Repeating Transactions
- RHEL 7 System Admin Guide - 7.4.3. Reverting and Repeating Transactions
-
Folgendes ist ein Beispiel wie man
yum
verwenden kann um dasscreen
Paket zu installieren und zu entfernen:-
Als Erstes wird das
screen
RPM installiert# yum install screen <snip> Dependencies Resolved ================================================================================= Package Arch Version Repository Size ================================================================================= Installing: screen i686 4.0.3-16.el6 rhel-6-server-rpms 484 k <snip> Installed: screen.i686 0:4.0.3-16.el6 Complete!
-
Als Nächstes muss die Transaktions-ID ausfindig gemacht werden , um dessen "Zurücksetzung" zu ermöglichen
# yum history Loaded plugins: product-id, refresh-packagekit, subscription-manager Updating Red Hat repositories. ID | Login user | Date and time | Action(s) | Altered ------------------------------------------------------------------------------- 8 | root <root> | 2011-10-03 14:40 | Install | 1 7 | root <root> | 2011-09-21 04:24 | Install | 1 ## 6 | root <root> | 2011-09-21 04:23 | Install | 1 ## 5 | root <root> | 2011-09-16 13:35 | Install | 1 4 | root <root> | 2011-09-16 13:33 | Erase | 1 3 | root <root> | 2011-09-14 14:36 | Install | 1 2 | root <root> | 2011-09-12 15:48 | I, U | 80 1 | System <unset> | 2011-09-12 14:57 | Install | 1025
-
Die Transkations-ID die hier relevant ist, ist die '8', also nun kann man mit der Zurücksetzung fortfahren. Falls vor der Zurücksetzung noch weitere Informationen zur Überprüfung der Transaktion notwendig sind, dann kann man
yum history info 8
dazu verwenden# yum history undo 8 Loaded plugins: product-id, refresh-packagekit, subscription-manager Updating Red Hat repositories. Undoing transaction 8, from Mon Oct 3 14:40:01 2011 Install screen-4.0.3-16.el6.i686 Resolving Dependencies --> Running transaction check ---> Package screen.i686 0:4.0.3-16.el6 will be erased --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Removing: screen i686 4.0.3-16.el6 @rhel-6-server-rpms 783 k <snip> Removed: screen.i686 0:4.0.3-16.el6 Complete!
-
Diagnostic Steps
-
Es wird immer empfohlen ein vollständiges System-Backup vor jedem Update zu erstellen.
yum history
ist kein Ersatz für System-Backups. -
Eine allgemeine Dokumentation des Systemstatus vor und nach dem Patching ist ein bewährtes Verfahren. Das sollte auch das Ausführen von
package-cleanup
mit folgenden Argumenten --orphans, --problems, --dupes, --leaves beinhalten. -
yum history undo
braucht einen Zugriff auf alle vorigen RPM Versionen also muss man sichergehen, dass die älteren RPM Versionen dem System auch zur Verfügung stehen. Es ist empfehlenswert vor den Updates eine genauere Untersuchung des Outputs vonpackage-cleanup --orphans
vorzunehmen um herauszufinden welche der aktuell installierten RPMs in den aktivierten Repository nicht mehr zur Verfügung stehen. Dies sollte kein Grund zur Sorge sein falls die standardmäßigen RHEL Repository von Red Hat verwendet werden, da dort mehrere RPM Versionen instand gehalten werden. -
Sollte
yum history undo
ein Problem mit einem Paket haben, dann gibt es die Möglichkeit es auszuschließen mithilfe von dem--exclude
Argument , und dann kann man die Ausnahme manuell weiter behandeln. -
Nach jeder RPM-Änderung wird empfohlen yum Output/Logs nach Meldungen und/oder rpm{new,orig,save} Dateien zu kontrollieren.
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.
Comments