如果有 yum 為什麼還要用 rpm?

如果有 yum 為什麼還要用 rpm?

眾所周知,yum 是一個建構在 rpm 之上的套件管理系統。它也是一個命令列實用程序,(粗魯地說)是 rpm 的更廣泛版本,它解決了 rpm 不關心的許多問題(主要顯然是依賴項)。是否有任何特定情況下使用 rpm 指令比 y​​um 更合適?

答案1

rpm用於與電腦上的 RPM 資料庫進行互動。因此您可以查看資料庫的目前狀態、驗證軟體包、檢查已安裝軟體的依賴關係等。

yum使用rpm(實際上,它使用 rpm python 庫)進行大部分本地操作,但它只能執行該rpm命令可以執行的有限數量的功能,僅與軟體的安裝、更新和刪除相關。 yum還可以與本地和遠端軟體儲存庫通信,並產生依賴關係圖來管理軟體包,這是rpm不能的。

答案2

rpm做了很多事情,只有其中一些被yum.例如,驗證已安裝的軟體包 ( --verify)。比較 手冊頁yumrpm手冊頁。

答案3

在較新版本的yum 中,rpmdb 並不是唯一被事務(安裝或刪除軟體包)更改的東西,因此在yum 後面直接使用rpm 來執行此操作是非常有害的......並且yum 會向您抱怨,如果你這樣做。

我唯一想到的是 rpm 可以做而 yum 不能做的事情是簽署軟體包(rpm -K)...但某些操作可能會稍微快一些,而且顯然有些事情人們記得更好/更容易。

答案4

在某些情況下,您首先使用 rpm,在 yum 之前執行一些初步操作。一個很好的例子是MySQL

(1) rpm -iv mysql-community-release-el6-5.noarch.rpm

此時 mysql/yum 儲存庫已準備就緒,您可以開始僅依賴 yum 來取得主 mysql 和其餘選用套件:

(2) yum install mysql-community-server

查看具體資訊:

http://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/index.html

相關內容