首页/系统/信创系统运维速查/rpm 本地安装与常用参数
命令与包管理65 条

rpm 本地安装与常用参数

rpm -ivh 装但不管依赖、-Uvh 升级安装;能联源时优先用 dnf 装本地包,--nodeps --force 属高危参数要慎用。

信创系统运维速查系统更新于 2026-10-13

本地 rpm 包怎么装

rpm 命令直接操作本地 rpm 文件:-ivh 安装、-Uvh 升级安装,但它不做依赖解析。能联源时更推荐用 dnf 安装本地包,让工具自动补齐依赖。--nodeps 与 --force 属于高危参数,会把系统带到依赖破损状态,只在明确后果并准备好回滚时使用。

基本信息

安装rpm -ivh 包文件.rpm
升级安装rpm -Uvh 包文件.rpm
仅升级已装rpm -Fvh 包文件.rpm
查看依赖rpm -qpR 包文件.rpm
推荐方式dnf install ./包文件.rpm(可解析依赖)

典型使用场景

  • 离线环境安装厂商提供的 rpm 包
  • 安装特定版本的包,避开仓库里的新版本
  • 交付验收时核对包内脚本与依赖
  • 从归档中恢复某个被误删的软件包
  • 排查依赖破损问题并逐项修复

示例与自查

示例与自查
rpm -qpR ./app-1.0-1.aarch64.rpm      # 先看包声明的依赖
rpm -qpl ./app-1.0-1.aarch64.rpm | head   # 看包会安装哪些文件
rpm -q --scripts app                   # 查看安装脚本内容
rpm -ivh ./app-1.0-1.aarch64.rpm       # 安装
rpm -Uvh ./app-1.1-1.aarch64.rpm       # 升级安装
rpm -qa | grep app                     # 确认已安装版本
rpm -V app                             # 校验已装文件是否被改动

参数对照

参数作用注意点
-ivh安装新包同名包已存在时会冲突报错
-Uvh升级或安装升级场景的常规选择
-Fvh仅升级已安装的包不会新装未安装的包
-qpR查看包声明的依赖安装前必做
--nodeps忽略依赖检查高危,会留下破损状态
--force强制覆盖安装高危,可能覆盖系统文件

安装前检查

  • 确认包与系统体系架构一致
  • 查看包声明的依赖是否满足
  • 查看安装脚本会做哪些动作
  • 确认版本号与升级路径符合预期
  • 准备好失败后的卸载或回滚手段
--nodeps 与 --force 会把系统带到依赖破损或文件被覆盖的状态,仅在完全清楚后果并准备好回滚时使用;能联源时优先交给 dnf 处理依赖。

与 dnf 安装的差异

  • 依赖解析:dnf 会自动补齐
  • 本地包安装:dnf 也支持直接安装包文件
  • 离线环境:rpm 更直接可用
  • 变更记录:两种方式都会写入事务历史

易错点

  • 装前不查依赖与脚本:可能装到一半失败留下半成品状态,先做 -qpR 与 --scripts 检查
  • 同名包已存在时仍用 -ivh:直接冲突报错,升级场景应改用 -Uvh
  • 滥用 --nodeps 与 --force:系统进入依赖破损状态后修复成本高,尽量用 dnf 补依赖
  • 安装架构不匹配的包:会直接失败或留下异常状态,包名中的架构字段要与系统一致
  • 装完不做校验:用 rpm -V 确认文件完整性与权限是否符合预期
  • 离线环境忽略依赖安装顺序:应先按依赖顺序安装或搭建本地源,否则会反复报依赖不满足

数据来源与参考

  • rpm 手册
  • RPM 打包指南
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌