当前位置: 首页 > ds >正文

Yum配置第三方源与本地源详解

Yum 配置第三方源和本地源详解


一、配置第三方源(以 EPEL 为例)

EPEL (Extra Packages for Enterprise Linux) 是最常用的第三方源,提供额外的软件包。

1. 手动配置 EPEL 源

步骤:

  1. 下载 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
    
  2. 安装 RPM 包

    sudo rpm -ivh epel-release-latest-*.noarch.rpm
    
  3. 验证 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

四、常见问题解决
  1. GPG 签名失败

    • 手动导入公钥:rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
    • 或临时禁用检查:yum install --nogpgcheck package_name
  2. 仓库元数据损坏

    sudo yum clean all
    sudo rm -rf /var/cache/yum
    sudo yum makecache
    
  3. 本地源无法找到包

    • 确认路径正确:baseurl 必须指向包含 repodata/ 的目录。
    • 重新生成仓库元数据(若需自定义包):
      sudo yum install createrepo
      createrepo /path/to/local-packages/
      

通过以上步骤,您可灵活配置第三方源和本地源,满足不同环境下的软件管理需求。

http://www.xdnf.cn/news/10100.html

相关文章:

  • 日常--OBS+mediamtx实现本地RTMP推流环境搭建(详细图文)
  • RPG17.蓝图函数库与轻重攻击连击
  • C++ 5.29 dddd
  • 【深度剖析】义齿定制行业数字化转型模式创新研究(上篇2:痛点和难点分析)
  • AI智能监控系统:赋能厂区安全管理的数智化革新
  • [Dify] 如何应对明道云API数据过长带来的Token超限问题
  • OAuth协议中的Token、Ticket
  • (NAT64)IPv6网络用户访问IPv4网络服务器(动态映射方式)
  • Linux服务器时间同步——Chronyd
  • MyBatis动态SQL
  • Baklib知识中台驱动业务创新
  • 【HarmonyOS 5】鸿蒙中的UIAbility详解(二)
  • 深化生态协同,宁盾身份域管完成与拓波软件兼容互认证
  • 19、Python字符串高阶实战:转义字符深度解析、高效拼接与输入处理技巧
  • 2.2.1 05年T4
  • Python 连接 MinIO (一)
  • wsl2 docker重启后没了
  • Cobra CLI 工具使用指南:构建 Go 语言命令行应用的完整教程
  • 激励电平与频差的微妙平衡:晶振选型不可忽视的细节
  • C#和VisionPro联合编程-硬币正反面检测
  • SL3038 宽耐压150V降压12V2.5A、5V2.5A降压恒压电源芯片
  • 用户界面禁忌——基础原则
  • 函数指针和指针函数的核心区别
  • iOS 获取Wifi信息
  • 重温经典算法——冒泡排序
  • 国产分子动力学引擎——GPUMD本地部署教程:专为 NVIDIA GPU 加速设计
  • leetcode:372. 超级次方(python3解法,数学相关算法题)
  • litctf2025复现
  • [mcu]系统频率
  • 【GESP真题解析】第 16 集 GESP 二级 2024 年 9 月编程题 1:数位之和