歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux管理 >> Linux維護

CentOS系統中RPM軟件包操作指南

在Linux系統操作中,常見的軟件包管理系統有RPM和YUM,使用它們能夠對Linux系統進行管理,今天小編要給大家介紹的是CentOS系統中RPM軟件包的管理,感興趣的朋友可以來了解下。

在Linux發行版中,幾乎每一個發行版都有自己的軟件包管理系統。常見的有deb軟件包的dpkg以及它的前端apt(適用於debian、Ubuntu等)。rpm以及它的前端yum(適用於RedHat系列的系統)。

RPM,全稱RPM Package Manager,是由Red Hat推出的軟件包管理系統,現在在各種發行版中普遍適用。

RRM軟件包是將程序源代碼經過編譯和封裝以後形成的包文件,在軟件包裡面會封裝軟件的二進制程序、配置文件、幫助手冊、庫文件以及頭文件等。RPM包的結構如下圖所示:

RPM軟件包的安裝與卸載:

# rpm [options] /path/to/rpmfile

option:

-i|--install:安裝指定軟件

-v|--verbose:顯示安裝過程

-e|--erase:卸載指定的軟件

-h|--hash:以#的方式顯示安裝進度條,一個#為2%

--nodeps:忽略依賴關系

--test:測試安裝

-U:升級+安裝(如果之前有安裝則升級,如果之前沒有安裝則安裝)

-F:升級(如果之前有安裝則升級,如果之前沒安裝則不做任何操作)

--replacepkgs:重新安裝軟件包

--force:在軟件包的安裝或升級過程中,如果出現某個文件已經安裝或者某一個軟件已經安裝時

可以使用--force選項強制安裝,等同於--replacepkgs --replacefiles --oldpackage同時使用

常用的軟件包安裝選項為:

#rpm -ivh /path/to/rpmfile

# rpm -Uvh /path/to/rpmfile

示例 1:

RPM軟件包驗證:

RPM包使用gpg非對稱加密機制,可以驗證包的完整性和來源的合法性。

# rpm --import PUBKEY:rpm使用--import導入軟件包提供者制作的公鑰,可以自動進行軟件包的驗證

#rpm {-K|--checksig} [--nosignature] [--nodigest] PACKAGE_FILE:rpm可以使用-K或--checksig選項對軟件包進行來源和完整性的驗證,--nosignature選項是指不進行來源合法性驗證,--nodigest選項是指不進行完整性驗證

示例 2:


RPM查詢:

# rpm {-q|--query} [select-options] [query-options] [PACKAGE_NAME|PACKAGE_FILE]

常用select-option:

-a|--all:將已安裝的所有包顯示在屏幕上(Query all installed packages )

# rpm -qa

-f|--file FILE:根據指定的文件顯示出該文件由哪一個包生成(Query package owning FILE)

-p|--package PACKAGE_FILE:根據指定的軟件包文件,搭配query-option選項可查詢未安裝的包信息。

常用query-option:

-l|--list:列出該軟件包安裝後需要生成的所有文件( List files in package)

-i|--info:顯示軟件包的信息,包括名稱、版本和描述

(Display package information, including name, version and description)

-c|--configfiles:僅顯示-l選項列出文件中的配置文件(List only configuration files (implies -l))

-d|--docfiles:僅顯示-l選項列出文件中的文檔或幫助手冊(List only documentation files (implies -l))

--scripts:顯示該軟件包在安裝或卸載前後需要運行的腳本

(List the package specific scriptlet(s) that are used as part of the installation and uninstallation

processes)

示例 3:


RPM校驗:

RPM還提供了對軟件包生成的文件進行校驗的功能(可針對文件大小、權限、MD5、修改時間等進行校驗),當沒有任何改變時候,顯示9個‘-’,如果某一項發生改變則在相應位顯示標識符,各標識符代表含義如下:

S文件大小發送改變(file Size differs)

M文件權限發生改變(Mode differs (includes permissions and file type))

5文件MD5值發送改變(digest (formerly MD5 sum) differs)

D裝置的主/次代碼發生改變(Device major/minor number mismatch)

L 路徑發生改變(readLink(2) path mismatch)

U屬主發生改變(User ownership differs)

G屬組發生改變(Group ownership differs)

T修改時間發生改變(mTime differs)

P能力發生改變(caPabilities differ)

# rpm {-V|--verify} PAKCAGE_NAME

示例 4:

備注:這個是我在/etc/lftp.conf文件末尾新增了一行後的校驗結果

RPM包數據庫:

RPM軟件包有一個本地的數據庫(在/var/lib/rpm目錄下),RPM包的安裝、升級和刪除都會更新數據庫的信息。但是當數據庫損壞之後,軟件包的更新卸載就會出現錯誤。現在只需要將數據庫重建就可以解決問題,如下圖所示:

示例 5:

上面就是CentOS系統中RPM軟件包管理的介紹了,包括RPM軟件包的安裝、卸載、校檢、數據庫都做了詳細介紹,以便你對RPM軟件包的管理有更詳細的了解。

Copyright © Linux教程網 All Rights Reserved