「YumHistory」を使用してインストールまたは削除されたパッケージ情報を確認する方法


YUMは、RHEL/CentOSシステム用のインタラクティブなrpmベースの高レベルパッケージマネージャーであり、ユーザーが新しいパッケージをインストールしたり、古い/不要なパッケージを削除/消去したりできるようにします。システムの更新を自動的に実行し、依存関係の分析を実行し、インストールされたパッケージや利用可能なパッケージなどに対してクエリを実行することもできます。

この記事では、インストールされたパッケージとシステムから削除/消去されたパッケージに関する情報を見つけるために、YUMトランザクションの履歴を表示する方法について説明します。

以下は、YUMhistoryコマンドの使用方法の例です。

完全なYUM履歴を表示する

YUMトランザクションの完全な履歴を表示するには、以下のコマンドを実行して、トランザクションID、特定のアクションを実行したログインユーザー、操作が発生した日時、実際のアクション、および問題に関する追加情報を表示します。操作で:

# yum history 

Yumを使用してパッケージ情報を検索する

履歴サブコマンド:info/list/summaryは、引数としてトランザクションIDまたはパッケージ名をとることができます。さらに、listサブコマンドは、すべての意味で、すべてのトランザクションという特別な引数を取ることができます。

前のhistoryコマンドは、以下を実行するのと同じです。

# yum history list all

また、次のように info コマンドを使用して、 httpd Webサーバーなどの特定のパッケージに関するトランザクションの詳細を表示できます。

# yum history info httpd

httpd パッケージに関するトランザクションの概要を取得するには、次のコマンドを発行します。

# yum history summary httpd

トランザクションIDを使用することもできます。以下のコマンドは、トランザクションID 15 の詳細を表示します。

# yum history info 15

YumHistoryを使用してパッケージトランザクション情報を検索する

特定のパッケージまたはパッケージのグループのトランザクションの詳細を出力するサブコマンドがあります。 package-list または package_info を使用して、次のように httpd パッケージに関する詳細情報を表示できます。

# yum history package-list httpd
OR
# yum history package-info httpd

複数のパッケージに関する履歴を取得するには、次のコマンドを実行します。

# yum history package-list httpd epel-release
OR
# yum history packages-list httpd epel-release

Yumを使用してパッケージをロールバックする

さらに、トランザクションの元に戻す/やり直し/ロールバックを可能にする特定の履歴サブコマンドがあります。

  1. Undo – will undo a specified transaction.
  2. redo – repeat the work of a specified transaction
  3. rollback – will undo all transactions up to the point of the specified transaction.

それらは、単一のトランザクションIDまたはキーワードlastと、最後のトランザクションからのオフセットのいずれかを取ります。

たとえば、60のトランザクションを実行したとすると、「last」はトランザクション60を指し、「last-4」はトランザクション56を指します。

上記のサブコマンドの動作は次のとおりです。V、W、X、Y、Zの5つのトランザクションがある場合、パッケージはそれぞれインストールされます。

# yum history undo 2    #will remove package W
# yum history redo 2    #will  reinstall package W
# yum history rollback 2    #will remove packages from X, Y, and Z. 

次の例では、トランザクション2は更新操作でした。以下に示すように、次のredoコマンドは、トランザクション2を繰り返し、その時点までに更新されたすべてのパッケージをアップグレードします。

# yum history | grep -w "2"
# yum history redo 2

redoサブコマンドは、トランザクションを指定する前に、いくつかのオプションの引数を取ることもできます。

  1. force-reinstall – reinstalls any packages that were installed in that transaction (via yum install, upgrade or downgrade).
  2. force-remove – removes any packages that were updated or downgraded.
# yum history redo force-reinstall 16

Yum履歴データベースとソース情報を検索する

これらのサブコマンドは、履歴DBおよび追加の情報ソースに関する情報を提供します。

  1. addon-info – will provide sources of additional information.
  2. stats – displays statistics about the current history DB.
  3. sync – enables us to alter the the rpmdb/yumdb data stored for any installed packages.

これらのサブコマンドが実際にどのように機能するかを理解するには、以下のコマンドを検討してください。

# yum history addon-info
# yum history stats
# yum history sync

新しい履歴ファイルを設定するには、新しいサブコマンドを使用します。

# yum history new

YUMhistoryコマンドおよびその他のいくつかのコマンドに関する完全な情報はyummanページにあります。

# man yum

今のところ以上です。このガイドでは、YUMトランザクションの詳細を表示するためのさまざまなYUM履歴コマンドについて説明しました。以下のコメントセクションから、このガイドに関するご意見をお聞かせください。