首页 > 代码库 > rpm包安装
rpm包安装
RPM全称是“RedHatPackageManager”是由RedHat公司发发展起来的,本质是将软件源码包经过编译并且打包成rpm的格式,rpm文件包含的有二进制文件,配置文件,库文件等,同时RPM以一种数据库记录的方式将所需要的软件安装到linux系统上,优点是安装方便,缺点是只能安装在编译时默认的硬件与操作系统版本。
1.rpm包的版本说明
httpd-2.2.3-74.el5.centos.i386.rpm
#以此软件为例说明
httpd :软件名
2.2.3 :分别表示:主版本号-次版本号-修正版本号
74 :编译的次数
i386 :硬件平台
.rpm :扩展名
httpd-2.2.3-74.el5.centos.i386.rpm
格式:
软件名-版本号-编译次数-支持平台-.rpm
常见的硬件平台:
i386 i586 i686:32位 x86_64:64位 noarck:没有硬件等级的限制
2.rpm包的安装
#1.rpm包的安装需要是root用户才能进行
#2.rpm包安装后,该软件的相关信息会写入/var/lib/rpm下的数据库档案中,在版本升级,安装查询,数字签名等信息都会在这里查询
安装时常用的选项:
rpm -ivh package-name
-i :安装
-v :显示详细的安装信息
-h :显示安装进度
-vv :显示更详细的安装过程
--nodeps:忽略安装时软件的依赖性,也就是强制进行安装,往往造成软件安装后不可用
--replacepkgs :重新安装某个已经安装过的软件包,使用rpm -ivh *.rpm 时不会因个别软件包已安装过而中断
--test:测试某个软件包是否能安装在linux环境中
--justdb :更新软件在数据库内的信息
--prefix 目录 :指定安装路径,一般不用该参数,rpm默认安装
--force 强制安装
-K :验证软件包的签名
[root@zhu2 ~]# rpm -ivh a.rpm b.rpm c.rpm *.rpm
#同时安装多个软件包,当分不清软件包安装的先后顺序使用
3.rpm包的升级
-Uvh:后面接的软件即使没有安装过,则系统将予以直接安装,
后面接的软件有安装过旧版,则系统自动更新至新版
-Fvh:如果后面接的软件没有安装过,则系统不会安装该软件;
后面接的软件有安装过旧版,则系统自动更新至新版
4.rpm包的查看
rpm的查询功能非常强大,查询的依据就是/var/lib/rpm目录下的数据库文件,不仅可以查询已安装的软件的信息,未安装的软件的信息也可查询。
rpm -q name :仅查询后面接的软件名称是否安装
rpm -qa :列出所有的已经安装在本机系统上面的所有软件名称
rpm -qa | grep name :查询某软件是否安装
rpm -qc name :列出该软件的配置文件(config)
rpm -qd :列出该软件的所有说明文件,即是与man有关的档案
rpm -qi name :列出软件的详细信息(information)
rpm -ql name :列出软件所有的档案与目录所在的完整文件名(list)
rpm -qf 文件名 :由后面接的文件名来找出该档案属于哪个已安装的软件(find)
rpm -qR name :列出与该软件有依赖行的软件所包含的档案
rpm -qp(icdiR) :查找某个rpm软件包的信息,该软件包并没安装
5.rpm包删除与数据库重建
5.1rpm包的删除
[root@zhu1 ~]# rpm -e vsftpd
warning: /etc/vsftpd/vsftpd.conf saved as /etc/vsftpd/vsftpd.conf.rpmsave
[root@zhu1 ~]# rpm -q vsftpd
package vsftpd is not installed
# -e :删除软件
--nodeps :强制删除
5.2rpm包的数据库重建
[root@zhu1 ~]# rpm --rebuilddb
--initdb #初始化rpm包的数据库
--rebuilddb # 重建数据库
原文出处:http://caisangzi.blog.51cto.com/6387416/1303924