Linux认证 > 综合辅导 > 文章内容

linux从入门到精通(32)

2016-6-23编辑:ljnbset

使用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  

linux从入门到精通(31)

热点推荐

登录注册
触屏版电脑版网站地图