rpm命令
rpm是一款强大的Redhat软件包管理工具,可创建、安装、查询、验证、升级和卸载每个软件包,软件包是存储文件,包括需要安装的文件和名称、版本、说明等报信息。
rpm默认支持7种操作模式,每个模式具有不同选项,分别为安装、查询、验证。签名确认、卸载、制作和重建数据库。本人在rpm命令的应用中,主要涉及了其安装、查询与卸载功能,所以本节只是介绍rpm的安装、查询与卸载功能。
安装模式:rpm -i [安装选项] <包文件>
查询模式:rpm -q [查询选项]
卸载模式:rpm -e <包名>
验证模式:rpm -V|-y|--verify [验证选项]
签名确认模式:rpm --checksig <包文件>+
制作模式:rpm -b0 [制作选项] <包规格>+
常规选项:
以下选项可在不同模式中使用。
-vv 显示详细的调试信息
--keep-temps 不删除临时文件(/tmp/rpm-*),主要只用于调试rpm时
--quiet 限制显示内容,只显示错误消息
--help 显示较长使用方法的说明书
--version 将正在使用的rpm版本显示为1行
--root <dir> 将*目录设为所有操作的默认目录并运行。如安装时默认目录为“/”,并以此为标准进行安装
安装选项(用于软件安装模式)
--force 等于同时使用--replacepkgs、--replacefiles、--oldpackage,表示强制覆盖安装
--oldpackage 删除新软件包并用之前的软件包代替
--replacefiles 即使会覆盖已安装的其他包文件,也强制安装软件包
--replacepkgs 即使已安装软件包也重新安装
-h,--hash 解包时标注hashmark (#),共50个,与-v选项一起使用显示效果更佳
--noscripts 不执行preinstall、postinstall版本
--excludedocs 不安装标注为文本的文件(帮助页面和texinfo文本)
--includedocs 包括文本文件。只有rpmrc文件中标注excludedocs:1时才能使用该选项
--nodeps 安装软件包前不检查依赖性
--test 实际不安装软件包,检查是否发生冲突并报告
-U、--upgrade 将当前安装的软件包升级为新版本的RPM。
软件安装,常用的组合指令为rpm -ivh <包名>:安装软件包并显示安装进度
rpm -Uvh <包名>:升级软件包
查询选项(用于软件查询模式):
rpm -q [查询选项]
查询选项有两套:软件包选择和信息选择。
软件包选择选项:<软件包名> 查询<package_name>软件包
-a: 对所有软件包进行查询
-f <文件>: 查询包括<文件>的软件包
-p <包文件>: 查询已安装或未安装的<包文件>
信息选择选项:
-i:显示软件包名、版本、说明等信息
-R:显示当前包依赖的包目录
--provides:显示软件包提供的功能
-l:显示软件包内的文件
-s:显示软件包内文件的状态
-d:仅显示文本文件(包括-l)
-c:仅显示设置文件(包括-l)
常用组合指令 -qpl:列出RPM软件包内的文件信息[Query Package list]
-qpi:列出RPM软件包的描述信息[Query Package install package(s)]
-qf:查找指定文件属于哪个RPM软件包[Query File]
卸载选项(用于软件卸载模式)
rpm -e <包文件>
--noscripts:不执行preuninstall、postuninstall脚本
--nodeps:卸载包时不检查依赖性
--test:实际不卸载包,只进行测试。-vv选项。
重制作、重编译选项
rpm --recompile <源包文件>+
rpm --rebuild <源包文件>+ :可用于创建新二进制包。
主要用于.src.rpm软件包的安装,如:
rpm --recompile vim-4.6-4.src.rpm #这个命令会把源代码解包并编译、安装它,如果用户使用命令:
rpm --rebuild vim-4.6-4.src.rpm #在安装完成后,还会把编译生成的可执行文件重新包装成i386.rpm的RPM软件包。