軟件包管理—rpm

基礎瞭解

軟件包,顧名思義就是由多個軟件組成的軟件包。

軟件包的組成主要有四大部分:

  1、二進制程序。主要存在與系統的/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin.

  2、庫文件。存在於/lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64

  3、配置文件。程序的公共配置文件爲/etc/ld.so.conf。各個程序的獨立的配置文件爲/etc/ld.so.conf.d/*.conf。一般建議配置單個程序的配置文件,方便管理。

  4、幫助文件。如man文件、info文件、READMEINSTALL等。

rpm包管理之命名

命名規則:Pkgname-version-release.arch.rpm

注意有了爲了讓單個包的功能更單一化,或者一個包的功能太大,用戶肯能只使用其中幾個功能,常常把這種包進行分包,其分包的命名格式是:Pkgname-subPkg-version-release.arch.rpm

    Versionmajor.minor.release

            Release:軟件包被開發出來的發行號。

    Release:軟件包被編譯爲二進制程序的發行號。

    Arch:軟件包被編譯的硬件平臺。如x86_64, ppc等。

     subPkg:分包的簡要描述信息。

如:vsftpd-2.2.2-11.el6_4.1.x86_64.rpm

wKioL1blZkCznBO9AAALq2c9ax4297.png

rpm包管理之安裝:

  命令:rpm  { -i | --install }  /path/to/Pkgname

   同時還可以與其他選項一同使用,如:

   -vverbose):顯示安裝過程。

   -hhase):以“#”的個數顯示安裝進度,一個“#”表示2%。  

    --test:只測試不安裝。

依賴性關係解決:

    1、將依賴的包每個都安裝上去。

    2、忽略依賴關係,使用(--nodeps

重新安裝:

    命令:rpm  { -i | --install }  --replacepkgs  Pkgname

rpm包管理之卸載:

命令:rpm  { -e| --erase }  name

依賴關係解決:

    1、將所依賴的包以一卸載。

    2、忽略依賴關係,使用(--nodeps

rpm包管理之查詢:

命令:rpm  { -q | --query }  Pkgname

具體操作:

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

  rpm -qi Pkgname:查詢包的信息。

  rpm -ql Pkgname:查詢包安裝後在系統上生成的文件列表。

  rpm -qf /path/to/filename:查詢該文件是由哪個包生成的。  

  rpm -qd Pkgname:查詢軟件包安裝之後的幫助文檔。

  rpm -qc Pkgname:查詢軟件包安裝之後的配置文件。

  rpm -q --scripts Pkgname:查詢軟件包安裝的腳本信息,主要有preinstallpostinstallpreuninstallpostuninstall。這些腳本信息主要是做一些安裝之前和安裝之後的處理。

rpm包管理之升級:

命令:rpm  { -U| --upgrade } Pkgname

  1、使用(--nodeps)解決升級過程的依賴關係。

  2、使用(--force)解決升級過程新舊版本之間的衝突。

rpm包管理之檢驗:

命令:rpm  { -V | --verify}  Pkgname

結果顯示解析,若一下選項有顯示,表示該選項出問題:

  1、Ssize):表示文件的大小被修改過。

  2、Mmode):表示文件的權限被修改過。

  3、5MD5):表示校驗結果出問題。

  4、DDevice major|minor):表示設備的版本號被修改過。

  5、Lreadlink):符號鏈接的路徑被改變。

  6、Uuser):文件的屬主不匹配。

  7、Ggroup):文件的屬組不匹配。

  8、Ttime):文件的時間戳被改變。

rpm包管理之來源合法性檢驗及軟件包完整性檢驗:

來源合法性檢驗:通過單向加密機制(md5|sha1

完整性檢驗:通過公鑰加密機制(RSA

命令:rpm { -K| checksig} /path/to/Pkgname

     在執行該命令之前應該先導入公鑰,不然會導致RSA和MD5都出錯。

     #rpm --import  /path/to/Pkg-key

[root@anna-laptop~]# rpm  -K/media/rhel6.5/Packages/vim-enhanced-7.2.411-1.8.el6.x86_64.rpm 
/media/rhel6.5/Packages/vim-enhanced-7.2.411-1.8.el6.x86_64.rpm: RSA sha1 ((MD5) PGP) md5 NOT OK (MISSING KEYS: (MD5) PGP#fd431d51) 
[root@anna-laptop ~]# rpm --import /media/rhel6.5/RPM-GPG-KEY-redhat-release 
[root@anna-laptop ~]# rpm -K /media/rhel6.5/Packages/vim-enhanced-7.2.411-1.8.el6.x86_64.rpm 
/media/rhel6.5/Packages/vim-enhanced-7.2.411-1.8.el6.x86_64.rpm: rsa sha1 (md5) pgp md5 OK

rpm包管理之數據庫重建:

   命令:rpm  --initdb:初始化數據庫,不會覆蓋原有數據庫

      rpm --rebuilddb:重建數據庫,會覆蓋原有數據庫。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章