【rpm编程】命令rpm

rpm命令

命令选项:

-a 查询所有的软件包
-b或-t 设置包装套件的完成阶段,并指定套件档的文件名称;
-c 只列出组态配置文件,本参数需配合”-l”参数使用
-d 只列出文本文件,本参数需配合”-l”参数使用
-e或--erase 卸载软件包
-f 查询文件或命令属于哪个软件包
-h或--hash 安装软件包时列出标记
-i --install 安装软件包
-l 显示软件包的文件列表
-p 显示指定的软件包信息
-q 显示指定软件包是否已安装
-R 显示软件包的依赖关系
-s 显示文件状态,本参数需配合”-l”参数使用
-U或--upgrade 升级软件包
-v 显示命令执行过程
-vv 详细显示指令执行过程

删除rpm包:

# rpm -e PACKAGE_NAME
# rpm -e --nodeps PACKAGE_NAME      # 不考虑依赖包
# rpm -e --allmatches PACKAGE_NAME  # 删除所有跟PACKAGE_NAME匹配的所有版本的包

查询rpm包内容:

rpm -qpl *.rpm

解压rpm:rpm使用cpio格式打包的,因此可以先转成cpio然后解压,如下所示:

rpm2cpio xxx.rpm | cpio -div

例如:

# rpm2cpio oracle-instantclient11.2-basic-11.2.0.2.0.i386.rpm | cpio -div
./usr/lib/oracle/11.2/client/bin/adrci
./usr/lib/oracle/11.2/client/bin/genezi
./usr/lib/oracle/11.2/client/lib/libclntsh.so.11.1
./usr/lib/oracle/11.2/client/lib/libnnz11.so
./usr/lib/oracle/11.2/client/lib/libocci.so.11.1
./usr/lib/oracle/11.2/client/lib/libociei.so
./usr/lib/oracle/11.2/client/lib/libocijdbc11.so
./usr/lib/oracle/11.2/client/lib/ojdbc5.jar
./usr/lib/oracle/11.2/client/lib/ojdbc6.jar
./usr/lib/oracle/11.2/client/lib/xstreams.jar
336597 块

安装:

查询安装包信息:

rpm -qa | grep [package_name]

 

升级某个软件包:

[root@linuxcool ~]# rpm -Uvh cockpit-185-2.el8.x86_64.rpm 
Verifying... ################################# [100%] 
Preparing... ################################# [100%] 
Updating / installing... 1:cockpit-185-2.el8 ################################# [100%]

参考资料

1. rpm命令 – RPM软件包管理器

posted @ 2023-04-28 14:52  苏格拉底的落泪  阅读(93)  评论(0编辑  收藏  举报