news 2026/8/31 22:52:33

【Linux】rpm和yum包管理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Linux】rpm和yum包管理

1.安装包和程序关系

用一个形象的示例解释在计算机中安装包和程序的关系:

程序=想要的玩具(如微信,qq)。本质是存储在硬盘上,等待被CPU执行的代码和数据

安装包=快递盒。快递盒中包含玩具的零部件、说明书、以及安装工具。目的是为了将玩具组装好,即将软件安装到你的电脑上。

Windows概念Linux对应概念说明
安装包 (.exe / .msi)RPM包 (.rpm) / DEB包 (.deb)这就是“快递盒”,里面装着编译好的程序文件。
双击安装包rpm -ivhyum install执行安装过程,把文件解压到系统指定位置。
程序的安装位置/usr/bin//usr/lib//etc/Linux没有C盘,它把可执行命令/usr/bin库文件/usr/lib配置文件/etc
程序启动入口 (.exe)命令(如nginxpython在Linux里,程序本体通常不叫.exe,而是一个无后缀的二进制文件(如/usr/bin/nginx),你在终端敲命令就是在运行它。
快捷方式软链接 (ln -s)相当于Windows的桌面快捷方式。

在Linux环境下:

RPM包(快递盒):不会永久存放,用yum下载暂存在/var/cache,装完就删除

程序(玩具):安装后,它的可执行命令永久存放在/usr/bin/下,库文件/usr/lib下。你想用的时候,直接在终端敲命令名(如nginx),系统就去/usr/bin/里找到它并运行。

2.Linux包管理器下载流程

2.Linux包管理器下载流程

  • 第一步(下载):当你敲下yum install nginx时,系统会根据软件源(Repo)里的地址,把nginx.rpm这个“快递盒”下载到本地的缓存目录/var/cache里。

  • 第二步(校验):下载完后,系统会核对这个包的MD5/SHA256校验码,确保下载过程没损坏,防止文件不完整。

  • 第三步(解压安装):系统调用底层的rpm工具,把这个“快递盒”拆开,把里面的程序本体(可执行文件)解压到/usr/bin/,把配置文件放到/etc/,把库文件放到/usr/lib/。同时把安装信息写入本地的RPM数据库(方便以后卸载)。

  • 第四步(缓存保留)安装完成后,原始的.rpm文件并不会被自动删除。它会默认留在缓存目录里。

3.镜像和本地源

  • 镜像(Mirror):指的是“内容完全一致”。它是官方仓库在别的服务器上的一份克隆副本

  • 本地源(Local Repo):指的是“位置在本地”。它是相对于你的电脑而言,处在内网或本机硬盘上的软件仓库。

    ①“本地源”的“本地”是相对于“公网(Internet)”而言的,绝不是相对于“本机(这台物理机)”。

    ②只要这个源服务器和你的测试机在同一个内网(局域网)里,IP地址能互通(ping通),它就叫做“本地源”。

    ③你yum install时,流量是走内网(局域网)还是走公网(互联网)?走内网,就叫使用本地源;走公网,就叫使用远程镜像源。

它们的关系是:本地源通常是通过“同步(克隆)”一个远程镜像来搭建的。

在本地配置文件查看当前所访问源类型:

你打开 Linux 的源配置文件(/etc/yum.repos.d/xxx.repo),里面的baseurl=后面跟的地址,直接说明了它们的身份:

  • 如果baseurl=后面是互联网地址(如https://mirrors.aliyun.com:这就是在访问公共镜像

  • 如果baseurl=后面是内网IP(如http://192.168.1.100/centos)或file:///mnt/cdrom:这就是在访问本地源

4.rpm

rpm用于互联网下载包的打包及安装工具,包含在某些Linux分发版中,处理具有.RPM扩展名的文件。RPM是redHat Package Manager的缩写,类似windows的setup.exe

4.1简单查询指令

rpm -qa

功能描述:查询已安装的rpm列表

(注:上面2提到的缓存目录/var/cache中保存的是下载的.rpm文件本身,当这些rpm文件被RPM工具解压安装后,系统在数据库写入这条安装记录,此时rpm -qa就能查到此条记录)

应用示例:查询当前系统是否安装了firefox

rpm -q 软件包名

功能描述:查询软件包是否安装

应用实例:指定查询firefox是否安装

rpm -qi 软件包名

功能描述:查询软件包的详细信息

应用实例:查询firefox安装包详细信息

rpm -ql 软件包名

功能描述:查询软件包中的文件

应用实例:查看firefox软件包在本机所安装的文件

rpm -qf 文件全路径名

功能描述:查询文件所属的软件包

应用实例:

eg1 查询gcc文件属于哪个软件包

eg2 查询gcc目录属于哪个软件包

注:

在 Linux 文件系统中,一个目录可以被多个 RPM 软件包同时声明为“自己的”(在打包规范中用%dir标记)。

/lib/gcc是所有 GCC 相关工具链存放子文件的“大本营”。为了互不冲突,C 编译器、C++ 编译器、Fortran 编译器、数学库等都会把各自的子目录或文件放进去。因此,在安装时,它们都会在 RPM 数据库里登记:“我也拥有/lib/gcc这个目录”。

当你用rpm -qf查询目录(而不是具体文件)时,RPM 会把所有登记过拥有该目录的包全部列出来,所以就出现了你看到的 5 个。

4.2 删除指令

rpm -e 软件包名

功能描述:删除软件,将安装包解压进系统的文件和注册表信息全部删除。

注:

如果其他软件包依赖于要卸载的软件包,则卸载时会产生错误信息

应用实例:删除firefox

4.3 安装指令

rpm -ivh RPM包全路径名称

功能描述:安装rpm包,即安装软件

参数说明:

i(install) 安装

v(verbose)提示

h(hash)进度条

应用实例:安装firefox

5.yum

yum也是包管理器,底层调用rpm。能够自动从yum源下载并安装软件包到本地,同时可以自动处理依赖性关系,并且一次性安装所有依赖的软件包。

5.1 基本指令

yum list | grep xx软件包

功能描述:查询yum服务器是否有指定的软件包

应用实例:查询yum是否有firefox

yum install xx软件包

功能描述:安装指定的软件包

应用实例:使用yum 安装firefox

yum remove xx软件包

功能描述:卸载指定的软件包,并自动处理依赖关系,将不再被其他软件使用的依赖包一并移除。

参数说明:

-y 自动确认,跳过卸载过程中的交互式确认提示

应用实例:卸载firefox

与 rpm -e 的区别:

rpm -e卸载时如果遇到其他软件包依赖该软件,会直接报错并停止卸载;而yum remove会自动分析依赖关系,把需要一并移除的依赖包也处理掉,卸载过程更省心。

6. rpm和yum区别

rpmyum
数据源本地.rpm文件网络 yum 源仓库
依赖处理❌不处理,缺依赖直接报错✅自动下载安装全部依赖
卸载 / 安装直接操作本地包联网解析,底层调用 rpm
使用场景手里已经有 rpm 文件,离线操作绝大多数日常安装、升级软件

总结:

yum底层还是调用 rpm 去安装软件,但是 yum 多了这些能力:

  1. 联网访问 yum 源仓库,自动下载.rpm
  2. 自动分析依赖,把所有需要的包一并下载,调用 rpm 批量安装
  3. 处理升级,自动解决版本冲突
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/31 22:52:24

虚拟机热迁移技术:预拷贝、后拷贝与增量迁移

文章目录 每日一句正能量 一、引言 二、热迁移技术全景:预拷贝 vs 后拷贝 2.1 预拷贝(Pre-copy) 2.2 后拷贝(Post-copy) 三、预拷贝迭代收敛算法 3.1 收敛条件 3.2 QEMU中的迭代实现 3.3 Auto-converge:强制收敛机制 四、脏页追踪:KVM内核实现 4.1 EPT写保护与脏页Bitma…

作者头像 李华
网站建设 2026/8/31 22:49:44

OceanBase分布式数据库核心概念与本地部署实战指南

先说结论:根据赛迪报告,OceanBase 在中国分布式数据库市场位居第一。这个第一不是只看营销声量,而是看技术能力、落地场景和市场份额的综合结果。对开发者来说,真正值得关心的问题是:OceanBase 到底做对了什么&#xf…

作者头像 李华
网站建设 2026/8/31 22:48:00

TS 7.0 弃用 emitDecoratorMetadata?Rfclt 运行时类型元数据迁移指南

TypeScript 7.0 正在把一批旧的编译选项从“警告”变成“不再工作”,其中影响面最大的就是emitDecoratorMetadata。这个选项曾经是 NestJS、TypeORM、class-validator 等领域模型代码能拿到参数类型和属性类型的关键。Rfclt 提供了一条新的运行时类型元数据路径&…

作者头像 李华
网站建设 2026/8/31 22:45:36

大模型重塑创作流程:从生产者到判断者的工程实践

今天聊一个听起来有点冒犯的话题:AI 是否正在把“创作者”这个词从人类词典里删除。艺术家 ZHO 在讨论 AI 与艺术创作的关系时,提出了一个更尖锐的判断——“AI 将人类从人类性中开除”。这里的“人类性”,不是一个生理概念,而是指…

作者头像 李华
网站建设 2026/8/31 22:45:01

企业微信API二次开发:智能客服最小闭环

1. 引言 搜企业微信 API 二次开发又要上智能客服,第一天不要知识库、质检、多模型一起上。最小闭环只证明:员工号能回一句已审的话,并且能关掉后面的生成。 本文将围绕「智能客服最小闭环」,按探针、词表、入队、开关四步写。 …

作者头像 李华
网站建设 2026/8/31 22:40:19

国产医疗AI爆发!从单点工具到智能体医疗,这六大领域颠覆看病体验!

以下是国内主要医疗AI应用与工具图谱,涵盖医疗大模型、医学影像、辅助诊断、手术机器人、慢病管理、AI制药等多个细分领域:说真的,这两年看着身边一个个搞Java、C、前端、数据、架构的开始卷大模型,挺唏嘘的。大家最开始都是写接口…

作者头像 李华