Linux怎么安装rpm包_Linux如何使用rpm命令装软件【方法】

梦枫小哥_4434

梦枫小哥_4434

2026-03-31

386人浏览

原创

rpm -ivh安装失败因不解决依赖,应优先用yum/dnf install ./package.rpm;必须用rpm时可查缺包后手动装或--nodeps强制跳过;新装建议-uvh避免已存在报错;验签用rpm -k,卸载用rpm -e包名。

linux怎么安装rpm包_linux如何使用rpm命令装软件【方法】

rpm -ivh 安装失败:提示依赖未满足怎么办

直接用 rpm -ivh package.rpm 装包,十有八九报错 Failed dependencies。这不是命令写错了,是 rpm 本身不自动解决依赖——它只校验、不下载、不递归安装。

常见错误现象:error: Failed dependencies: libxxx.so.5 is needed by xxx-1.0-1.x86_64,或者 package xxx is already installed 却又提示缺失依赖。

  • 优先改用 yum install ./package.rpm 或 dnf install ./package.rpm(CentOS 8+/RHEL 8+ 用 dnf),它们会自动拉取并安装依赖
  • 如果必须用 rpm,先加 --nodeps 强制跳过依赖检查(不推荐),或用 rpm -qpR package.rpm 查出缺哪些包,再手动 yum install 补齐
  • 注意路径:./package.rpm 不能写成 package.rpm(没当前目录前缀时,rpm 会去数据库查已安装包名,不是读文件)

rpm -Uvh 和 rpm -ivh 到底该用哪个

rpm -ivh 是“安装”,rpm -Uvh 是“升级”——但后者在包未安装时行为等同于安装,已安装时才真正升级。关键区别在语义和默认行为。

  • 新装软件,两个都行;但若目标包已存在旧版本,-ivh 会直接报错 package xxx is already installed,而 -Uvh 会替换掉旧版
  • -Uvh 还会保留配置文件(除非新包明确标记为覆盖),-ivh 不处理已有配置,容易导致冲突
  • 生产环境建议统一用 -Uvh,避免因判断是否已安装而多一步检查,也更符合运维直觉

如何验证 rpm 包是否损坏或来源不可信

直接 rpm -ivh 装来路不明的包,风险不小。rpm 自带签名和完整性校验,但默认不启用。

  • 先查签名:rpm -K package.rpm,输出里出现 OK 才说明包没被篡改;若报 gpg NOT OK,说明没签名或签名无效
  • 导入公钥才能验签:rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial(路径依发行版而异)
  • 装包时加 --checksig 可显式验签:rpm -K --checksig package.rpm
  • 注意:很多第三方 rpm 包根本没签名,rpm -K 会一直显示 gpg NOT OK,这时得靠人工确认来源可信度

rpm 安装后文件去哪儿了?怎么卸载干净

rpm 不像源码编译那样自由指定 prefix,所有路径由包作者在构建时硬编码进 spec 文件,用户无法安装时修改。

  • 查已安装包的文件列表:rpm -ql package-name(注意是已安装的包名,不是 rpm 文件名)
  • 查某个文件属于哪个包:rpm -qf /path/to/file
  • 卸载:rpm -e package-name;别写成 rpm -e package.rpm,会报 package package.rpm is not installed
  • 卸载不干净的典型原因:包被其他包依赖(error: Failed dependencies),此时加 --nodeps 强制卸载,但可能破坏系统功能

真正麻烦的是那些没进 rpm 数据库的文件——比如包里执行 %post 脚本生成的配置、日志或临时数据,rpm 不管这些,得自己清理。

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
scripterror怎么解决
scripterror怎么解决

scripterror的解决办法有检查语法、文件路径、检查网络连接、浏览器兼容性、使用try-catch语句、使用开发者工具进行调试、更新浏览器和JavaScript库或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

949

5

500error怎么解决
500error怎么解决

500error的解决办法有检查服务器日志、检查代码、检查服务器配置、更新软件版本、重新启动服务、调试代码和寻求帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.25

2660

5

数据库三范式
数据库三范式

数据库三范式是一种设计规范,用于规范化关系型数据库中的数据结构,它通过消除冗余数据、提高数据库性能和数据一致性,提供了一种有效的数据库设计方法。本专题提供数据库三范式相关的文章、下载和课程。

2023.06.29

2505

3

如何删除数据库
如何删除数据库

删除数据库是指在MySQL中完全移除一个数据库及其所包含的所有数据和结构,作用包括:1、释放存储空间;2、确保数据的安全性;3、提高数据库的整体性能,加速查询和操作的执行速度。尽管删除数据库具有一些好处,但在执行任何删除操作之前,务必谨慎操作,并备份重要的数据。删除数据库将永久性地删除所有相关数据和结构,无法回滚。

2023.08.14

3781

10

vb怎么连接数据库
vb怎么连接数据库

在VB中,连接数据库通常使用ADO(ActiveX 数据对象)或 DAO(Data Access Objects)这两个技术来实现:1、引入ADO库;2、创建ADO连接对象;3、配置连接字符串;4、打开连接;5、执行SQL语句;6、处理查询结果;7、关闭连接即可。

2023.08.31

2731

3

MySQL恢复数据库
MySQL恢复数据库

MySQL恢复数据库的方法有使用物理备份恢复、使用逻辑备份恢复、使用二进制日志恢复和使用数据库复制进行恢复等。本专题为大家提供MySQL数据库相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.05

907

5

vb中怎么连接access数据库
vb中怎么连接access数据库

vb中连接access数据库的步骤包括引用必要的命名空间、创建连接字符串、创建连接对象、打开连接、执行SQL语句和关闭连接。本专题为大家提供连接access数据库相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

2447

5

数据库对象名无效怎么解决
数据库对象名无效怎么解决

数据库对象名无效解决办法:1、检查使用的对象名是否正确,确保没有拼写错误;2、检查数据库中是否已存在具有相同名称的对象,如果是,请更改对象名为一个不同的名称,然后重新创建;3、确保在连接数据库时使用了正确的用户名、密码和数据库名称;4、尝试重启数据库服务,然后再次尝试创建或使用对象;5、尝试更新驱动程序,然后再次尝试创建或使用对象。

2023.10.16

2447

4

vb连接access数据库的方法
vb连接access数据库的方法

vb连接access数据库方法:1、使用ADO连接,首先导入System.Data.OleDb模块,然后定义一个连接字符串,接着创建一个OleDbConnection对象并使用Open() 方法打开连接;2、使用DAO连接,首先导入 Microsoft.Jet.OLEDB模块,然后定义一个连接字符串,接着创建一个JetConnection对象并使用Open()方法打开连接即可。

2023.10.16

2813

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习