Linux rpm 包安装与卸载方法

1次阅读

Linux rpm 包安装与卸载方法

linux 中 rpm 包的安装与卸载,核心是使用 rpm 命令,但需注意依赖关系和权限问题。直接用 rpm 安装不自动解决依赖,推荐优先用 yumdnf(取决于系统版本),它们会自动处理依赖。

安装 rpm 包

使用 rpm -i 安装本地 rpm 文件:

  • 基础安装:`sudo rpm -i package.rpm` —— 若依赖缺失会报错并中止
  • 强制安装(不推荐):`sudo rpm -i –force package.rpm` —— 覆盖已存在文件,可能破坏系统
  • 忽略依赖(高风险):`sudo rpm -i –nodeps package.rpm` —— 易导致软件无法运行
  • 安装并显示详细过程:`sudo rpm -ivh package.rpm`(v=verbose, h=hash 进度条

更稳妥的方式是用包管理器安装:
`sudo yum localinstall package.rpm`(centos 7/RHEL 7)
`sudo dnf install package.rpm`(CentOS 8+/RHEL 8+、Fedora)

查询已安装的 rpm 包

确认是否已装、查版本或找安装路径:

  • 查是否安装:`rpm -q package-name`(如 `rpm -q nginx`)
  • 查所有已安装包:`rpm -qa | grep keyword`
  • 查包信息(含版本、大小、描述):`rpm -qi package-name`
  • 查安装文件列表:`rpm -ql package-name`
  • 查包所属文件(反查):`rpm -qf /path/to/file`(如 `rpm -qf /usr/bin/python3`)

卸载 rpm 包

仅卸载指定包,不自动清理依赖项(依赖包若无其他程序调用,会残留):

  • 标准卸载:`sudo rpm -e package-name`(注意是包名,不是 .rpm 文件名)
  • 卸载时忽略依赖(慎用):`sudo rpm -e –nodeps package-name`
  • 查看卸载前会删哪些文件:`sudo rpm -qpl package.rpm` 先确认,再决定是否卸载

如果用 yum/dnf 安装的,建议也用对应命令卸载:`sudo yum remove package-name` 或 `sudo dnf remove package-name`,它会提示并处理关联依赖。

常见问题与提醒

  • 权限不足:所有安装/卸载操作必须加 sudo
  • 包名混淆:`rpm -q` 查的是 安装后的名称,常比 .rpm 文件名短(如 nginx-1.20.1-1.el7.x86_64.rpm 对应包名通常是 nginx
  • 依赖错误:遇到 “Failed dependencies” 时,不要硬加 --nodeps,先尝试 `yum install` 或查缺的包名再补装
  • 验证完整性:`rpm -K package.rpm` 可校验包是否损坏或被篡改
text=ZqhQzanResources