什么是rpm
rpm全称是“redhat package manager”,是一种包管理器。
它所管理的包也是以.rpm作为后缀的。
最早是red hat公司开发的,后来在centos、fedora、suse都用它。
.rpm文件是软件源码编译完成后,然后按照rpm机制打包起来的一个文件,
可以用rpm命令安装的一个软件安装包。
它省去了linux软件安装过程中编译的步骤,安装成功后软件就可以用了。
.rpm文件在Linux系统中的安装最为简便。
.rpm包的特点
1:事先已经编译好
2:安装方便
3:安装过程中要求环境一致
4:反安装时要从最上层开始
rpm包管理器的主要功能
安装、卸载、升级和管理软件
组件查询功能
验证功能
软件包GPG和MD5数字签名的导入、验证和发布
软件包依赖处理
选择安装
网络远程安装功能
.rpm文件的解释
例如 httpd-manual-2.0.40-21.i386.rpm
httpd-manual:软件包名称
2 :主版本号
0 :次版本号
40 :次版本号
21 :编译的次数
i386 :适合的平台
.rpm ----- 说明这是一个RPM包
以著名的图像处理软件XV为例,其RPM包是xv-3.10a-13.i386.rpm
在Terminal终端的命令行中,基本的安装指令是:
rpm -i xv-3.10a-13.i386.rpm # -i参数是安装,install
如何安装.rpm文件
RPM包的安装非常简单,只需要执行以下命令:
rpm -ivh xxx.rpm
参数说明:
-i 安装.rpm包
-v 显示安装信息
-h 显示安装进度
rpm的常用命令
--help 帮助
-e 卸载rpm包
-q 查询已安装的软件信息
-i 安装rpm包
-u 升级rpm包
--replacepkgs 重新安装rpm包
--justdb 升级数据库,不修改文件系统
--percent 在软件包安装时输出百分比
--help 帮助
--version 显示版本信息
-c 显示所有配置文件
-d 显示所有文档文件
-h 显示安装进度
-l 列出软件包中的文件
-a 显示出文件状态
-p 查询/校验一个软件包文件
-v 显示详细的安装信息
--dump 显示基本文件信息
--nomd5 不验证文件的md5支持
--nofiles 不验证软件包中的文件
--nodeps 不验证软件包的依赖关系
--whatrequires 查询/验证需要一个依赖性的软件包
--whatprovides 查询/验证提供一个依赖性的软件包
一些常用命令的组合
1、查询系统已安装的rpm包
示例:
NTP-slave:/etc/zypp
zypper-log-1.6.307-0.7.12
zypper-1.6.307-0.7.12
libzypp-9.34.0-0.7.15
2、查询系统中一个已知的文件属于哪个rpm包
示例:
NTP-slave:/etc/zypp
libzypp-9.34.0-0.7.15
3、 查询已安装的软件包的相关文件的安装路径
示例:
NTP-slave:/etc/zypp
/etc/logrotate.d/zypp-history.lr
/etc/zypp
/etc/zypp/repos.d
/etc/zypp/services.d
/etc/zypp/systemCheck
/etc/zypp/zypp.conf
/usr/bin/package-manager
/usr/bin/package-manager-su
...省略...
4、查询一个已安装软件包的信息
示例:
NTP-slave:/etc/zypp
Name : libzypp Relocations: (not relocatable)
Version : 9.34.0 Vendor: SUSE LINUX Products GmbH, Nuernberg, Germany
Release : 0.7.15 Build Date: Wed May 29 23:20:00 2013
Install Date: Mon Dec 19 20:00:23 2016 Build Host: crick2
...省略...
NTP-slave:/etc/zypp
/etc/logrotate.d/zypp-history.lr
/etc/zypp/systemCheck
/etc/zypp/zypp.conf
5、查看已安装软件的配置文件
示例:
NTP-slave:/etc/zypp
/etc/logrotate.d/zypp-history.lr
/etc/zypp/systemCheck
/etc/zypp/zypp.conf
6、查看已安装软件的文档的安装位置
示例:
NTP-slave:/etc/zypp
/usr/share/man/man5/locks.5.gz
7、查看已安装软件所依赖的软件包及文件
示例:
NTP-slave:/etc/zypp
binutils
glibc-devel
cpp43 = 4.3.4_20091019-0.37.30
libgcc1 >= 4.3.4_20091019-0.37.30
libgomp1 >= 4.3.4_20091019-0.37.30
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1
libc.so.6()(64bit)
libc.so.6(GLIBC_2.11)(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3)(64bit)
libc.so.6(GLIBC_2.7)(64bit)
rpmlib(PayloadIsLzma) <= 4.4.6-1