在本文中,我們将解釋如何檢視 yum 事務的曆史記錄,以便于了解有關安裝的軟體包以及從系統中所解除安裝/清除軟體包的資訊。
以下是一些如何使用 yum 曆史指令的示例。
<a target="_blank"></a>
要檢視 yum 事務完整的曆史記錄,我們可以運作以下指令,然後将顯示:事務 id、執行特定操作的使用者、操作發生的日期和時間、實際操作以及任何錯誤的附加資訊與操作:
<code># yum history</code>
檢視 yum 曆史
<code>history</code> 的子指令:<code>info</code>/<code>list</code>/<code>summary</code> 可以将事務 id 或包名作為參數。此外,<code>list</code> 子指令可以加上特殊的參數,<code>all</code> 表示所有的事務。
運作以下指令檢視先前的曆史:
<code># yum history list all</code>
并且,你可以使用下面的 <code>info</code> 指令檢視涉及指定軟體包的事務詳情,例如 <code>httpd</code>:
<code># yum history info httpd</code>
yum - 查找軟體包資訊
發出以下指令可以獲得包含 <code>httpd</code> 軟體包的事務的摘要:
<code># yum history summary httpd</code>
yum - 查找軟體包的摘要
還可以使用事務的 id 來查找,以下指令會顯示 id 為 <code>15</code> 的事務的詳情。
<code># yum history info 15</code>
yum - 使用 id 查找軟體包資訊
有一些用于列印某個或多個軟體包事務詳情的子指令。我們可以使用 <code>package-list</code> 或 <code>package_info</code> 檢視關于 <code>httpd</code> 的更多資訊,例如:
<code># yum history package-list httpd</code>
<code>或</code>
<code># yum history package-info httpd</code>
yum - 查找軟體包事務資訊
要得到多個軟體包的記錄,我們可以運作:
<code># yum history package-list httpd epel-release</code>
<code># yum history packages-list httpd epel-release</code>
yum - 查找多個軟體包的資訊
此外,還有一些 <code>history</code> 的子指令可以讓我們撤銷/重做/復原事務。
<code>undo</code> - 會撤銷一個指定的事務。
<code>redo</code> - 重複一次指定的事務。
<code>rollback</code> - 撤銷指定事務之後的所有事務。
它們采用單個事務 id 或關鍵字 <code>last</code> 和從最後一個事務開始的偏移量。
例如,假設我們已經做了 60 個事務,<code>last</code> 是指事務 60,<code>last-4</code> 指向事務 56。
以上子指令是如下工作的:如果我們有 5 個事務——v,w,x,y 和 z,其中分别是安裝各個軟體包的。
<code># yum history undo 2 #将删除軟體包 w</code>
<code># yum history redo 2 #将重新安裝軟體包 w</code>
<code># yum history rollback 2 #将删除軟體包 x、 y 和 z</code>
在下面的示例中,事務 2 是一個更新操作,如下所示,以下 <code>redo</code> 指令将重複事務 2 直到所有軟體包到更新到目前時間的最新版本:
<code># yum history | grep -w "2"</code>
yum - 查找軟體包事務的 id
<code># yum history redo 2</code>
用 yum 重新更新軟體包
<code>redo</code> 子指令同樣可以在我們指定事務之前加上一些可選的參數:
<code>force-reinstall</code> - 重新安裝所有在此事務中安裝的軟體包(通過 <code>yum install</code>、<code>upgrade</code> 或<code>downgrade</code>)。
<code>force-remove</code> - 移除所有已經更新或復原的軟體包。
<code># yum history redo force-reinstall 16</code>
yum - 強制安裝軟體包
這些子指令為我們提供有關曆史記錄資料庫和其它資訊來源的資訊:
<code>addon-info</code> - 提供更多的資訊來源。
<code>stats</code> - 顯示目前曆史資料庫的統計資訊。
<code>sync</code> - 使我們能夠更改為所有已安裝軟體包存儲的 <code>rpmdb</code>/<code>yumdb</code> 資料。
看一下以下的指令的子指令實際上是怎樣工作的:
<code># yum history addon-info</code>
<code># yum history stats</code>
<code># yum history sync</code>
使用 <code>new</code> 子指令設定新的曆史檔案:
<code># yum history new</code>
我們可以在 yum 手冊頁找到關于 yum <code>history</code> 指令和其它幾個指令的完整資訊:
<code># man yum</code>
原文釋出時間為:2017-02-24
本文來自雲栖社群合作夥伴“linux中國”