使用Yum歷史查找已安裝或已刪除的軟件包信息
Yum 是 RHEL/CentOS 的一個(gè)基于 rpm 的交互式高級(jí)包管理器,用戶可以用它來(lái)安裝新的軟件包、卸載或清除舊的/不需要的軟件包。它可以自動(dòng)運(yùn)行系統(tǒng)更新,并執(zhí)行依賴分析,對(duì)已安裝的或可用的軟件包進(jìn)行查詢等等。
在本文中,我們將解釋如何查看 Yum 事務(wù)的歷史記錄,以便于了解有關(guān)安裝的軟件包以及從系統(tǒng)中所卸載/清除軟件包的信息。
推薦閱讀: 20 條關(guān)于 Linux 軟件包管理的 Yum 命令
以下是一些如何使用 Yum 歷史命令的示例。
查看完整的 Yum 歷史
要查看 Yum 事務(wù)完整的歷史記錄,我們可以運(yùn)行以下命令,然后將顯示:事務(wù) ID、執(zhí)行特定操作的用戶、操作發(fā)生的日期和時(shí)間、實(shí)際操作以及任何錯(cuò)誤的附加信息與操作:
- # yum history
查看 Yum 歷史
使用 Yum 查找軟件包信息
history 的子命令:info/list/summary 可以將事務(wù) ID 或包名作為參數(shù)。此外,list 子命令可以加上特殊的參數(shù),all 表示所有的事務(wù)。
運(yùn)行以下命令查看先前的歷史:
- # yum history list all
并且,你可以使用下面的 info 命令查看涉及指定軟件包的事務(wù)詳情,例如 httpd:
- # yum history info httpd
Yum - 查找軟件包信息
發(fā)出以下命令可以獲得包含 httpd 軟件包的事務(wù)的摘要:
- # yum history summary httpd
Yum - 查找軟件包的摘要
還可以使用事務(wù)的 ID 來(lái)查找,以下命令會(huì)顯示 ID 為 15 的事務(wù)的詳情。
- # yum history info 15
Yum - 使用 ID 查找軟件包信息
使用 yum history 查找軟件包事務(wù)信息
有一些用于打印某個(gè)或多個(gè)軟件包事務(wù)詳情的子命令。我們可以使用 package-list 或 package_info 查看關(guān)于 httpd 的更多信息,例如:
- # yum history package-list httpd
- 或
- # yum history package-info httpd
Yum - 查找軟件包事務(wù)信息
要得到多個(gè)軟件包的記錄,我們可以運(yùn)行:
- # yum history package-list httpd epel-release
- 或
- # yum history packages-list httpd epel-release
Yum - 查找多個(gè)軟件包的信息
使用 Yum 回滾軟件包
此外,還有一些 history 的子命令可以讓我們撤銷(xiāo)/重做/回滾事務(wù)。
- undo - 會(huì)撤銷(xiāo)一個(gè)指定的事務(wù)。
- redo - 重復(fù)一次指定的事務(wù)。
- rollback - 撤銷(xiāo)指定事務(wù)之后的所有事務(wù)。
它們采用單個(gè)事務(wù) id 或關(guān)鍵字 last 和從***一個(gè)事務(wù)開(kāi)始的偏移量。
例如,假設(shè)我們已經(jīng)做了 60 個(gè)事務(wù),last 是指事務(wù) 60,last-4 指向事務(wù) 56。
推薦閱讀: 怎樣使用 yum-utils 來(lái)維護(hù)以及加速 Yum
以上子命令是如下工作的:如果我們有 5 個(gè)事務(wù)——V,W,X,Y 和 Z,其中分別是安裝各個(gè)軟件包的。
- # yum history undo 2 #將刪除軟件包 W
- # yum history redo 2 #將重新安裝軟件包 W
- # yum history rollback 2 #將刪除軟件包 X、 Y 和 Z
在下面的示例中,事務(wù) 2 是一個(gè)更新操作,如下所示,以下 redo 命令將重復(fù)事務(wù) 2 直到所有軟件包到更新到當(dāng)前時(shí)間的***版本:
- # yum history | grep -w "2"
Yum - 查找軟件包事務(wù)的 ID
- # yum history redo 2
用 Yum 重新更新軟件包
redo 子命令同樣可以在我們指定事務(wù)之前加上一些可選的參數(shù):
- force-reinstall - 重新安裝所有在此事務(wù)中安裝的軟件包(通過(guò) yum install、upgrade 或 downgrade)。
- force-remove - 移除所有已經(jīng)更新或回滾的軟件包。
- # yum history redo force-reinstall 16
Yum - 強(qiáng)制安裝軟件包
查找 Yum 歷史數(shù)據(jù)庫(kù)和來(lái)源信息
這些子命令為我們提供有關(guān)歷史記錄數(shù)據(jù)庫(kù)和其它信息來(lái)源的信息:
- addon-info - 提供更多的信息來(lái)源。
- stats - 顯示當(dāng)前歷史數(shù)據(jù)庫(kù)的統(tǒng)計(jì)信息。
- sync - 使我們能夠更改為所有已安裝軟件包存儲(chǔ)的 rpmdb/yumdb 數(shù)據(jù)。
看一下以下的命令的子命令實(shí)際上是怎樣工作的:
- # yum history addon-info
- # yum history stats
- # yum history sync
使用 new 子命令設(shè)置新的歷史文件:
- # yum history new
我們可以在 yum 手冊(cè)頁(yè)找到關(guān)于 Yum history 命令和其它幾個(gè)命令的完整信息:
- # man yum
推薦閱讀: 4 個(gè)使用 Yum 禁用/鎖定某些軟件包更新的方法
就是這么多了。在本篇指南中,我們介紹了各種 Yum history 命令,以查看 Yum 事務(wù)的詳細(xì)信息。
作者簡(jiǎn)介:
Aaron Kili 是 Linux 和 F.O.S.S 的愛(ài)好者,目前任 TecMint 的作者,志向是一名 Linux 系統(tǒng)管理員、web 開(kāi)發(fā)者。他喜歡用電腦工作,并熱衷于分享知識(shí)。