网站开发中网页打印网站开发维护运维
Yum 配置第三方源和本地源详解
一、配置第三方源(以 EPEL 为例)
EPEL (Extra Packages for Enterprise Linux) 是最常用的第三方源,提供额外的软件包。
1. 手动配置 EPEL 源
步骤:
-  下载 EPEL 的 .repo文件:# CentOS 7 wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm# CentOS 8 wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
-  安装 RPM 包: sudo rpm -ivh epel-release-latest-*.noarch.rpm
-  验证 EPEL 源: yum repolist | grep epel
2. 配置文件详解
EPEL 配置文件位置:/etc/yum.repos.d/epel.repo
 示例内容:
[epel]
name=Extra Packages for Enterprise Linux $releasever - $basearch
# 基础 URL(可替换为镜像站)
baseurl=https://download.example/pub/epel/$releasever/Everything/$basearch
# 镜像列表(自动选择最佳镜像)
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-$releasever&arch=$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
failovermethod=priority
关键参数说明:
- baseurl:仓库的 HTTP/FTP 地址(优先级高于- metalink)。
- metalink:自动选择镜像的元数据链接(推荐)。
- enabled=1:启用该仓库。
- gpgcheck=1:启用 GPG 签名验证。
- gpgkey:GPG 公钥路径。
- failovermethod=priority:故障转移策略(- priority按顺序尝试)。
二、配置本地源
本地源适用于离线环境或使用 ISO 镜像的场景。
1. 挂载 ISO 镜像
# 创建挂载目录
sudo mkdir /mnt/cdrom# 挂载 ISO 文件
sudo mount -o loop /path/to/CentOS-7-x86_64-DVD-2009.iso /mnt/cdrom# 设置开机自动挂载(可选)
echo "/path/to/CentOS-7-x86_64-DVD-2009.iso /mnt/cdrom iso9660 loop 0 0" | sudo tee -a /etc/fstab
2. 创建本地仓库配置文件
创建文件:/etc/yum.repos.d/local.repo
 配置示例:
[Local-BaseOS]
name=CentOS $releasever - BaseOS (Local)
baseurl=file:///mnt/cdrom/BaseOS
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7[Local-AppStream]
name=CentOS $releasever - AppStream (Local)
baseurl=file:///mnt/cdrom/AppStream
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
参数说明:
- baseurl=file:///mnt/cdrom/...:本地路径使用- file://协议。
- gpgkey:指定本地 GPG 公钥(通常在 ISO 的- RPM-GPG-KEY-CentOS-*文件中)。
3. 更新 Yum 缓存
sudo yum clean all      # 清除旧缓存
sudo yum makecache     # 生成新缓存
三、高级配置技巧
1. 临时启用/禁用仓库
# 安装时启用 EPEL,禁用其他仓库
yum --enablerepo=epel --disablerepo="*" install nginx# 查看所有仓库状态
yum repolist all
2. 优先级配置
安装插件并设置优先级(避免包冲突):
sudo yum install yum-plugin-priorities
编辑 .repo 文件添加:
priority=1  # 数值越低优先级越高(1 最高)
3. 使用镜像加速
替换 baseurl 为国内镜像(如阿里云):
# EPEL 阿里云镜像示例
baseurl=https://mirrors.aliyun.com/epel/$releasever/Everything/$basearch
四、常见问题解决
-  GPG 签名失败: - 手动导入公钥:rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
- 或临时禁用检查:yum install --nogpgcheck package_name
 
- 手动导入公钥:
-  仓库元数据损坏: sudo yum clean all sudo rm -rf /var/cache/yum sudo yum makecache
-  本地源无法找到包: - 确认路径正确:baseurl必须指向包含repodata/的目录。
- 重新生成仓库元数据(若需自定义包):sudo yum install createrepo createrepo /path/to/local-packages/
 
- 确认路径正确:
通过以上步骤,您可灵活配置第三方源和本地源,满足不同环境下的软件管理需求。
