Linux软件包管理完全指南

发布时间:2026/7/29 7:30:28
Linux软件包管理完全指南 Linux 软件包管理完全指南从 RPM 到 YUM 发布时间2026-07-28️ 标签LinuxRPMYUM软件包管理CentOS运维 适用系统RHEL / CentOS 7 / Rocky / AlmaLinux 等 RPM 系发行版 目录一、软件包管理概述二、RPM 包深度解析2.1 RPM 包文件名格式2.2 RPM 包的组成2.3 RPM 包安装与更新原则三、rpm 命令实战3.1 查询操作重点3.2 验证操作3.3 安装与卸载3.4 提取 RPM 包中的文件四、YUM 包管理器4.1 YUM 常用命令4.2 软件包组管理4.3 YUM 历史记录五、总结一、软件包管理概述在 Windows 中我们习惯通过控制面板 → 程序和功能来管理软件或者直接从官网下载.exe安装包。而在 Linux 世界中软件包管理同样至关重要。Linux 两大包管理体系体系发行版包格式管理工具RPM 系RHEL、CentOS、Fedora、Rocky.rpmrpm、yum、dnfDEB 系Debian、Ubuntu、Kali.debdpkg、apt本文聚焦 RPM 系以 CentOS 7 为主要实践环境。二、RPM 包深度解析2.1 RPM 包文件名格式RPM 软件包文件名遵循严格的命名规范name-version-release.architecture.rpm示例lrzsz-0.12.20-36.el7.x86_64.rpm字段含义示例name软件名称lrzszversion原始软件版本号0.12.20release发行版号由打包商设置36.el7architecture处理器架构x86_64常见架构标识noarch不限制架构如纯脚本、文档包x86_6464 位 x86 架构aarch64ARM 64 位架构2.2 RPM 包的组成每个 RPM 包包含三个核心部分待安装的文件二进制、配置文件、文档等元数据信息名称、版本、依赖关系、许可证、变更日志脚本安装、更新、卸载时自动执行的脚本数字签名软件提供商使用 GPG 私钥对 RPM 包签名客户端用公钥验证确保包未被篡改。2.3 RPM 包安装与更新原则版本原则同一软件通常只能装一个版本kernel 是例外可装多个方便回滚升级策略直接安装最新版即可无需逐步升级配置保留升级 RPM 包时配置文件通常会被保留三、rpm 命令实战rpm是底层包管理工具不自动解决依赖适合查询和验证。3.1 查询操作重点# 查询系统中所有已安装的包rpm-qa# 查询某个包是否已安装rpm-qhttpd# 查询已安装包的详细信息rpm-qcoreutils-i# 查询已安装包包含哪些文件rpm-qopenssh-server-l# 查询已安装包包含哪些配置文件rpm-qopenssh-server-c# 查询已安装包包含哪些文档rpm-qopenssh-server-d# 查询某个文件属于哪个包rpm-qf/etc/ssh/sshd_config# 查询已安装包的安装/卸载脚本rpm-qopenssh-server--scripts# 查询未安装的 rpm 包文件信息rpm-qphttpd-2.4.6.x86_64.rpm-c3.2 验证操作# 验证已安装包的完整性rpm-Vopenssh-server验证结果解读S 文件大小改变M 模式/权限改变5 MD5 校验值改变T 文件修改时间改变c 配置文件# 示例修改 sshd 配置后验证sed-is/PermitRootLogin yes/PermitRootLogin no/g/etc/ssh/sshd_configrpm-Vopenssh-server# 输出S.5....T. c /etc/ssh/sshd_config3.3 安装与卸载# 安装 rpm 包rpm-ilrzsz-0.12.20-36.el7.x86_64.rpm# 友好安装显示进度条rpm-ivhlrzsz-0.12.20-36.el7.x86_64.rpm# 卸载rpm-elrzsz# 友好卸载rpm-evhlrzsz# 重新安装rpm--reinstall-vhlrzsz⚠️注意rpm -i不会自动解决依赖如果缺少依赖包会报错。这正是 YUM 存在的意义。3.4 提取 RPM 包中的文件有时我们只想提取 RPM 中的某个文件而不想完整安装# 一步提取所有文件rpm2cpio httpd-2.4.6.x86_64.rpm|cpio-id*# 提取特定文件rpm2cpio httpd-2.4.6.x86_64.rpm|cpio-id./etc/httpd/conf/httpd.conf四、YUM 包管理器YUMYellowdog Updater Modified是 RPM 系的高级包管理工具核心优势✅自动解决依赖✅从远程仓库下载✅支持软件包组管理4.1 YUM 常用命令# 查看命令帮助yumhelp# 查看仓库中软件包信息yum info httpd# 列出软件包支持通配符yum listhttp*# 查看软件包所有可用版本yum list httpd--showduplicates# 按关键字搜索yum searchweb server# 查看哪个包提供某个文件/命令yum provides sar# 安装软件包yuminstall-yvsftpd# 仅下载不安装含依赖yuminstallvsftpd--downloadonly--downloaddir/root/# 安装本地 rpm 包yum localinstall ./vsftpd-3.0.2.x86_64.rpm# 升级软件包yum update vsftpd# 升级系统所有包yum update# 降级软件包yum downgrade-yhttpd-2.4.6-97.el7.centos# 卸载软件包yum remove-yvsftpd在这里插入图片描述4.2 软件包组管理# 查看所有软件包组yum grouplist# 查看英文名称方便脚本使用yum grouplist-v# 查看组内包含哪些包yum groupinfoServer with GUI# 安装软件包组yum groupinstallServer with GUI# 卸载软件包组yum groupremoveMariaDB Client4.3 YUM 历史记录YUM 会自动记录每一次事务方便回溯# 查看历史记录yumhistorylist# 查看某次事务详情yumhistoryinfo2# 撤销某次操作如误删yumhistoryundo4# 重做某次操作yumhistoryredo4五、总结场景推荐工具说明查询已安装包信息rpm -q快速、精准安装/卸载软件yum自动解决依赖批量升级系统yum update一键更新核心口诀查询用 rpm安装用 yum。推荐阅读CentOS 官方文档RPM 官方手册阿里云镜像站如有疑问欢迎在评论区留言交流本文基于课堂笔记整理持续更新中…