dnfコマンドでインストール・アップデートしたパッケージの確認方法
自分の環境ではパッケージソフトの更新は、dnfコマンドの自動更新で実施しています。更新されたパッケージ一覧はcockpit経由でメールで通知がきて確認できます。
手動で自動更新で、過去に「dnf upgrad」や「dnf update」でアップデートされたパッケージを確認したい時にする方法ですが、「dnf history」コマンドを利用します
過去のアップデートやインストール、削除などの操作履歴が表示【dnf history】
「dnf history」を実行すると過去のアップデートやインストール、削除などの操作履歴が表示されます。
「Altered」の項目が、dnfコマンドによって変更(インストール、アップグレード、削除など)されたパッケージの数を示しています。
実行した各エントリには「ID」が割り当てられており、そのIDを使って特定のアップデートの詳細を確認することも可能です。
$ dnf history ID | Command line | Date and time | Action(s) | Altered -------------------------------------------------------------------------------- 345 | install python3-pcp | 2024-11-05 09:59 | Install | 1 344 | | 2024-11-02 06:49 | Upgrade | 1 343 | | 2024-10-29 06:56 | O, U | 50 342 | | 2024-10-24 06:00 | Upgrade | 15 341 | | 2024-10-22 06:51 | C, E, I, U | 40 340 | install php | 2024-10-21 10:54 | D, I | 25 EE 339 | remove php | 2024-10-21 10:53 | Removed | 7 338 | install php | 2024-10-21 10:41 | I, U | 25 EE 337 | remove php | 2024-10-21 10:40 | Removed | 6 EE
過去のアップデートやインストールの詳細な履歴を表示【dnf history info <ID>】
上記で、変更されたパッケージが多い、「343」のIDを履歴を確認します。
変更された内容の詳細の確認方法は「dnf history info <ID>」で確認できます
$ dnf history info 343
Transaction ID : 343
Begin time : Tue 29 Oct 2024 06:56:13 AM JST
Begin rpmdb : 2f5b7cbb65bf571bb2fc6336b9556f4f4d98be0eca9876be28c322ef2e9b6ab8
End time : Tue 29 Oct 2024 06:59:13 AM JST (180 seconds)
End rpmdb : 20a284db0030d57d5385f93e9de65f7bdbb5a7c77bdc91ab9a169834cb7cecc3
User : System <unset>
Return-Code : Success
Releasever : 9
Command Line :
Comment :
Packages Altered:
Upgrade cockpit-327-1.el9.x86_64 @baseos
Upgraded cockpit-323.1-1.el9.x86_64 @@System
Upgrade cockpit-bridge-327-1.el9.x86_64 @baseos
Upgraded cockpit-bridge-323.1-1.el9.x86_64 @@System
Obsoleted cockpit-pcp-323.1-1.el9.x86_64 @@System
Upgrade cockpit-system-327-1.el9.noarch @baseos
Upgraded cockpit-system-323.1-1.el9.noarch @@System
Upgrade cockpit-ws-327-1.el9.x86_64 @baseos
Upgraded cockpit-ws-323.1-1.el9.x86_64 @@System
Upgrade dnf-4.14.0-21.el9.noarch @baseos
Upgraded dnf-4.14.0-18.el9.noarch @@System
Upgrade dnf-automatic-4.14.0-21.el9.noarch @baseos
Upgraded dnf-automatic-4.14.0-18.el9.noarch @@System
Upgrade dnf-data-4.14.0-21.el9.noarch @baseos
変更されたパッケージ名のみ抽出する
「dnf history info <ID>」だけだと、変更されたパッケージ一覧も表示されますが、他の情報も表示されているので出力結果をパイプでつなぎ、grep と awk を組み合わせることでパッケージ名のみを取り出します
$ dnf history info 343 | grep -E 'Upgrade|Upgraded|Obsoleted' | awk '{print $2}'
cockpit-327-1.el9.x86_64
cockpit-323.1-1.el9.x86_64
cockpit-bridge-327-1.el9.x86_64
cockpit-bridge-323.1-1.el9.x86_64
cockpit-pcp-323.1-1.el9.x86_64
cockpit-system-327-1.el9.noarch
cockpit-system-323.1-1.el9.noarch
cockpit-ws-327-1.el9.x86_64
cockpit-ws-323.1-1.el9.x86_64
dnf-4.14.0-21.el9.noarch
dnf-4.14.0-18.el9.noarch
dnf-automatic-4.14.0-21.el9.noarch
dnf-automatic-4.14.0-18.el9.noarch
dnf-data-4.14.0-21.el9.noarch
dnf-data-4.14.0-18.el9.noarch
iwl100-firmware-39.31.5.1-147.el9.noarch
iwl100-firmware-39.31.5.1-146.el9.noarch
iwl1000-firmware-1:39.31.5.1-147.el9.noarch
iwl1000-firmware-1:39.31.5.1-146.el9.noarch
このコマンドの説明は以下の通りです:
- grep -E ‘Upgrade|Upgraded|Obsoleted’:アップデートされたパッケージの行のみを抽出します。
- awk ‘{print $2}’:抽出した行から2列目(パッケージ名のみ)を表示します。



コメント