歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Linux系統中如何管理rpm軟件包

Linux系統中如何管理rpm軟件包

日期:2017/3/3 16:14:41   编辑:關於Linux

在Linux操作系統中,有一個系統軟件包,它就是Red Hat Package Manager(簡稱RPM)。此工具包最先是由Red Hat公司推出的,後來被其他Linux開發商所借用。由於它為Linux使用者省去了很多時間,所以被廣泛應用於在Linux下安裝、刪除軟件。

軟件包管理的核心功能:

1、制作軟件包;

2、安裝、卸載、升級、查詢、校驗;

下面,我們具體說一下rpm包的使用方法

rpm命令:

rpm:管理軟件包。(其數據庫在/var/lib/rpm文件中)

rpmbuild:創建軟件包。

rpm包的管理:

完成安裝、查詢、卸載、升級、校驗、數據庫的重建、驗證數據包等工作;

安裝:

rpm -i|--install /path/to/PACKAGE_FILE

-h:以#號顯示安裝進度:每個#表示2%

-v:顯示詳細過程

-vv:更詳細的過程

rpm -ivh /path/to/PACKAGE_FILE

--nodeps:忽略依賴關系;

--replacepkgs:重新安裝,替換原有安裝;

--oldpackage:版本降級

--force:強行安裝,可以實現重裝或降級

--test:測試是否安裝

查詢:

rpm -q PACKGE_NAME 查詢指定的包是否已經安裝

例: # rpm -q bind

rpm -qa :查詢已經安裝的所有包

例: # rpm -qa | grep "^z" 查詢所有以z開頭的軟件包

rpm -qi PACKAGE_NAME:查詢指定軟件包的說明信息

rpm -ql PACKAGE_NAME:查詢指定包安裝後生成的文件列表

rpm -qc PACKAGE_NAME:查詢指定包安裝的配置文件

rpm -qd PACKAGE_NAME:查詢指定包安裝的幫助文件

rpm -q --scripts PACKAGE_NAME:查詢指定包中包含的腳本

rpm -qf /path/to/somefile :查詢指定的文件是由那個rpm包安裝生成的

 

如果軟件包尚未安裝,我們需要查詢其說明信息、安裝以後會生成的文件;

rpm -qpi /path/to/PACKAGE_FILE 未安裝時查看說明信息

rpm -qpl /path/to/PACKAGE_FILE 未安裝時查看安裝後會生成的文件

升級:

rpm -Uvh /path/to/NEW_PACKAGE_NAME 如果裝有老版本的,則升級;否則,安裝

rpm -Fvh /path/to/NEW_PACKAGE_FILE 如果裝有老版本的,則升級;否則,退出

--oldpackage:降級

卸載:

rpm -e PACKAGE_NAME

--nodeps 忽略有依賴關系的

例:# rpm -e zlib

校驗:

rpm -V PACKAGE_NAME 查看文件是否被改動

例: # rpm -V zlib

重建數據庫:

在/var/lib/rpm/文件中

rpm

--rebuilddb:重建數據庫 (一定會重新建立數據庫)

--initdb:初始化數據庫 (沒有才建立,有不用建立)

檢驗來源合法性,及軟件包完整性:

rpm包:先單向加密取出其MD5碼,啟用自己的私鑰加密

公鑰使用同樣的加密算法解密,對比MD5碼是否一致。

/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release (公鑰所在文件)

# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

(公鑰導入)

# rpm -K /PATH/TO/PACKAGE_FILE

dsa, gpg:驗證來源合法性,也即驗證簽名。可以使用--nosignature,略過此項。

sha1,md5:驗證軟件包完整性。可以使用--nodigest,略過此項。

至於rpm包的依賴性問題解決,將再次單獨說明。

本文出自 “對著陽光微笑著” 博客,請務必保留此出處http://dongld.blog.51cto.com/4234800/1156679

Copyright © Linux教程網 All Rights Reserved