linux中rpm命令的妙用
CentOS系统上使用rpm命令管理程序包: 安装、卸载、升级、查询、校验、数据库维护
安装:
rpm {-i|–install} [install-options] PACKAGE_FILE…
-v: verbose
-vv:
-h: 以#显示程序包管理执行进度 rpm -ivh PACKAGE_FILE …
–test: 测试安装,但不真正执行安装;dry run模式
–nodeps:忽略依赖关系 –replacepkgs | replacefiles
–nosignature: 不检查来源合法性
–nodigest:不检查包完整性
–noscipts:不执行程序包脚本片断
%pre: 安装前脚本;–nopre
%post: 安装后脚本;–nopost
%preun: 卸载前脚本;–nopreun
%postun: 卸载后脚本; –nopostun
rpm包升级
升级: rpm {-U|–upgrade} [install-options] PACKAGE_FILE…
rpm {-F|–freshen} [install-options] PACKAGE_FILE…
upgrade:安装有旧版程序包,则“升级” 如果不存在旧版程序包,则“安装”
freshen:安装有旧版程序包,则“升级” 如果不存在旧版程序包,则不执行升级操作
rpm -Uvh PACKAGE_FILE …
rpm -Fvh PACKAGE_FILE …
–oldpackage:降级
–force: 强行升级
包查询
rpm {-q|–query} [select-options] [query-options] [select-options]
-a: 所有包
-f: 查看指定的文件由哪个程序包安装生成
-p rpmfile:针对尚未安装的程序包文件做查询操作;
–whatprovides CAPABILITY:查询指定的CAPABILITY 由哪个包所提供
–whatrequires CAPABILITY:查询指定的CAPABILITY被 哪个包所依赖
rpm2cpio 包文件|cpio –itv 预览包内文件
rpm2cpio 包文件|cpio –id “*.conf” 释放包内文件
–changelog:查询rpm包的changelog
-c: 查询程序的配置文件
-d: 查询程序的文档
-i: information
-l: 查看指定的程序包安装后生成的所有文件;
–scripts:程序包自带的脚本片断
-R: 查询指定的程序包所依赖的CAPABILITY;
–provides: 列出指定程序包所提供的CAPABILITY
查询用法:
-qi PACKAGE, -qf FILE, -qc PACKAGE, -ql PACKAGE, -qd PACKAGE
-qpi PACKAGE_FILE, -qpl PACKAGE_FILE, …
-qa
卸载:
rpm {-e|–erase} [–allmatches] [–nodeps] [-noscripts] [–notriggers] [–test] PACKAGE_NAME …
包校验
rpm {-V|–verify} [select-options] [verify-options]
S file Size differs
M Mode differs (includes permissions and file type)
5 digest (formerly MD5 sum) differs
D Device major/minor number mismatch
L readLink(2) path mismatch
U User ownership differs
G Group ownership differs
T mTime differs
P capabilities differ
rpm数据库
数据库重建:
/var/lib/rpm
rpm {–initdb|–rebuilddb}
initdb: 初始化
如果事先不存在数据库,则新建之
否则,不执行任何操作
rebuilddb:重建
无论当前存在与否,直接重新创建数据库
参数说明:
-
-a 查询所有套件。
-
-b<完成阶段><套件档>+或-t <完成阶段><套件档>+ 设置包装套件的完成阶段,并指定套件档的文件名称。
-
-c 只列出组态配置文件,本参数需配合"-l"参数使用。
-
-d 只列出文本文件,本参数需配合"-l"参数使用。
-
-e<套件档>或–erase<套件档> 删除指定的套件。
-
-f<文件>+ 查询拥有指定文件的套件。
-
-h或–hash 套件安装时列出标记。
-
-i 显示套件的相关信息。
-
-i<套件档>或–install<套件档> 安装指定的套件档。
-
-l 显示套件的文件列表。
-
-p<套件档>+ 查询指定的RPM套件档。
-
-q 使用询问模式,当遇到任何问题时,rpm指令会先询问用户。
-
-R 显示套件的关联性信息。
-
-s 显示文件状态,本参数需配合"-l"参数使用。
-
-U<套件档>或–upgrade<套件档> 升级指定的套件档。
-
-v 显示指令执行过程。
-
-vv 详细显示指令执行过程,便于排错。
-
-addsign<套件档>+ 在指定的套件里加上新的签名认证。
-
–allfiles 安装所有文件。
-
–allmatches 删除符合指定的套件所包含的文件。
-
–badreloc 发生错误时,重新配置文件。
-
–buildroot<根目录> 设置产生套件时,欲当作根目录的目录。
-
–changelog 显示套件的更改记录。
-
–checksig<套件档>+ 检验该套件的签名认证。
-
–clean 完成套件的包装后,删除包装过程中所建立的目录。
-
–dbpath<数据库目录> 设置欲存放RPM数据库的目录。
-
–dump 显示每个文件的验证信息。本参数需配合"-l"参数使用。
-
–excludedocs 安装套件时,不要安装文件。
-
–excludepath<排除目录> 忽略在指定目录里的所有文件。
-
–force 强行置换套件或文件。
-
–ftpproxy<主机名称或IP地址> 指定FTP代理服务器。
-
–ftpport<通信端口> 设置FTP服务器或代理服务器使用的通信端口。
-
–help 在线帮助。
-
–httpproxy<主机名称或IP地址> 指定HTTP代理服务器。
-
–httpport<通信端口> 设置HTTP服务器或代理服务器使用的通信端口。
-
–ignorearch 不验证套件档的结构正确性。
-
–ignoreos 不验证套件档的结构正确性。
-
–ignoresize 安装前不检查磁盘空间是否足够。
-
–includedocs 安装套件时,一并安装文件。
-
–initdb 确认有正确的数据库可以使用。
-
–justdb 更新数据库,当不变动任何文件。
-
–nobulid 不执行任何完成阶段。
-
–nodeps 不验证套件档的相互关联性。
-
–nofiles 不验证文件的属性。
-
–nogpg 略过所有GPG的签名认证。
-
–nomd5 不使用MD5编码演算确认文件的大小与正确性。
-
–nopgp 略过所有PGP的签名认证。
-
–noorder 不重新编排套件的安装顺序,以便满足其彼此间的关联性。
-
–noscripts 不执行任何安装Script文件。
-
–notriggers 不执行该套件包装内的任何Script文件。
-
–oldpackage 升级成旧版本的套件。
-
–percent 安装套件时显示完成度百分比。
-
–pipe<执行指令> 建立管道,把输出结果转为该执行指令的输入数据。
-
–prefix<目的目录> 若重新配置文件,就把文件放到指定的目录下。
-
–provides 查询该套件所提供的兼容度。
-
–queryformat<档头格式> 设置档头的表示方式。
-
–querytags 列出可用于档头格式的标签。
-
–rcfile<配置文件> 使用指定的配置文件。
-
–rebulid<套件档> 安装原始代码套件,重新产生二进制文件的套件。
-
–rebuliddb 以现有的数据库为主,重建一份数据库。
-
–recompile<套件档> 此参数的效果和指定"–rebulid"参数类似,当不产生套件档。
-
–relocate<原目录>=<新目录> 把本来会放到原目录下的文件改放到新目录。
-
–replacefiles 强行置换文件。
-
–replacepkgs 强行置换套件。
-
–requires 查询该套件所需要的兼容度。
-
–resing<套件档>+ 删除现有认证,重新产生签名认证。
-
–rmsource 完成套件的包装后,删除原始代码。
-
–rmsource<文件> 删除原始代码和指定的文件。
-
–root<根目录> 设置欲当作根目录的目录。
-
–scripts 列出安装套件的Script的变量。
-
–setperms 设置文件的权限。
-
–setugids 设置文件的拥有者和所属群组。
-
–short-circuit 直接略过指定完成阶段的步骤。
-
–sign 产生PGP或GPG的签名认证。
-
–target=<安装平台>+ 设置产生的套件的安装平台。
-
–test 仅作测试,并不真的安装套件。
-
–timecheck<检查秒数> 设置检查时间的计时秒数。
-
–triggeredby<套件档> 查询该套件的包装者。
-
–triggers 展示套件档内的包装Script。
-
–verify 此参数的效果和指定"-q"参数相同。
-
–version 显示版本信息。
-
–whatprovides<功能特性> 查询该套件对指定的功能特性所提供的兼容度。
-
–whatrequires<功能特性> 查询该套件对指定的功能特性所需要的兼容度。
原创文章,作者:xiaoqiang512,如若转载,请注明出处:http://www.178linux.com/39240