歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux操作系統學習筆記管理應用程序安裝(4)

Linux操作系統學習筆記管理應用程序安裝(4)

日期:2017/2/25 10:32:38   编辑:Linux教程

使用RPM包管理工具

  1、RPM簡介

  PRM:RedHat Package Manager,因為這個RPM格式的關鍵包格式是由Red Hat公司首先提出並使用的,後得到廣泛使用。它建立統一的數據庫文件,詳細記錄軟件包安裝、卸載等變化信息,能夠自動分析軟件包依賴關系。

  RPM包的一般格式為:bash-3.1-16.1.i386.rpm(軟件名稱,版本號,發布次數,硬件平台,擴展名)

  當然這個格式不固定,因為有時候可能還會加上所適用的操作系統信息,如:wget-1.10.2-7.el5.i386.rpm

  2、使用RPM包管理命令

  RPM命令的主要功能是:

(1). 查詢RPM軟件、包文件的相關信息

查詢已安裝的RPM軟件信息:rpm -q[子選項] [軟件名]

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

(備注:使用“-q”選項時實際上調用了“/usr/bin/rpmquery”程序完成查詢工作,對於“-qa”查詢選項,命令參數(即軟件包名)是非必須的;一般查詢時,軟件名不需要指定版本號)

[root@localhost ~]# rpm -q bash     ==>查詢是否已安裝有bash軟件包
bash-3.1-16.1
[root@localhost ~]# rpm -qa | grep bash
bash-3.1-16.1

[root@localhost ~]# rpm -qf /usr/bin/vim    ==>查詢vim是由哪個軟件包安裝的
vim-enhanced-7.0.109-3

[root@localhost ~]# rpm -ql dhcp   ==>查詢dhcp軟件包安裝的文件列表
/etc/dhcpd.conf
/etc/rc.d/init.d/dhcpd
……

查詢未安裝的RPM軟件包文件:rpm -qp[子選項] [RPM包文件]

用法:結合不同的子選項 完成不同查詢

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

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

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

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

[root@localhost Server]# rpm -qpl lynx-2.8.5-28.1.i386.rpm
/etc/lynx-site.cfg
/etc/lynx.cfg
……
==>查詢lynx安裝包中的文件列表

(2). 安裝、升級、卸載RPM軟件包

安裝或升級RPM軟件:rpm [選項] [RPM包文件]...  

用法:不同選項適用於不同情況

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

-U:升級某個rpm軟件,若原本未裝,則進行安裝

-F:更新某個rpm軟件,若原本未裝,則放棄安裝

卸載指定的RPM軟件:rpm -e 軟件名 (備注:卸載軟件時只需要指定軟件名即可,無需指定版本號)

輔助選項簡單介紹: 

--force:強制安裝所指定的rpm軟件包

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

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

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

(備注:--force 輔助選項主要應用於以下兩種情況:

1)缺失某個軟件包的文件時,需要進行覆蓋安裝以找回丟失文件

2)安裝一個比現有軟件版本陳舊的軟件包(多為測試用途)

當安裝、卸載軟件包時,提示缺少依賴包無法進行時,如果仍要繼續執行,應結合 --nodeps 選項而不 是 --force 選項)

[root@localhost ~]# rpm -ivh lynx-2.8.5-28.1.i386.rpm  ==>安裝一個新的RPM包
warning: lynx-2.8.5-28.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing...    ########################################### [100%]
   1:lynx       ########################################### [100%]
                          ==>安裝lynx軟件包同事顯示安裝進度
[root@localhost ~]# rpm -q lynx
lynx-2.8.5-28.1
[root@localhost ~]# rpm -e lynx  ==>卸載lynx軟件包
[root@localhost ~]# rpm -q lynx
package lynx is not installed

(備注:“warning:……NOKEY……”的警告信息是由於沒有導入RedHat提供的公鑰所致,但並不影響安裝效果,可以忽略,如果需要導入公鑰文件,可以參考如下步驟(以後從RHEL5光盤中安裝軟件時,就不會再出現警告提示了):[root@localhost ~]# cd /media/cdrom

                 [root@localhost cdrom]# rpm --import RPM-GPG-KEY-redhat-release)

[root@localhost ~]# rpm -i wget-1.10.2-3.2.1.i386.rpm
[root@localhost ~]# rpm -q  wget
wget-1.10.2-3.2.1
[root@mail ~]# rpm -Uvh /media/cdrom/wget-1.10.2-7.el5.i386.rpm ==>升級wget軟件包
warning: /media/cdrom/wget-1.10.2-7.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
   1:wget    ########################################### [100%]
[root@localhost ~]# rpm -q  wget
wget-1.10.2-7.el5

(備注:在系統中不存在被升級的軟件包時,升級命令的功能等同於安裝命令)

  解決軟件包依賴關系:

1)、安裝有依賴關系的多個軟件時

被依賴的軟件包需要先安裝

同時指定多個.rpm包文件進行安裝

(備注:如果需要同時安裝相互依賴的數十個.rpm軟件包,可以結合Shell通配符“*”同時指定這些文件作為參數)

2)、卸載有依賴關系的多個軟件時

依賴其他程序的軟件包需要先卸載

同時指定多個軟件名進行卸載

3)、忽略依賴關系

結合“--nodeps”選項,但可能導致軟件異常

(3). 維護RPM數據庫信息

    當RPM數據庫損壞時,需要進行數據庫重建:rpm --rebuilddb 或者rpm --initdb  

Copyright © Linux教程網 All Rights Reserved