注意 :selinux のロールバック 、selinux-policy-* 、カーネル 、glibc (gcc などの glibc の依存関係) 古いバージョンへのパッケージはサポートされていません .したがって、システムをマイナー バージョン (例:RHEL6.6 から RHEL6.5) にダウングレードすることは、システムが望ましくない状態のままになる可能性があるため、お勧めしません。小さな更新のロールバックには、yum history オプションを使用します。
yum がトランザクション履歴を保存する方法
yum は sqlite を保存します 各トランザクションに関する情報のデータベース。履歴はトランザクション ID の用語で編成されており、yum トランザクションがシステムのパッケージ構成に影響を与えるたびに更新されます。ほとんどの場合、このデータベースは /var/lib/yum/history/ にあります ディレクトリ。 「おいしい歴史」 コマンドを使用すると、ユーザーはトランザクションの履歴を表示できます。次のコマンドは、すべてのトランザクションの履歴を一覧表示します:-
# yum history list all
これにより、日時、実行されたアクション、および変更されたパッケージの数とともに、トランザクション ID がリストされます。特定のトランザクションの詳細については、そのトランザクションのトランザクション ID をメモして、以下のコマンドで使用してください:
# yum history info [transaction_ID]
RPM アンインストールのロールバック
パッケージ (firefox) のアンインストールをロールバックする例を見てみましょう。
1.以前にインストールされた Firefox のバージョンを確認してください:
# rpm -qa | grep -i firefox firefox-52.0-5.el7_3.x86_64 ======> Current version of rpm
2. Firefox パッケージを削除
# yum remove firefox
3. コマンド yum history を使用して、過去のすべての yum トランザクションを確認します。
# yum history Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. ID | Login user | Date and time | Action(s) | Altered ------------------------------------------------------------------------------- 20 | root [root] | 2017-05-24 09:48 | Erase | 1 ====> the firefox rpm removed here 19 | root [root] | 2017-05-24 09:47 | I, U | 14 18 | root [root] | 2017-05-05 07:13 | Install | 1 < 17 | System [unset] | 2016-12-27 16:46 | Update | 2 > 16 | root [root] | 2016-10-19 16:02 | Install | 1 < 15 | root [root] | 2016-05-14 14:18 | Install | 1 > 14 | root [root] | 2016-05-14 13:52 | Install | 4 13 | root [root] | 2016-05-14 13:37 | Install | 2 12 | root [root] | 2016-05-14 13:35 | Install | 88 11 | root [root] | 2016-05-14 13:17 | Install | 1 history list
4. yum history undo を使用して、パッケージのアンインストールをロールバックします。 指図。トランザクション ID 20 に注意してください Firefox パッケージのアンインストール トランザクションの。最新のトランザクションは常にテーブルの一番上にあります。
# yum history undo 20 Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. Undoing transaction 20, from Wed May 24 09:48:41 2017 Erase firefox-52.0-5.el7_3.x86_64 @BAVA Resolving Dependencies --> Running transaction check ---> Package firefox.x86_64 0:52.0-5.el7_3 will be installed --> Finished Dependency Resolution Dependencies Resolved =============================================================================================================================================================================================== Package Arch Version Repository Size =============================================================================================================================================================================================== Installing: firefox x86_64 52.0-5.el7_3 BAVA 83 M Transaction Summary =============================================================================================================================================================================================== Install 1 Package Total download size: 83 M Installed size: 150 M Is this ok [y/d/N]: y Downloading packages: firefox-52.0-5.el7_3.x86_64.rpm | 83 MB 00:00:01 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : firefox-52.0-5.el7_3.x86_64 1/1 Verifying : firefox-52.0-5.el7_3.x86_64 1/1 Installed: firefox.x86_64 0:52.0-5.el7_3 Complete!
5. 上記のコマンドは、前のトランザクションをロールバックしました。これで、Firefox の rpm を確認できます。以前にインストールされたものとまったく同じバージョンを取得する必要があります。
# rpm -qa | grep -i firefox firefox-52.0-5.el7_3.x86_64更新の前に完全なシステム バックアップを実行することを常にお勧めします。yum 履歴はシステム バックアップを置き換えるものではありません。