1. 程式人生 > >使用 Yum 歷史查詢已安裝或已刪除的軟體包資訊

使用 Yum 歷史查詢已安裝或已刪除的軟體包資訊

Yum是 RHEL/CentOS 的一個基於 rpm 的互動式高階包管理器,使用者可以用它來安裝新的軟體包、解除安裝或清除舊的/不需要的軟體包。它可以,並執行依賴分析,對已安裝的或可用的軟體包進行查詢等等。

在本文中,我們將解釋如何檢視 Yum 事務的歷史記錄,以便於瞭解有關安裝的軟體包以及從系統中所解除安裝/清除軟體包的資訊。

以下是一些如何使用 Yum 歷史命令的示例。

檢視完整的 Yum 歷史

要檢視 Yum 事務完整的歷史記錄,我們可以執行以下命令,然後將顯示:事務 ID、執行特定操作的使用者、操作發生的日期和時間、實際操作以及任何錯誤的附加資訊與操作:

  1. #yum history

檢視 Yum 歷史

使用 Yum 查詢軟體包資訊

history 的子命令:info/list/summary 可以將事務 ID 或包名作為引數。此外,list 子命令可以加上特殊的引數,all 表示所有的事務。

執行以下命令檢視先前的歷史:

  1. #yum history list all

並且,你可以使用下面的 info 命令檢視涉及指定軟體包的事務詳情,例如 httpd

  1. #yum history info httpd

Yum - 查詢軟體包資訊

發出以下命令可以獲得包含 httpd 軟體包的事務的摘要:

  1. #yum history summary httpd

Yum - 查詢軟體包的摘要

還可以使用事務的 ID 來查詢,以下命令會顯示 ID 為 15 的事務的詳情。

  1. #yum history info15

Yum - 使用 ID 查詢軟體包資訊

使用 yum history 查詢軟體包事務資訊

有一些用於列印某個或多個軟體包事務詳情的子命令。我們可以使用 package-list 或 package_info 檢視關於 httpd 的更多資訊,例如:

  1. #yum history package-list httpd

  2. #yum history package-info httpd

Yum - 查詢軟體包事務資訊

要得到多個軟體包的記錄,我們可以執行:

  1. #yum history

    package-list httpd epel-release

  2. #yum history packages-list httpd epel-release

Yum - 查詢多個軟體包的資訊

使用 Yum 回滾軟體包

此外,還有一些 history 的子命令可以讓我們撤銷/重做/回滾事務。

  1. undo - 會撤銷一個指定的事務。

  2. redo - 重複一次指定的事務。

  3. rollback - 撤銷指定事務之後的所有事務。

它們採用單個事務 id 或關鍵字 last 和從最後一個事務開始的偏移量。

例如,假設我們已經做了 60 個事務,last 是指事務 60,last-4 指向事務 56。

以上子命令是如下工作的:如果我們有 5 個事務——V,W,X,Y 和 Z,其中分別是安裝各個軟體包的。

  1. #yum history undo 2#將刪除軟體包 W

  2. #yum history redo2#將重新安裝軟體包 W

  3. #yum history rollback 2#將刪除軟體包 X Y Z

在下面的示例中,事務 2 是一個更新操作,如下所示,以下 redo 命令將重複事務 2 直到所有軟體包到更新到當前時間的最新版本:

  1. #yum history |grep-w"2"

Yum - 查詢軟體包事務的 ID

  1. #yum history redo2

用 Yum 重新更新軟體包

redo 子命令同樣可以在我們指定事務之前加上一些可選的引數:

  1. force-reinstall - 重新安裝所有在此事務中安裝的軟體包(通過 yum installupgrade 或 downgrade)。

  2. force-remove - 移除所有已經更新或回滾的軟體包。

  1. #yum history redo force-reinstall 16

Yum - 強制安裝軟體包

查詢 Yum 歷史資料庫和來源資訊

這些子命令為我們提供有關歷史記錄資料庫和其它資訊來源的資訊:

  1. addon-info - 提供更多的資訊來源。

  2. stats - 顯示當前歷史資料庫的統計資訊。

  3. sync - 使我們能夠更改為所有已安裝軟體包儲存的 rpmdb/yumdb 資料。

看一下以下的命令的子命令實際上是怎樣工作的:

  1. #yum history addon-info

  2. #yum history stats

  3. #yum history sync

使用 new 子命令設定新的歷史檔案:

  1. #yum history new

我們可以在 yum 手冊頁找到關於 Yum history 命令和其它幾個命令的完整資訊:

  1. #manyum