供应商发来一个 .rpm 安装包,你在 Ubuntu 上用 dpkg 装了三次都失败——方向就错了。rpm 是 RedHat 系发行版的包格式,Debian 和 Ubuntu 用的是 deb,两种格式互不通用。

rpm 命令的高频用法

  • 安装:rpm -ivh 包名.rpm,i 是安装,v 显示过程,h 显示进度条。
  • 升级:rpm -Uvh 包名.rpm,没装过就等于安装。
  • 卸载:rpm -e 包名,注意这里写软件包名,不是文件名。
  • 查询:rpm -qa 列出全部已装包,配合 grep 搜;rpm -ql 包名 看它往系统里放了哪些文件。

还有个反查很实用:想知道某个文件属于哪个包,用 rpm -qf 加文件完整路径。查单个包的详细信息用 rpm -qi 包名,打包时间、描述都会列出来。

接手老机器先盘一遍

拿到不熟悉的 CentOS 机器,先 rpm -qa 配合 grep 把数据库、中间件相关的包过一遍,装了什么版本心里有底,比翻目录猜快得多。想卸载又怕牵连,加 --test 试跑一遍,只检查不真删。

依赖报错怎么办

直接 rpm -ivh 装第三方包,经常报依赖缺失,一个套一个,报错信息里缺哪个都会写明,对照着补也行,就是慢。一般改用 yum localinstall 包名.rpm 或 dnf install,它们会自动去仓库把缺的依赖装齐,Fedora、CentOS 这类系统上基本一遍过。

来历不明的包先验一验

rpm -K 包名 能看签名验证结果,正规渠道的包一般带 GPG 签名。验签失败或干脆没签名的包,装之前找发布方确认来源,别因为急着用就往里装。

记一条判断标准:RedHat 系用 rpm 配 yum 或 dnf,Debian 系用 deb 配 apt,包格式别混着装,混了之后清理起来非常麻烦。--force 和 --nodeps 这类强制参数能跳过检查,但装出来的东西依赖残缺,运行时才炸,除非明确知道自己在做什么,否则别碰。