Warning message

This translation is outdated. For the most up-to-date information, please refer to the English version.

Wie führt man einen Rollback eines Updates auf Red Hat Enterprise Linux 6, 7 mithilfe von yum history durch?

Solution Verified - Updated -

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:

  • Folgendes ist ein Beispiel wie man yum verwenden kann um das screen 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 historyist 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 von package-cleanup --orphansvorzunehmen 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 --excludeArgument , 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.

  • Component
  • yum

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.