1. 程式人生 > >RPM安裝軟件

RPM安裝軟件

ref upgrade rec 關機 滿足 linux發行版 通過 ring 文件查看

RMP:rpm命令詳解、註意事項、rpm倉庫、安裝實例、srpm:源碼rpm

RPM Package Manager

  由Red Hat公司提出,被眾多Linux發行版所采用;

  建立統一的數據庫文件,詳細記錄軟件包安裝、卸載等變化信息,能夠自動分析軟件包依賴關系。

技術分享

一、rpm命令

1、查詢已經安裝的RPM軟件信息

rpm -q[子選項] [軟件名]

  1、q --query查詢

  2、query-options查詢子選項

    [-i,--info]:查看指定軟件的詳細信息

    [-a,--all]:查看系統中已安裝的所有RPM軟件包列表

    [-l,--list]:查詢指定軟件包所安裝的目錄、文件列表

    [-c,--configfiles]:僅顯示指定軟件包安裝的配置文件

    [-d,--docfiles]:僅顯示指定軟件包安裝的文檔文件

  3、查詢文件/目錄屬於哪個RPM軟件:rpm -qf 文件或目錄名

2、查詢未安裝的RPM包文件

rpm -qp[子選項] RPM包文件

  1、-qpi:通過.rpm包文件查看該軟件的詳細信息

  2、-qpl:查看.rpm安裝包內所包含的目錄、文件列表

  3、-qpc:查看.rpm安裝包內包含的配置文件列表

  4、-qpd:查看.rpm安裝包內包含的文檔文件列表

3、安裝或升級RPM軟件

rpm [選項] RPM包文件...

  1、-i:安裝一個新的rpm軟件包

  2、-U:升級某個rpm軟件,若原本未裝,則進行安裝 {-U|--upgrade}

  3、-F:更新某個rpm軟件,若原本未裝,則放棄安裝 {-F|--freshen}

4、卸載指定的RPM軟件

rpm -e 軟件名  #{-e|--erase}

5、輔助選項

  1、--force:強制安裝所指定的rpm軟件包(不要輕易使用)

  2、--nodeps:安裝、升級或卸載軟件時,忽略依賴關系(no dependencies)

  但是:可能會導致軟件異常,有些軟件被強行替換安裝,並沒有真正解決依賴關系。

技術分享

  所以:無論是在安裝還是卸載,都是先處理被依賴的軟件包。

  3、-h:以“#”號顯示安裝的進度

  4、-v:顯示安裝過程中的詳細信息

二、安裝軟件和卸載軟件註意事項

1、使用完整名字或者短名字。

2、不要混血(redhat和centos之間安裝軟件)。

3、主要軟件的版本要匹配--已經安裝了高版本的軟件,再安裝低版本的軟件會報錯。

4、同時接很多軟件包,先後順序沒有很大關系,只要有就可以,系統會自己先安裝最需要的軟件包。

5、註意系統是32位的還是64位,不要在64位的系統上強制安裝某些32位的軟件,會導致系統出問題,而且安裝的軟件也不能使用。

三、RPM倉庫

1、位置:/var/lib/rpm目錄下(備份好)

2、RPM數據庫故障原因

  1、非正常關機、誤刪除運行中的程序文件

  2、RPM數據文件被誤寫或刪除

3、RPM的缺點

  1、安裝的環境必須與打包時的環境需求一致或相當;

  2、需要滿足套件的相依屬性需求;

  3、卸載時需要特別小心,最底層的套件不可先移除,否則可能造成整個系統的問題!

四、rpm安裝軟件實例

1、檢查系統的版本

  [[email protected] ~]# cat /etc/issue

  Red Hat Enterprise Linux Server release 6.5 (Santiago)

  Kernel \r on an \m

2、將對應系統的鏡像文件放入虛擬機的光驅裏

3、掛載鏡像文件到/mnt

[[email protected] ~]# mount   /dev/cdrom    /mnt
mount: block device /dev/sr0 is write-protected, mounting read-only
mount: /dev/sr0 already mounted or /mnt busy
mount: according to mtab, /dev/sr0 is already mounted on /mnt

[[email protected] ~]# ll /dev/cdrom
lrwxrwxrwx. 1 root root 3 Oct 22 21:46 /dev/cdrom -> sr0

4、進入/mnt掛載點目錄

  [[email protected] ~]# cd /mnt/Packages

5、進行安裝

  1、安裝ftp

  [[email protected] Packages]# rpm -ivh ftp-0.17-54.el6.x86_64.rpm

  ……

  2、安裝lftp(推薦)

  [[email protected] Packages]# rpm -ivh lftp-4.0.9-1.el6.x86_64.rpm

  3、安裝tree

[[email protected] Packages]# rpm -ivh tree-1.5.3-2.el6.x86_64.rpm 
warning: tree-1.5.3-2.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing...                ########################################### [100%]
   1:tree                   ########################################### [100%]

需要安裝的軟件包的名字一般都可能會比較長比較復雜,常用tab鍵補齊名字

五、SRPM

  rpm包的“老祖先”

  源碼類型的source rpm包--->半成品--->制作成rpm包

1、簡介

  1、SRPM 文件裏面含有源代碼( Source Code )

  2、SRPM 的文件名是以 ***.src.rpm 這種格式來命名

  3、需要編譯生成RPM包後才能進行安裝

2、rpmbuild命令:安裝SRPM包

  1、--rebuild 編譯—>打包—>未安裝

    最後通常會發現一行字體:Wrote: /usr/src/redhat/RPMS/i386/pkgname.i386.rpm

  2、--recompile 編譯—>打包—>安裝

命令範例:rpmbuild --rebuild rp-pppoe-3.5-32.1.src.rpm

RPM安裝軟件