资讯动态

6、Linux 软件包管理:rpm 与 yum 从入门到实战

发布时间:2026/9/27 17:27:05 来源:尧图企业网站定制
1. Linux 应用程序管理基础应用程序与系统命令区别系统命令可理解为操作系统出厂自带的系统应用开机即可使用主要用于系统管理、维护大多在字符界面运行应用程序则相当于用户自行安装的独立软件需要另行安装提供独立的业务功能既可在命令行运行也可能带图形界面。内建命令与外置命令内建命令集成在 ShellBash内部随 Shell 启动即可使用无需独立可执行文件外置命令则是独立的可执行文件必须存放在 PATH 环境变量指定的目录中系统才能找到并调用。1.1 命令文件位置典型约定类型说明常见路径系统命令外部体积小随操作系统自带安装/bin/sbin系统命令内部 / 内建集成在 ShellBash内部内建命令无独立可执行文件应用程序普通用户可执行独立软件的普通执行命令/usr/bin/usr/local/bin应用程序管理 / 服务管理员专用管理工具、服务程序/usr/sbin/usr/local/sbin区分小提示bin普通用户可执行sbin管理员 root 专用1.2 命令与应用程序特性1.2.1 主要用途系统命令随操作系统预装用于系统管理、维护。应用程序一般需要额外安装提供独立业务功能软件。1.2.2 适用环境系统命令大多在终端 / 字符界面使用。应用程序可以命令行运行部分带图形界面。1.2.3 运行格式系统命令标准格式命令 选项 参数应用程序执行格式由开发者定义不固定。1.3 软件包安装后的典型目录结构安装软件后会新增多类文件文件类型作用典型存放路径普通可执行文件用户可直接运行的程序/usr/bin/管理 / 服务可执行仅管理员运行的工具、守护进程/usr/sbin/配置文件程序运行参数/etc/支持子目录日志文件程序运行产生日志/var/log/文档 / 示例说明文档、示例文件/usr/share/doc/man 手册命令帮助手册/usr/share/man/示例查看 postfix 软件安装后所有文件清单rpm -ql postfix1.4 安装包格式常识需明确不同系统的安装包格式与安装工具。RPM 包适用于 Red Hat、CentOS、Fedora 等使用 rpm 或 yum 工具安装。DEB 包适用于 Ubuntu 等 Debian 系系统使用 apt 或 dpkg 工具安装。TAR.GZ / TAR.BZ2源码编译包需 gcc 和 make 等编译环境支持。自带安装程序如 install.sh 等脚本解包后直接运行即可。2. rpm 与 yum 包管理工具对比rpm 工具局限性rpm 安装软件时只负责处理当前软件包本身不会自动处理其依赖关系。若软件存在依赖包安装会因缺少依赖而失败需要手动逐一补齐操作较为繁琐。yum 工具优势yum 安装软件时会自动检查并处理依赖关系将所需依赖包一并安装无需手动干预。由于能够自动解决依赖问题企业日常运维推荐优先使用 yum。小结rpm 适合单包安装与查询yum 适合批量安装与依赖管理日常运维优先使用 yumrpm 多用于查询与验证。3. RPM 包管理工具实操3.1 查询已安装包日常高频使用rpm -q查询是否安装rpm -ql查询文件列表rpm -qc查询配置文件rpm -qa列出所有已安装包。简单记-q查单个-qa查全部-ql查文件-qc查配置。常用查询命令示例# 查询指定软件包是否已安装 rpm -q httpd # 列出已安装软件包的所有文件 rpm -ql httpd # 查询软件包的配置文件 rpm -qc httpd # 列出系统中所有已安装的软件包 rpm -qa3.2 命名规则解析标准格式为「软件名-版本号-发布次数-硬件平台.扩展名」。其中软件名标识具体程序版本号表示功能迭代发布次数表示修订次数硬件平台如x86_64表示系统架构为 64 位需与机器架构匹配才能正常安装。3.3 安装升级卸载使用rpm -ivh安装rpm -uvh升级rpm -evh卸载。字母含义i安装install、u升级update、e卸载erase、v显示详情、h显示进度条。生产环境不推荐忽略依赖检查。3.4 挂载光盘镜像实操演示将 ISO 镜像设备挂载至/mnt目录后通过管道符过滤并精准定位特定软件包进行安装与验证。下面给出一个从挂载 ISO 镜像、配置本地 yum 源到安装指定软件包的完整实战案例。该案例与第 4 章「yum 本地源配置流程」相互呼应此处侧重完整命令序列演示第 4 章侧重参数解析与错误排查。3.4.1 挂载 ISO 镜像首先创建挂载点并将 ISO 镜像设备挂载到/mnt目录。# 创建挂载点目录 mkdir -p /mnt # 挂载 ISO 镜像设备设备名以实际为准常见为 /dev/cdrom 或 /dev/sr0 mount -o loop /dev/cdrom /mnt # 验证挂载是否成功 df -h /mnt预期输出df 命令会显示 /mnt 挂载点的文件系统、容量和使用率等信息例如Filesystem Size Used Avail Use% Mounted on /dev/sr0 4.3G 4.3G 0 100% /mnt常见错误提示mount: /dev/cdrom is not a block device设备名不正确可改用lsblk查看实际设备名。mount: /mnt: mount point does not exist挂载点目录未创建先执行mkdir -p /mnt。mount: no medium found on /dev/sr0光驱中没有光盘或 ISO 未正确连接请检查虚拟机光驱设置。3.4.2 配置本地 yum 源将原有仓库文件备份并创建指向挂载目录的本地仓库配置文件。# 备份原有仓库文件 mkdir -p /etc/yum.repos.d/backup mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/ # 创建本地仓库配置文件 cat /etc/yum.repos.d/local.repo EOF [local] nameLocal Yum Repository baseurlfile:///mnt enabled1 gpgcheck0 EOF # 清理缓存并重新生成元数据 yum clean all yum makecache预期输出执行yum makecache后会显示正在加载本地仓库元数据并提示元数据缓存已建立例如Loaded plugins: fastestmirror local | 3.6 kB 00:00:00 (1/2): local/group_gz | 153 kB 00:00:00 (2/2): local/primary_db | 3.1 MB 00:00:00 Metadata Cache Created常见错误提示Could not open/read repomd.xmlbaseurl 指向的目录下没有 repodata 目录请确认挂载点内容是否正确。Cannot retrieve repository metadata挂载未成功或路径格式错误检查ls /mnt是否能看到 repodata 目录。GPG key retrieval failedgpgcheck 设为 1 但缺少公钥本地源建议设为 0 跳过签名验证。3.4.3 安装指定软件包通过 yum 搜索并安装指定软件包这里以安装 httpdApache Web 服务器为例。# 搜索软件包确认可用 yum list | grep httpd # 安装指定软件包 yum install -y httpd # 验证安装结果 rpm -q httpd预期输出安装完成后rpm -q httpd会输出已安装的软件包完整名称和版本号例如httpd-2.4.6-97.el7.centos.x86_64常见错误提示No package httpd available本地源中不包含该软件包可先执行yum list | grep httpd确认包名是否正确。Error: Nothing to do软件包已安装或名称拼写错误用yum list installed | grep httpd检查。Could not find a match仓库元数据未更新执行yum clean all yum makecache后重试。至此已完成从挂载 ISO 镜像、配置本地 yum 源到安装指定软件包的完整流程后续即可通过 yum 命令方便地安装、升级和卸载其他软件包。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑