使用 Yum 歷史查詢已安裝或已刪除的軟體包資訊
Yum是 RHEL/CentOS 的一個基於 rpm 的互動式高階包管理器,使用者可以用它來安裝新的軟體包、解除安裝或清除舊的/不需要的軟體包。它可以,並執行依賴分析,對已安裝的或可用的軟體包進行查詢等等。
在本文中,我們將解釋如何檢視 Yum 事務的歷史記錄,以便於瞭解有關安裝的軟體包以及從系統中所解除安裝/清除軟體包的資訊。
以下是一些如何使用 Yum 歷史命令的示例。
檢視完整的 Yum 歷史
要檢視 Yum 事務完整的歷史記錄,我們可以執行以下命令,然後將顯示:事務 ID、執行特定操作的使用者、操作發生的日期和時間、實際操作以及任何錯誤的附加資訊與操作:
#yum history
檢視 Yum 歷史
使用 Yum 查詢軟體包資訊
history
的子命令:info
/list
/summary
可以將事務
ID 或包名作為引數。此外,list
子命令可以加上特殊的引數,all
表示所有的事務。
執行以下命令檢視先前的歷史:
#yum history list all
並且,你可以使用下面的 info
命令檢視涉及指定軟體包的事務詳情,例如 httpd
:
#yum history info httpd
Yum - 查詢軟體包資訊
發出以下命令可以獲得包含 httpd
軟體包的事務的摘要:
#yum history summary httpd
Yum - 查詢軟體包的摘要
還可以使用事務的 ID 來查詢,以下命令會顯示 ID 為 15
的事務的詳情。
#yum history info15
Yum - 使用 ID 查詢軟體包資訊
使用 yum history 查詢軟體包事務資訊
有一些用於列印某個或多個軟體包事務詳情的子命令。我們可以使用 package-list
或 package_info
檢視關於 httpd
的更多資訊,例如:
#yum history package-list httpd
或
#yum history package-info httpd
Yum - 查詢軟體包事務資訊
要得到多個軟體包的記錄,我們可以執行:
#yum history
或
#yum history packages-list httpd epel-release
Yum - 查詢多個軟體包的資訊
使用 Yum 回滾軟體包
此外,還有一些 history
的子命令可以讓我們撤銷/重做/回滾事務。
-
undo
- 會撤銷一個指定的事務。 -
redo
- 重複一次指定的事務。 -
rollback
- 撤銷指定事務之後的所有事務。
它們採用單個事務 id 或關鍵字 last
和從最後一個事務開始的偏移量。
例如,假設我們已經做了 60 個事務,last
是指事務 60,last-4
指向事務
56。
以上子命令是如下工作的:如果我們有 5 個事務——V,W,X,Y 和 Z,其中分別是安裝各個軟體包的。
#yum history undo 2#將刪除軟體包 W
#yum history redo2#將重新安裝軟體包 W
#yum history rollback 2#將刪除軟體包 X、 Y 和 Z
在下面的示例中,事務 2 是一個更新操作,如下所示,以下 redo
命令將重複事務 2 直到所有軟體包到更新到當前時間的最新版本:
#yum history |grep-w"2"
Yum - 查詢軟體包事務的 ID
#yum history redo2
用 Yum 重新更新軟體包
redo
子命令同樣可以在我們指定事務之前加上一些可選的引數:
-
force-reinstall
- 重新安裝所有在此事務中安裝的軟體包(通過yum install
、upgrade
或downgrade
)。 -
force-remove
- 移除所有已經更新或回滾的軟體包。
#yum history redo force-reinstall 16
Yum - 強制安裝軟體包
查詢 Yum 歷史資料庫和來源資訊
這些子命令為我們提供有關歷史記錄資料庫和其它資訊來源的資訊:
-
addon-info
- 提供更多的資訊來源。 -
stats
- 顯示當前歷史資料庫的統計資訊。 -
sync
- 使我們能夠更改為所有已安裝軟體包儲存的rpmdb
/yumdb
資料。
看一下以下的命令的子命令實際上是怎樣工作的:
#yum history addon-info
#yum history stats
#yum history sync
使用 new
子命令設定新的歷史檔案:
#yum history new
我們可以在 yum 手冊頁找到關於 Yum history
命令和其它幾個命令的完整資訊:
#manyum