利用缓存创建本地 yum 源

本文介绍了如何将网络YUM源缓存为本地源,以保持软件版本一致性。通过编辑yum配置文件启用缓存,安装所需软件后,将缓存的RPM文件复制到指定目录并创建yum源索引。最后,将本地YUM源和配置文件分发到其他机器,确保所有系统使用相同版本的软件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

缓存网络yum源为本地yum源,可以统一版本,防止网络yum源升级,导致后期其他机器安装的软件版本和服务器版本不一致。

编辑yum配置文件,设置keepcache=1使用缓存,设置cachedir缓存路径

[root@centos60 ~]# cp /etc/yum.conf /etc/yum.conf.bak
[root@centos60 ~]# vim /etc/yum.conf

开始yum安装软件
[root@centos60 ~]# yum -y install ceph ceph-radosgw

创建目录用来保存rpm安装文件
[root@centos60 ~]# mkdir -p /opt/ceph-10

把yum下载的rpm文件都拷贝到保存安装 rpm目录
[root@centos60 ~]# find /var/cache/yum/ -name *.rpm -type f -exec cp {} /opt/ceph-10/ \; 

安装创建yum源索引工具
[root@centos60 ~]# yum -y install createrepo

创建yum源索引
[root@centos60 ~]# createrepo -v /opt/ceph-10/

vim /etc/yum.repos.d/ceph.repo

[ceph]
name=ceph
baseurl=file:///opt/ceph-10
enable=1
gpgcheck=0

复制离线 yum 仓库至 其他机器
[root@centos60 ~]# scp -r /opt/ceph-10/ root@centos70:/opt/
[root@centos60 ~]#

### 配置和使用本地 YUM #### 1. 准备工作 为了配置本地 YUM ,首先需要准备一个包含所需软件包的 ISO 文件或者已经解压好的软件包目录。通常情况下,ISO 文件会被挂载到某个目录下以便访问其内容。 假设已有一个 CentOS 的 ISO 文件 `/path/to/CentOS.iso`,可以通过以下命令将其挂载到指定目录: ```bash mkdir -p /mnt/cdrom mount -o loop /path/to/CentOS.iso /mnt/cdrom ``` 如果不需要挂载 ISO 文件,则可以直接复制所需的 `Packages` 和其他必要文件夹至目标路径(如 `/opt/centos`),这一步骤将在后续部分说明[^3]。 --- #### 2. 创建本地 YUM 配置文件 在 Linux 系统中,所有的 YUM 都由位于 `/etc/yum.repos.d/` 下的一个或多个 `.repo` 文件定义。对于本例中的本地 YUM ,需新建名为 `local.repo` 或者类似的配置文件来声明它的存在及其属性。 执行以下操作以建立新的 repo 文件: ```bash vi /etc/yum.repos.d/local.repo ``` 向其中输入如下内容: ```ini [centos] name=Local CentOS Repository baseurl=file:///mnt/cdrom gpgcheck=0 enabled=1 ``` 这里解释一下各字段含义: - `[centos]`: 这是一个唯一标识符,用来区分不同的仓库。 - `name`: 提供给管理员阅读的名字,无特殊意义。 - `baseurl`: 告诉 YUM 到哪里查找资;此处设置成之前挂载点 `/mnt/cdrom`. - `gpgcheck`=0 表示关闭 GPG 密钥验证 (仅限测试环境),生产环境中建议开启此项并导入官方密钥[^2]. - `enabled`=1 开启此仓库支持. 完成后保存退出编辑器即可[^2]. --- #### 3. 复制必要的数据结构 当不采用光盘镜像作为基础时,可能还需要手动构建完整的 RPM 数据库树形结构。具体做法是从原始介质提取所有必需组件,并放置于预期位置比如 `/opt/centos`. 接着运行下面指令把整个 Packages 子目录连同元信息一起迁移过去: ```bash cp -a /mnt/cdrom/Packages/* /opt/centos/ ``` 随后利用工具生成索引文件 `repodata` 中的内容摘要表单——即所谓的 metadata XML 文档集合之一 ——Repomd.xml 。如果没有预装 createrepo 工具的话先得安装它: ```bash yum install createrepo cd /opt/centos && createrepo . ``` 以上动作会扫描当前所在的工作区内的 rpm 软件单元列表进而合成相应的描述性记录条目存入 repodata 文件夹内部[^3]. --- #### 4. 测试新搭建起来的服务功能是否正常运作 最后一步就是确认刚刚所做的改动生效与否啦! 只要简单调用 clean all 清理缓存再尝试刷新一遍可用更新队列就OK啦: ```bash yum clean all yum makecache fast yum list available | grep some-package-name ``` 假如一切顺利的话应该能够看到若干候选版本号显示出来咯~ 如果遇到任何异常状况记得回头仔细核对自己每步设定有没有遗漏哦! --- ### 总结 综上所述,在 CentOS 平台上成功部署一套独立自主可控型别的本地 YUM 并非难事,只需按照既定流程依次完成各项准备工作便大功告成了!不过值得注意的是实际应用场景里往往还会涉及到更多细节考量因素譬如安全性加固措施等方面的要求也应当予以充分重视才行呢[^1]^. ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值