Linux中软件包管理-rpm
一、RPM包命名规则
httpd-2.2.15-15.e16.centos.1.i686.rpm
httpd 软件包名
2.2.15 软件版本
15 软件发布次数
e16.centos 适合的Linux平台
i686 适合的硬件平台
rpm rpm包扩展名
二、RPM包依赖性
-
树形依赖:a >>> b >>> c
-
环形依赖:a >>> b >>> c >>> a
-
模块依赖:查询网站:www.rpmfind.net
rpm -ivh pkg.i386.rpm --test
-i: install //安装
-v: verbose //安装详细信息
-h: hash //进度条
三、安装命令
rpm -ivh 包全名
-i (install) 安装
-v (verbose) 显示详细信息
-h (hash) 显示进度
--nodeps 不检测依赖性(绝不允许使用)
四、升级与卸载
1、升级
rpm -Uvh 包全名
-U (upgrade) 升级
2、卸载
rpm -e 包名
-e (erase)卸载
--nodeps 不检测依赖性(实际工作中也不允许使用)
五、RPM包查询
1、查询是否安装
rpm -q 包名
# 查询包是否安装
-q 查询(query)
rpm -qa
# 查询所有已经安装的RPM包
-a 所有(all)
2、查询软件包详细信息
rpm -qi 包名
-i 查询软件信息(information)
-p 查询未安装包信息(package)
3、查询包中文件安装位置
rpm -ql 包名
-l 列表(list)
-p 查询未安装包信息(package)
常规安装位置
4、查询系统文件属于哪个RPM包
rpm -qf 系统文件名
-f 查询系统文件属于哪个软件包(file)
5、查询软件包的依赖性
rpm -qR 包名
-R 查询软件包的依赖性(requires)
-p 查询未安装包信息(package)
六、RPM包校验
1、RPM包校验
rpm -V 已安装包的包名
-V 校验指定rpm包中的文件(verify)
验证内容中的8个信息的具体内容如下:
s 文件大小是否改变
M 文件的类型或文件的权限(rwx)是否被改变
5 文件MD5校验和是否改变(可以看成文件内容是否改变)
D 设备的主从代码是否改变
L 文件路径是否改变
U 文件属性(所有者)是否改变
G 文件属组是否改变
T 文件的修改时间是否改变
文件类型:
c 配置文件(config file)
d 普通文档(documentation)
g “鬼” 文件(ghost file),很少见,就是该文件不应该被这个RPM包包含
L 授权文件(license file)
r 描述文件(read me)
2、RPM包中文件提取
rpm2cpio 包全名 | cpio -idv .文件绝对路径
-rpm2cpio
# 将rpm包转换为cpio格式的命令
-cpio
# 是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件
[root@bogon ~]# cpio 选项 < [文件|设备]
选项:
-i :copy-in 模式,还原
-d:还原时自动新建目录
-v:显示还原过程