Linux中的RPM命令

RPM軟件包管理器(RPM)是Red Hat Linux及其衍生產品(如CentOS和Fedora)使用的功能強大的軟件包管理系統。 RPM也指 rpm 命令和 .rpm 文件格式。 RPM軟件包包括文件和元數據的存檔,其中包括諸如依賴性和安裝位置之類的信息。

在本教程中,我們將討論如何使用 rpm 用於安裝,更新,刪除,驗證,查詢和以其他方式管理RPM軟件包的命令。

安裝,更新和刪除RPM軟件包#

通常,要在基於Red Hat的發行版上安裝新軟件包,您將使用 yum 要麼 dnf 命令,可以解析和安裝所有程序包依賴項。

您應該始終喜歡使用 yum 要麼 dnf 過度 rpm 在安裝,更新和刪除軟件包時。

在安裝RPM軟件包之前,您必須首先使用瀏覽器或命令行工具(例如, curl 要麼 wget

安裝RPM軟件包時,請確保它們是針對您的系統體系結構和CentOS版本構建的。 更換或更新重要的系統軟件包(例如glibc,systemd或其他對於系統正常運行必不可少的服務和庫)時,請格外小心。

只有root或具有sudo特權的用戶才能安裝或刪除RPM軟件包。

要通過以下方式安裝RPM軟件包: rpm, 使用 -i 選項,然後是軟件包名稱:

sudo rpm -ivh package.rpm

-v 選項告訴 rpm 顯示詳細的輸出和 -h 選項以顯示帶有哈希標記的進度條。

您可以跳過下載部分,並將RPM軟件包的URL提供給 rpm 命令:

sudo rpm -ivh https://example.com/package.rpm

要升級RPM軟件包,請使用 -U 選項。 如果未安裝軟件包,則將安裝:

sudo rpm -Uvh package.rpm

如果您要安裝或更新的軟件包取決於當前未安裝的其他軟件包, rpm 將顯示所有缺少的依賴項的列表。 您將必須手動下載並安裝所有依賴項。

要安裝RPM軟件包而不在系統上安裝所有必需的依賴項,請使用 --nodeps 選項:

sudo rpm -Uvh --nodeps package.rpm

要刪除(擦除)RPM軟件包,請使用 -e 選項:

sudo rpm -e package.rpm

--nodeps 當您要刪除軟件包而不刪除其依賴項時,此選項也很有用:

sudo rpm -evh --nodeps package.rpm

--test 選項告訴 rpm 無需執行任何操作即可運行安裝或刪除命令。 它僅顯示該命令是否有效:

sudo rpm -Uvh --test package.rpm

查詢RPM軟件包#

-q 選項告訴 rpm 命令來運行查詢。

要查詢(搜索)是否安裝了某個軟件包,請將軟件包名稱傳遞給 rpm -q 命令。 以下命令將向您顯示系統上是否已安裝OpenJDK 11軟件包:

sudo rpm -q java-11-openjdk-devel

如果安裝了軟件包,您將看到以下內容:

java-11-openjdk-devel-11.0.4.11-0.el8_0.x86_64

通過 -i 獲得有關查詢包的更多信息:

sudo rpm -qi java-11-openjdk-devel

要獲取已安裝的RPM軟件包中所有文件的列表:

sudo rpm -ql package

如果要查找特定文件屬於哪個已安裝軟件包,請鍵入:

sudo rpm -qf /path/to/file

要獲取系統上所有已安裝軟件包的列表,請使用 -a 選項:

sudo rpm -qa

驗證RPM軟件包

驗證包裹時, rpm 命令檢查軟件包安裝的每個文件在系統上是否存在,文件的摘要,所有權,權限等。

要驗證已安裝的軟件包,請使用 -V 選項。 例如,要驗證openldap軟件包,請運行:

sudo rpm -V openldap-2.4.46-9.el8.x86_64

如果驗證通過,則該命令將不會輸出任何輸出。 否則,如果某些檢查失敗,則會顯示一個字符,指示測試失敗。

例如,以下輸出顯示文件的mTime已更改(“ T”):

.......T.  c /etc/openldap/ldap.conf

有關每個字符的含義,請參考RMP手冊頁。

要驗證所有已安裝的rpm軟件包,請運行以下命令:

sudo rpm -Va

結論#

rpm 是用於安裝,查詢,驗證,更新和刪除RMP軟件包的低級命令行工具。 在安裝RPM軟件包時,應優先使用 yum 要麼 dnf 因為它們會自動為您解決所有依賴性。

有關所有可用命令選項的更多信息,請鍵入 man rpm 在您的終端中或訪問RPM.org網站。

如果您有任何疑問或反饋,請隨時發表評論。

centos終端rpm

Sidebar