1. 程式人生 > >【轉】rpm和yum 使用

【轉】rpm和yum 使用

lac .html some 作者 rep pat test 數據庫 使用

換用了rh系的centos7,所以整理記錄一下rpm和yum的使用。

【rpm的使用】

rpm命令:
rpm:
數據庫:/var/lib/rpm
rpmbuild:
安裝、查詢、卸載、升級、校驗、數據庫的重建、驗證數據包等工作


包名的格式:
name-version-release.arch.rpm
bind-major-minor.release.arch.rpm

主版本號:重大改進
次版本號:某個子版本發生重大的變化
發型號:修復了部分bug,調整了一點功能

rpm包:
二進制格式
rpm包的作者下載源程序,編譯配置完成
bind-9.7.1-1.el7.noarch.rpm(noarch:代表平臺無關)
bind-9.7.1-1.el7.ppc.rpm


1、安裝:
rpm -i /PATH/TO/PACKAGE_FILE
-h 以#顯示進度,每個#代表2%
-v 詳細顯示
-vv 更加詳細的顯示

rpm -ivh /PAT/TO/PACKET_FILE

--nodeps: 忽略依賴關系,會導致安裝後無法運行
--replacepkgs:重新安裝,替換原有安裝
--force:強行安裝,可以實現重新安裝或降級
--test: 測試安裝

2、查詢(比如zsh-4.2.6-6.el5-i386.rpm)
rpm -q zsh
rpm -q zs*
rpm -qa | grep zsh

rpm -qc PACKAGE_NAME:查詢指定包的配置文件
rpm -qi PACKAGE_NAME:查詢指定包的信息
rpm -ql PACKAGE_NAME:查詢指定包安裝後生成的文件路徑
rpm -qd PACKAGE_NAME:查詢指定包安裝的幫助文件
rpm -q --scripts PACKAGE_NAME: 查詢指定包中的腳本

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

如果某rpm包未安裝,提前查看一些信息
rpm -qp[i|f|l] /PATH/TO/PACKAGE_FILE

3、升級
rpm -Uvh /PATH/NEW_PACKAGE_FILE:如果裝有老版本的,則升級;否則,安裝
rpm -Fvh /PATH/NEW_PACKAGE_FILE:如果裝有老版本的,則升級;否則,退出

rpm -Uvh --oldpackage PACKAGE_NAME:降級

4、卸載
rpm -e PACKAGE_NAME
--nodeps 忽略依賴關系


5、校驗
rpm -V zsh

6、重建數據庫
rpm
--rebuilddb:重建數據庫
--initdb:初始化數據庫

7、校驗來源的合法性,及軟件的完整性
#ls /etc/pki/rpm-gpg

rpm --import /PATH/TO/PACKAGE_FIFE
rpm -K /PATH/TO/PACKAGE_FILE
dsa,gpg:驗證來源的合法性,也及驗證簽名;可以使用--nosignature,忽略此項
sha1,md5:驗證軟件包完整性;可以使用--nodigest,忽略此項

【yum的使用】

https://www.cnblogs.com/mchina/archive/2013/01/04/2842275.html

中寫得很好了……

【轉】rpm和yum 使用