yum安装的包下载后存放在哪个目录?

yum安装的包下载后存放在哪个目录?

1. RPM包默认缓存路径与yum工作机制

yum作为RHEL、CentOS等Linux发行版中主流的包管理器,其在执行yum install命令时,首先会从配置的软件源(repository)下载所需的RPM包。这些包在安装前会被暂存于本地文件系统中的特定目录下,以便后续安装或重用。

默认情况下,yum将下载的RPM包存储在:

/var/cache/yum/$basearch/$releasever/ 目录下的各仓库子目录中,具体路径结构如下:

/var/cache/yum/x86_64/7/base/packages//var/cache/yum/x86_64/7/epel/packages//var/cache/yum/noarch/7/extras/packages/

其中,$basearch代表系统架构(如x86_64),$releasever代表操作系统版本(如7或8),而每个启用的仓库(如base、epel)都有独立的缓存目录,其下的packages子目录才是RPM文件实际存放的位置。

2. 缓存保留策略:keepcache参数解析

用户常问“为何有时找不到缓存文件?”其根本原因在于keepcache配置项的设置。该参数控制yum操作后是否保留已下载的RPM包。

查看当前配置方式如下:

grep keepcache /etc/yum.conf

输出可能为:

keepcache=0

其含义如下表所示:

keepcache值行为描述0安装完成后自动删除缓存中的RPM包1保留下载的RPM包,可用于离线安装或审计

若设置为0,则即使包曾被下载,安装后也会被清除,导致用户无法提取原始RPM文件。

3. 修改缓存路径与保留策略的实践步骤

要实现RPM包的持久化缓存,需修改/etc/yum.conf中的关键参数。操作流程如下:

备份原始配置:cp /etc/yum.conf /etc/yum.conf.bak编辑主配置文件:vim /etc/yum.conf找到或添加以下行:

[main]

keepcache=1

cachedir=/var/cache/yum

其中cachedir可自定义为其他路径(如/data/yum-cache),以满足磁盘空间或安全隔离需求。

修改后,所有通过yum下载的RPM包将在安装后仍保留在对应仓库的packages目录中,便于后续提取使用。

4. 高级场景分析:离线部署与缓存复用

在无外网环境的生产服务器上,提前缓存RPM包尤为重要。可通过以下流程构建离线包仓库:

# 下载但不安装

yum install --downloadonly --downloaddir=/opt/rpms httpd

# 或结合keepcache=1,统一收集

yum install httpd

之后可使用rpm -ivh *.rpm进行离线安装,或打包整个packages目录用于批量分发。

此外,企业级环境中常配合yum-plugin-downloadonly插件增强下载控制能力。

5. 故障排查与诊断流程图

当发现缓存缺失时,可依据以下流程图进行快速定位:

graph TD

A[执行yum install] --> B{keepcache=1?}

B -- 否 --> C[安装后自动清理RPM]

B -- 是 --> D[检查cachedir路径权限]

D --> E{目录可写?}

E -- 否 --> F[缓存失败]

E -- 是 --> G[RPM包应存在于packages目录]

G --> H[确认仓库是否启用缓存]

此流程帮助运维人员系统性地排除配置、权限与逻辑层面的问题。

🎯 相关推荐

朗逸雾灯怎么拆卸?
比分365网页版

朗逸雾灯怎么拆卸?

📅 10-10 👁️ 5181
苹果是什么屏幕?LCD、OLED、超视网膜XDR全解析
比分365网页版

苹果是什么屏幕?LCD、OLED、超视网膜XDR全解析

📅 10-25 👁️ 7906
dnf  js穿霸域套怎么样
bte365官网

dnf js穿霸域套怎么样

📅 09-20 👁️ 9008
Tensorflow中的优化器
比分365网页版

Tensorflow中的优化器

📅 09-03 👁️ 6715
超市帮助中心-购物指南
365bet注册送奖金

超市帮助中心-购物指南

📅 09-13 👁️ 4157
2025贵州公办技工学校有哪些 贵州公办技工学校名单一览表