yum historyコマンドは、Linux システムでのパッケージのインストールと更新を追跡・管理するための、システム管理者向けの強力なツールです。このコマンドはすべての Yum トランザクションに関する詳細情報を提供し、問題のトラブルシューティング、変更のロールバック、システム変更の監査を容易にします。
このガイドでは、yum historyコマンドの使い方、その出力の読み方、トランザクションの取り消しなどの具体的な操作について説明します。
yum historyコマンドは何をするものですか?
yum historyコマンドを使うと、システム管理者は Yum トランザクションの履歴を確認できます。履歴には次の情報が含まれます:
- トランザクションの日時。
- 影響を受けたパッケージの数。
- トランザクションが成功したか、中止されたか。
- トランザクション間における RPM データベースの変更。
- 特定のトランザクションを取り消したり、やり直したりできること。
Yum トランザクション履歴の表示
トランザクション履歴を表示するには、次のコマンドを実行します:
sudo yum history
パスワードの入力を求められます。認証されると、次のような表が表示されます:
Loaded plugins: langpacks, product-id, search-disabled-repos
ID | Login user | Date and time | Action(s) | Altered
------------------------------------------------------------
48 | System <unset> | 2021-04-14 15:00 | Update | 10 <
47 | System <unset> | 2021-04-08 09:50 | E, I, U | 45 >E
46 | Jose ... <jose>| 2021-04-07 15:47 | Install | 23
45 | Jose ... <jose>| 2021-04-06 08:57 | Install | 1
出力の主要な列:
- ID:トランザクション ID。各操作に固有のものです。
- ログインユーザー:トランザクションを開始したユーザー。
- 日時:トランザクションが発生した日時。
- アクション:実行された操作の種類。例:
Install、Update、Erase。 - 変更数:そのトランザクションによって影響を受けたパッケージの数。
特定のトランザクションの詳細情報の表示
特定のトランザクションの詳細を確認するには、そのトランザクション ID を次のコマンドと一緒に使用します:
sudo yum history info <Transaction ID>
たとえば、トランザクション ID 41 の詳細を表示するには:
sudo yum history info 41
これにより、トランザクションに関する次のような詳細情報が出力されます:
Transaction ID : 41
Begin time : Wed Mar 24 16:01:29 2021
End time : 16:01:30 2021 (1 seconds)
User : Jose Andres Navarro Varela <jose>
Command Line : -y install openvpn
Transaction performed with:
Installed rpm-4.11.3-45.el7.x86_64 @RHEL-79-x86_64
Installed yum-3.4.3-168.el7.noarch @RHEL-79-x86_64
Packages Altered:
Install openvpn-2.4.10-1.el7.x86_64 @epel
Dep-Install pkcs11-helper-1.11-3.el7.x86_64 @epel
Return-Code : Success
この情報により、トランザクション中に何がインストールまたは更新されたかを明確に把握できます。
トランザクションの取り消し
特定のトランザクションを取り消す必要がある場合は、次のコマンドを使用できます:
sudo yum history undo <Transaction ID>
たとえば、トランザクション ID 41 を取り消すには:
sudo yum history undo 41
これにより、そのトランザクション中に行われた変更が元に戻ります。一部のトランザクションは完全には元に戻せない場合があることに注意してください。特に、後続のトランザクションがそれらに依存している場合はそうです。
実用的なユースケース:yum history
- パッケージの問題のトラブルシューティング:問題のあるパッケージがいつインストールまたは更新されたかを特定します。
- 変更の監査:誰がいつシステムを変更したかを追跡します。
- 更新のロールバック:失敗した更新や不要な更新を取り消します。
- パッケージ依存関係の管理:トランザクション中にインストールまたは削除された依存関係を把握します。
参考資料
詳しくは、Yum の公式ドキュメントを参照してください:
まとめ
yum historyコマンドは、Linux システムでのパッケージのインストールと更新を管理し、トラブルシューティングを行うための不可欠なツールです。その機能を活用することで、システムのパッケージ管理をより適切に制御し、環境全体の安定性を確保できます。