(2) 如果某程序包在安装后配置文件曾做过修改,在升级时,新版本程序提供的同名配置文件不会覆盖原有版本的配置文件,而是把新版本的配置文件重命名( FILENAME.rpmnew )后提供。
应用:
1、-U和-F的区别:
2、升级“老版本”
卸载命令格式:
01
rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts] [--test] PACKAGE_NAME ...
其中:
--allmatches:卸载所有匹配指定名称的程序包的各版本
--nodeps:忽略依赖关系
--test:测试卸载,dry run模式
查询命令格式:
01
rpm {-q|--query} [select-options] [query-options]
其中:
[select-options]
PACKAGE_NAME:查询指定的程序包是否已经安装,及其版本
-a, --all:列出所有已经安装过的包
-f FILE:查询指定的文件由哪个程序包安装生成
-p, --package PACKAGE_FILE:用于实现对未安装的程序包执行查询操作
--whatprovides CAPABILITY:查询指定的CAPABILITY由哪个程序包提供
--whatrequires CAPABILITY:查询指定的CAPABILITY被哪个包所依赖
[query-options]
--changelog:查询rpm包的changlog,注意非源码包的历史修订
-l, --list:程序安装生成的所有文件列表
-i, --info:程序包相关的信息,版本号、大小、所属的包组,等
-c, --configfiles:查询指定的程序包提供的配置文件
-d, --docfiles:查询指定的程序包提供的文档
--provides:列出指定的程序包提供的所有CAPABILITY
-R, --requires:查询指定的程序包所依赖的CAPABILITY
--scripts:查看程序包自带的脚本片断
常用用法:
-qi PACKAGE //查询程序包information
-qf FILE //查询文件由哪个程序包生成
-qc PACKAGE //查询程序包的配置文件
-ql PACKAGE //查询程序包生成的文件列表
-qd PACKAGE //查询程序包安装后生成的文档
-qpi PACKAGE_FILE //查询未安装程序包的information
-qpl PACKAGE_FILE //查询未安装程序包将要生成的文件列表
-qpc PACKAGE_FILE, ... //查询未安装��序包将要提供的配置文件
应用:
1、查询bash软件包提供的所有CAPABILITY
2、查询sed软件包所依赖的CAPABILITY
3、查询未安装php-common软件包的配置文件
校验命令格式:
01
rpm {-V|--verify} [select-options] [verify-options]
一般用于对软件包安装后,校验软件包所有的文件有没有发生修改。
例如:
01 02 03 04 05 06 07 08 09
# rpm -V zsh //没有返回任何提示,即校验通过 # vim /usr/share/zsh/4.3.10/scripts/newuser //在注释行添加一个“#” # rpm -V zsh # [root@localhost Packages]# rpm -V zsh S.5....T. /usr/share/zsh/4.3.10/scripts/newuser //文件大小发生变化,MD5校验和发生变化,文件修改时间发生变化
如果一切都被校验正确,屏幕上就不会显示输出。如果出现有修改,相关信息就会被显示至屏幕。输出的格式中,单用“ . ” 表示测试通过,如果是下列字符则代表某类测试失败:
5: MD5校验和
S: 文件大小
L: 符号链接
T: 文件修改时间
D: 设备
U: 用户
G: 组群
M: 模式( 包含权限和文件类型 )
?: 不可读文件
rpm包来源合法性验证和完整性验证