每日linux命令学习-rpm命令

时间:2022-07-20 15:23:09

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软件包。