一、什么是RPM
RPM:RedHat Package Manager //红帽包管理
如果Linux发行版本是redhat 、redflag 、centos 、fedora 、suse等或者衍生的版本,
那么使用rpm进行软件管理最适合了.通过rpm可以来对软件进行安装、升级、查询、
验证及卸载等.被rpm管理的软件包称之为“rpm包”,对于该软件包的文件名包含了
很多有用信息,通常包含了软件包的名称、版本信息、操作系统信息、适应的硬件架构
等等,比如:httpd-2.2.3-22.el5.i386.rpm
2.2.3 是软件的版本号,22是发行号,i386表示用于英特尔 x86平台
二、安装RPM包
- 安装RPM软件包
rpm命令使用-i(表示安装)-v(显示安装过程)-h(使用#显示进度条)组合一起使用
比如说安装httpd-2.2.3-22.el5.i386.rpm该文件包:
[root@51cto Server]# rpm -ivh httpd-2.2.3-22.el5.i386.rpm
warning: httpd-2.2.3-22.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:httpd ########################################### [100%]
//可以看到该软件包安装成功,并且使用#显示安装过程
- --force选项与强制安装
当安装软件包的时候,系统提示软件包已经安装,无法安装同版本软件的时候,有2种
解决办法:一是先卸载软件包,然后重新安装;而是使用--force选项强制安装.如果
某个已经安装的软件出现文件丢失或者损坏的情况,使用--force安装最好不过了.
现在依旧采用上面的方法重新安装一遍httpd-2.2.3-22.el5.i386.rpm
[root@51cto Server]# rpm -ivh httpd-2.2.3-22.el5.i386.rpm
warning: httpd-2.2.3-22.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
package httpd-2.2.3-22.el5.i386 is already installed
//系统提示说该软件包已经安装了
下面采用--force选项的方法强制安装:
[root@51cto Server]# rpm -ivh httpd-2.2.3-22.el5.i386.rpm --force
warning: httpd-2.2.3-22.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:httpd ########################################### [100%]
- --nodeps选项与依赖性
上面的方法使用--force可以强制覆盖安装,但是当软件包出现依赖关系的时候,--force也解决不
了问题.rpm最大的不足就是包之间的依赖关系,比如要安装A包,提示说要先安装B包,找到
B包安装又提示要先安装其他包.当实在无法解决依赖性的问题又安装软件包的时候,
可以使用--nodeps加以解决,比如安装devhelp-devel-0.12-20.el5.i386.rpm
[root@51cto Server]# rpm -ivh devhelp-devel-0.12-20.el5.i386.rpm
warning: devhelp-devel-0.12-20.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
error: Failed dependencies:
devhelp = 0.12 is needed by devhelp-devel-0.12-20.el5.i386
gnome-vfs2-devel >= 2.2.0 is needed by devhelp-devel-0.12-20.el5.i386
gtk2-devel >= 2.2.0 is needed by devhelp-devel-0.12-20.el5.i386
libdevhelp-1.so.0 is needed by devhelp-devel-0.12-20.el5.i386
libgnomeui-devel >= 2.2.0 is needed by devhelp-devel-0.12-20.el5.i386
libwnck-devel >= 2.10.0 is needed by devhelp-devel-0.12-2
|