配置yum本地源【linux】

本文详细介绍了如何配置本地yum源,包括找到并编辑CentOS-Base.repo文件,更改baseurl为本地地址,清理并更新yum缓存等步骤,解决无法获取仓库元数据的问题。

本地yum源找到文件:(没有就新建,需要一步一步进文件位置,否则报错)

cd /etc/yum.repos.d/

vi CentOS-Base.repo   //需要删除其他repo文件才成功

查看OS版本:

cat /etc/redhat-release

重新更换以下文本:

[localyum]

name=localyum

baseurl=ftp://share:172.16.83.157/CentOSx  //此处本地源地址需根据实际情况和版本而定(一定要写对版本)

enabled=1

gpgcheck=0

再刷新下yum:

yum clean all

yum makecache

问题:

Error: Cannot retrieve repository metadata (repomd.xml) for repository: base. Please verify its path and try again

解决方案:查看/etc/yum.repo.d文件夹下是否存在除CentOS-Base.repo以外的repo文件,有则删去rm *.repo

然后再yum makecache完成

Linux配置 `yum` 本地源Local Yum Repository)是一种非常常见的做法,尤其是在没有外网访问权限的生产环境中。通过挂载 CentOS/RHEL 的 ISO 镜像或使用已下载的 RPM 包目录,可以创建一个本地软件源,供 `yum` 安装软件时使用。 以下是 **在 CentOS 7 / RHEL 7** 系统上配置 yum 本地源的完整步骤: --- ### ✅ 步骤一:挂载 ISO 镜像 或 准备本地 RPM 包目录 假设你有一个 CentOS 7 的 ISO 文件(如 `CentOS-7-x86_64-DVD-2009.iso`),首先将其挂载到系统中。 ```bash # 创建挂载点 sudo mkdir -p /mnt/cdrom # 挂载 ISO 镜像(假设镜像位于 /root/CentOS-7-x86_64-DVD-2009.iso) sudo mount -o loop /root/CentOS-7-x86_64-DVD-2009.iso /mnt/cdrom ``` > ⚠️ 注意:`-o loop` 用于挂载文件形式的镜像。 如果你已经有 RPM 包存放在某个目录(如 `/opt/repo`),也可以跳过挂载,直接使用该目录作为源。 --- ### ✅ 步骤二:备份原有 yum配置 ```bash sudo mkdir -p /etc/yum.repos.d/bak sudo mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak/ 2>/dev/null || true ``` 这会将原有的 `.repo` 文件移走,避免干扰本地源。 --- ### ✅ 步骤三:创建本地 yum配置文件 创建一个新的 repo 文件: ```bash sudo tee /etc/yum.repos.d/local.repo << 'EOF' [local-base] name=Local CentOS Base baseurl=file:///mnt/cdrom enabled=1 gpgcheck=1 gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-CentOS-7 [local-updates] name=Local CentOS Updates baseurl=file:///mnt/cdrom/Packages enabled=0 gpgcheck=1 gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-CentOS-7 EOF ``` > 🔍 说明: > - `[local-base]` 是仓库标识。 > - `baseurl=file:///mnt/cdrom` 表示使用本地文件系统路径。 > - `enabled=1` 表示启用此源。 > - `gpgcheck=1` 启用 GPG 签名验证。 > - `gpgkey` 指向 ISO 中的公钥文件(通常在根目录下)。 📌 如果你使用的是 CentOS 8 或 RHEL 8,请将 `gpgkey` 改为对应的版本密钥(如 `RPM-GPG-KEY-centosofficial`)。 --- ### ✅ 步骤四:安装 createrepo 工具(可选,用于自建包仓库) 如果你不是用 ISO,而是想用自己的 RPM 包建立仓库,需要生成 repodata: ```bash # 安装 createrepo(如果尚未安装) sudo yum install -y createrepo # 假设你的 RPM 包放在 /opt/myrepo sudo mkdir -p /opt/myrepo # 把 .rpm 文件复制进去 # sudo cp your-package.rpm /opt/myrepo/ # 生成元数据 sudo createrepo /opt/myrepo ``` 然后配置 repo 文件如下: ```ini [mylocal] name=My Local Repository baseurl=file:///opt/myrepo enabled=1 gpgcheck=0 ``` > 可根据安全要求开启 `gpgcheck` 并导入自己的 GPG 密钥。 --- ### ✅ 步骤五:清除缓存并重建 yum 缓存 ```bash sudo yum clean all sudo yum makecache ``` 如果看到类似 “Metadata Cache Created” 的提示,则表示成功。 --- ### ✅ 测试本地源 ```bash yum list | grep vim yum install vim -y ``` 如果能正常列出和安装软件包,说明本地源配置成功。 --- ### ✅ 开机自动挂载 ISO(可选) 编辑 `/etc/fstab` 实现开机自动挂载: ```bash # 添加以下行(确保路径正确) /root/CentOS-7-x86_64-DVD-2009.iso /mnt/cdrom iso9660 loop,ro 0 0 ``` > 注意:不同系统对 `iso9660` 和 `udf` 的支持可能略有差异,必要时使用 `-t auto`。 --- ### ❗常见问题排查 | 问题 | 解决方案 | |------|----------| | `Cannot retrieve repository metadata` | 检查路径是否正确、ISO 是否已挂载 | | `GPG check FAILED` | 设置 `gpgcheck=0` 临时测试,或确认 `gpgkey` 路径正确 | | `yum` 仍尝试联网 | 确保其他 `.repo` 文件已被禁用或删除 | --- 上述代码和命令完成了从挂载 ISO 到配置本地 yum 源的全过程。核心是通过 `file://` 协议提供本地 RPM 包,并利用 `yum` 的仓库机制进行管理。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

香菜cookie

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值