使用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
RHCE7认证学习笔记:网络端口安全
[红帽认证辅导]2016年2月19日Linux笔试面试常见题目
[红帽认证试题]2016年2月14日RHCE学习笔记:如何设置和测试静态网络路由
[红帽认证辅导]2016年1月19日红旗Linux用户基础教程其他实用命令汇总
[红旗认证辅导]2015年5月11日红帽RHCE认证133网络管理汇总
[红帽认证辅导]2015年5月11日