包命名和依赖性
RPM包命名规则
httpd-2.2.15-15.el6.centos.1.1686.rpm
httpd 软件包名
2.2.15 软件版本
15 软件发布的次数
elo. centos 适合的 Linux平台
i686 适合的硬件平台
rpm rpm包扩展名
RPM包依赖性
树形依赖:a—>b—>c
环形依赖:a—>b—>c—>a
模块依赖:模块依赖查询网站:www.rpmfind.net
安装升级与卸载
包名和包全名
包全名:操作的包是没有安装的软件包时,使用包全名。而且要注意路径
包名:操作已经安装的软件包时,使用包名。是搜索var/lib/rpm/中的数据库
RPM安装
rpm -ivh 【包全名】
选项:-i(install) 安装
-v(verbose) 显示详细信息
-h(bash) 显示进度
--nodeps 不检测依赖性
RPM包升级
rpm -Uvh 【包全名】
选项:-U(upgrade) 升级
卸载
rpm -e 【包名】
选项:-e(erase) 卸载
--nodeps 不检查依赖性
查询
查询是否安装:rpm -q 【包名】
选项:-q 查询(query)
查询所有已经安装的rpm包:rpm -qa
选项:-a: 所有(all)
查询软件包详细信息:rpm -qi 【包名】
选项: -i 查询(information)
-P 查询未安装包信息(package)(用包全名查询)
查询软件包中文件安装位置:rpm -ql 【包名】
选项:-l 列表(list)
-p 查询未安装包信息(package)
查询系统文件属于哪个rpm包:rpm -qf 【系统文件名】
选项:-f 查询系统文件属于哪个软件安装包(file)
查询软件包的依赖性:rpm -qR 【包名】
选项:-R 查询软件包的依赖性(requires)
-p 查询未安装包信息(package)
校验和文件提取
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包 含
1 授权受件( license file)
r 描述文件( read me)
rpm包中文件提取:rpm2cpio 【包全名】 | cpio -idv.【文件绝对路径】
rpm2cpio:将rpm包装换为cpio格式的命令
cpio:一个标准工具,他用于创建软件归档文件和从归档文件中提取文件
cpio 选项 <[文件|设备]
选项 -i copy-in模式,还原
-d 还原时自动新建目录
-v 显示还原过程