RPM命令详解(安装、卸载、升级)

RPM命令详解(安装、卸载、升级)零 rpm 常用命令 1 安装一个包 rpm ivh2 升级一个包 rpm Uvh3 卸载一个包 rpm e 首先通过 rpm q 可以查询到 rpm 包的名字 然后调用 rpm e 删除特定 rpm 包

大家好,欢迎来到IT知识分享网。

零、rpm 常用命令

1.安装一个包
# rpm -ivh

2.升级一个包
# rpm -Uvh

3.卸载一个包
# rpm -e

   首先通过  rpm -q <关键字> 可以查询到rpm包的名字, 

   然后 调用 rpm -e <包的名字> 删除特定rpm包。 

   如果遇到依赖,无法删除,使用 rpm -e –nodeps <包的名字> 不检查依赖,直接删除rpm包。 

   如果恰好有多个包叫同样的名字,使用 rpm -e –allmatches –nodeps <包的名字> 删除所有相同名字的包, 并忽略依赖。

4.安装参数
–force 即使覆盖属于其它包的文件也强迫安装
–nodeps 如果该RPM包的安装依赖其它包,即使其它包没装,也强迫安装。

5.查询一个包是否被安装
# rpm -q < rpm package name>

6.得到被安装的包的信息
# rpm -qi < rpm package name>

7.列出该包中有哪些文件
# rpm -ql < rpm package name>

8.列出服务器上的一个文件属于哪一个RPM包
#rpm -qf

9.可综合好几个参数一起用
# rpm -qil < rpm package name>

10.列出所有被安装的rpm package
# rpm -qa

11.列出一个未被安装进系统的RPM包文件中包含有哪些文件?
# rpm -qilp < rpm package name>

一、安装


命令格式:

rpm -i ( or –install) options file1.rpm … fileN.rpm

参数:

file1.rpm … fileN.rpm 将要安装的RPM包的文件名

详细选项:

-h (or –hash) 安装时输出hash记号 (“#”)
–test 只对安装进行测试,并不实际安装。
–percent 以百分比的形式输出安装的进度。
–excludedocs 不安装软件包中的文档文件
–includedocs 安装文档
–replacepkgs 强制重新安装已经安装的软件包
–replacefiles 替换属于其它软件包的文件
–force 忽略软件包及文件的冲突
–noscripts 不运行预安装和后安装脚本
–prefix 将软件包安装到由 指定的路径下
–ignorearch 不校验软件包的结构
–ignoreos 不检查软件包运行的操作系统
–nodeps 不检查依赖性关系
–ftpproxy 用 作为 FTP代理
–ftpport 指定FTP的端口号为

通用选项

-v 显示附加信息
-vv 显示调试信息
–root 让RPM将指定的路径做为”根目录”,这样预安装程序和后安
装程序都会安装到这个目录下
–rcfile 设置rpmrc文件为
–dbpath 设置RPM 资料库存所在的路径为

二、删除


命令格式:

rpm -e ( or –erase) options pkg1 … pkgN

参数

pkg1 … pkgN :要删除的软件包

详细选项

–test 只执行删除的测试
–noscripts 不运行预安装和后安装脚本程序
–nodeps 不检查依赖性

通用选项

-vv 显示调试信息
–root 让RPM将指定的路径做为”根目录”,这样预安装程序和后安装
程序都会安装到这个目录下
–rcfile 设置rpmrc文件为

–dbpath 设置RPM 资料库存所在的路径为


三、升级


命令格式

rpm -U ( or –upgrade) options file1.rpm … fileN.rpm

参数

file1.rpm … fileN.rpm 软件包的名字

详细选项

-h (or –hash) 安装时输出hash记号 (“#”)
–oldpackage 允许”升级”到一个老版本
–test 只进行升级测试
–excludedocs 不安装软件包中的文档文件
–includedocs 安装文档
–replacepkgs 强制重新安装已经安装的软件包
–replacefiles 替换属于其它软件包的文件
–force 忽略软件包及文件的冲突
–percent 以百分比的形式输出安装的进度。
–noscripts 不运行预安装和后安装脚本
–prefix 将软件包安装到由 指定的路径下
–ignorearch 不校验软件包的结构
–ignoreos 不检查软件包运行的操作系统
–nodeps 不检查依赖性关系
–ftpproxy 用 作为 FTP代理
–ftpport 指定FTP的端口号为

通用选项

-v 显示附加信息
-vv 显示调试信息
–root 让RPM将指定的路径做为”根目录”,这样预安装程序和后安装程序都会安装到这个目录下
–rcfile 设置rpmrc文件为
–dbpath 设置RPM 资料库存所在的路径为

四、查询


命令格式:

rpm -q ( or –query) options

参数:

pkg1 … pkgN :查询已安装的软件包

详细选项

-p (or “-”) 查询软件包的文件
-f 查询属于哪个软件包
-a 查询所有安装的软件包
–whatprovides 查询提供了 功能的软件包
-g 查询属于 组的软件包
–whatrequires 查询所有需要 功能的软件包

信息选项

显示软件包的全部标识
-i 显示软件包的概要信息
-l 显示软件包中的文件列表
-c 显示配置文件列表
-d 显示文档文件列表
-s 显示软件包中文件列表并显示每个文件的状态
–scripts 显示安装、卸载、校验脚本
–queryformat (or –qf) 以用户指定的方式显示查询信息
–dump 显示每个文件的所有已校验信息
–provides 显示软件包提供的功能
–requires (or -R) 显示软件包所需的功能

通用选项

-v 显示附加信息
-vv 显示调试信息
–root 让RPM将指定的路径做为”根目录”,这样预安装程序和后安装程序都会安装到这个目录下
–rcfile 设置rpmrc文件为
–dbpath 设置RPM 资料库存所在的路径为

五、校验已安装的软件包


命令格式:

rpm -V ( or –verify, or -y) options

参数

pkg1 … pkgN 将要校验的软件包名

软件包选项

-p Verify against package file
-f 校验所属的软件包
-a Verify 校验所有的软件包
-g 校验所有属于组 的软件包

详细选项

–noscripts 不运行校验脚本
–nodeps 不校验依赖性
–nofiles 不校验文件属性

通用选项

-v 显示附加信息
-vv 显示调试信息
–root 让RPM将指定的路径做为”根目录”,这样预安装程序和后安装程序都会安装到这个目录下
–rcfile 设置rpmrc文件为
–dbpath 设置RPM 资料库存所在的路径为

六、校验软件包中的文件


语法:

rpm -K ( or –checksig) options file1.rpm … fileN.rpm

参数:

file1.rpm … fileN.rpm 软件包的文件名

Checksig–详细选项

–nopgp 不校验PGP签名

通用选项

-v 显示附加信息
-vv 显示调试信息
–rcfile 设置rpmrc文件为

七、其它RPM选项


–rebuilddb 重建RPM资料库
–initdb 创建一个新的RPM资料库
–quiet 尽可能的减少输出
–help 显示帮助文件

–version 显示RPM的当前版本


八、修复rpm数据库

                                      

      有的时候,我们的rpm的数据库会因为某些原因损坏,这样当你执行rpm的相关命令的时候就会报类似下面的错误:

rpmdb: fatal region error detected; run recovery
error: db4 error(-30982) from dbenv->open: DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index

      这样的后果是你将不能使用rpm来添加删除,更新查询你系统的RPM软件包了,其实只要按照下面的步骤做就可以恢复您的RPM数据库而不需要重新安装系统

# cd /var/lib
# mv rpm rpm.old
# mkdir rpm
# rpmdb –initdb
# cp rpm.old/Packages rpm
# rpmdb –rebuilddb

      就可以了
      以上是针对redhat8 和redhat9的做法如果是以前的版本或者其他版本的linux
      请按照下面的步骤进行

# cd /var/lib
# mv rpm rpm.old
# mkdir rpm
# rpm –initdb
# cp rpm.old/Packages rpm
# rpm –rebuilddb

  

另一篇

Repair RPM database

      当进行包安装、升级、卸载等操作时,可能损坏RPM DB,这时需要通过–rebuild参数来修复RPM DB,但有时会碰到这样的问题:

[root@tiv125 lib]# rpm -v –rebuilddb
rpmdb: fatal region error detected; run recovery
error: db4 error(-30982) from dbenv->open: DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index

 

如果有帮助,请点击推荐给更多需要的人


推荐


免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/143143.html

(0)
上一篇 2025-05-05 18:10
下一篇 2025-05-05 18:20

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信