#包全名:操作的包是尚未安装的包,则需要使用包全名;使用包全名要注意绝对路径
#包名:操作的包是已经安装的包,则使用包名
#源码包通常采用手动指定路径安装
#在centos中,安装软件除了用rpm命令外,还可以用yum命令;在实际应用中,常使用yum,因为yum自解决包依赖问题;但是查询软件包的相关命令只能用rpm
#rpm的查询格式为:rpm 选项 查询对象
# \ 代表一条命令没有输完,换行
1.RPM包命名规则
包名-版本号-发布次数-发行商-Linux平台-适合的硬件平台-包扩展名
例如,RPM 包的名称是httpd-2.2.15-15.el6.centos.1.i686.rpm,其中:
httpd:软件包名。这里需要注意,httpd 是包名,而 httpd-2.2.15-15.el6.centos.1.i686.rpm 通常称为包全名,包名和包全名是不同的,在某些 Linux 命令中,有些命令(如包的安装和升级)使用的是包全名,而有些命令(包的查询和卸载)使用的是包名,一不小心就会弄错。
2.2.15:包的版本号,版本号的格式通常为主版本号.次版本号.修正号。
15:二进制包发布的次数,表示此 RPM 包是第几次编程生成的。
el*:软件发行商,el6 表示此包是由 Red Hat 公司发布,适合在 RHEL 6.x (Red Hat Enterprise Unux) 和 CentOS 6.x 上使用。
centos:表示此包适用于 CentOS 系统。
i686:表示此包使用的硬件平台,目前的 RPM 包支持的平台如图 1 所示:
2.RPM包依赖性
3.RPM包默认安装路径
除此之外,RPM 包也支持手动指定安装路径,但此方式并不推荐。因为一旦手动指定安装路径,所有的安装文件会集中安装到指定位置,且系统中用来查询安装路径的命令也无法使用(需要进行手工配置才能被系统识别),得不偿失。
4.RPM包安装
安装命令:rpm -ivh 包全名
注意安装时使用的是包全名;涉及到包全名的命令一定要准确写出绝对路径和相对路径。
在输入包全名的的时候可用Tab来补全包全名。
-i: install安装
-h: harsh显示安装进度
-v: verbose显示更详细的信息
-nodeps: 不检测依赖性安装
5.RPM包升级
升级命令:rpm -Uvh 包全名
-U:若该软件包没有安装,则直接安装;若该软件包已经安装,则升级至最新版本
-F:若该软件包没有安装,则不安装;若该软件包已经安装,则升级至最新版本
6.RPM包卸载
卸责时需要注意包的依赖性,否则会报错
卸载命令:rpm -e 包名
7.查询软件包是否安装
命令:rpm -q 包名
功能:查询软件包是否安装
-q:qury表示查询;注意这里是包名而不是包全名,若使用包全名无法识别
8.查询系统中所有安装的软件包
命令:rpm -qa
功能:查询系统中所有软件包
管道符命令:rpm -qa | grep 包名 #功能:查找含有包名的所有软件包
9.查询软件包的详细信息
命令:rpm -qi 包名
功能:查询已安装软件包的详细信息
-i:information查询软件信息
命令:rpm -qip 包全名(绝对路径+包全名) #功能:查询未安装软件包的详细信息
-p:查询未安装软件包
10.查询软件包的文件列表
命令:rpm -ql 包名
功能:查询已安装软件包中包含的所有文件及各自安装路径
-l:列出软件包所有文件的安装目录
命令:rpm -qlp 包全名(绝对路径+包全名) #功能:查询未安装软件包中包含的所有文件及准备安装路径
11.查询系统文件属于哪个rpm包
命令:rpm -qf 系统文件名
功能:查询系统文件属于哪个rpm包
-f:file查询系统文件属于哪个rpm包
12.查询软件包的依赖性
命令:rpm -qR 包名
功能:查询已安装软件包的依赖性
-R:require查询软件包的依赖性
命令:rpm -qRp 包全名(绝对路径+包全名) #功能:查询未安装软件包的依赖性
13.rpm包校验
命令:rpm -V 已安装的包名
-V:校验指定rpm包中的文件(verify)
最前面的 8 个字符(S.5....T)都属于验证信息,各字符的具体含义如下:
S:文件大小是否改变
M:文件的类型或文件的权限(rwx)是否改变
5:文件MD5校验和是否改变(可以看成文件内容是否改变)
D:设备的主从代码是否改变
L:文件路径是否改变
U:文件的属主(所有者)是否改变
G:文件的属组是否改变
T:文件的修改时间是否改变
.:若相关项没发生改变,用 . 表示
被修改文件类型,大致分为以下几类:
c:配置文件(configuration file)
d:普通文档(documentation)
g:"鬼"文件(ghost file),很少见,就是该文件不应该被这个 RPM 包包含
l:授权文件(license file)
r:描述文件(read me)
14.rpm包中文件提取
命令:rpm2cpio 包全名 | cpio -idv .文件绝对路径
2:to
rpm2cpio:将rpm包转换为cpio格式命令
cpio:标准工具,用于创建软件档案文件和从档案文件中提取文件
cpio 选项 < [文件|设备]
-i:copy-in模式,还原
-d:还原时自动新建目录
-v:显示还原过程