天天看點

rpm軟體包的管理

在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軟體包的管理

查詢:

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軟體包的管理

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

rpm軟體包的管理

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

rpm軟體包的管理

如果軟體包尚未安裝,我們需要查詢其說明資訊、安裝以後會生成的檔案;

rpm -qpi /path/to/PACKAGE_FILE 未安裝時檢視說明資訊

rpm -qpl /path/to/PACKAGE_FILE 未安裝時檢視安裝後會生成的檔案

rpm軟體包的管理

更新:

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

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

     --oldpackage:降級

rpm軟體包的管理

解除安裝:

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包的依賴性問題解決,将再次單獨說明。

繼續閱讀