Openeuler24 Configure Epel Repo

2024/07/20 共 2491 字,约 8 分钟

openEuler 24.03 LTS SP2 配置 EPEL 源完全指南

情境(Situation)

作为一名 DevOps/SRE 工程师,在使用 openEuler 24.03 LTS SP2 进行系统部署时,经常需要安装 EPEL (Extra Packages for Enterprise Linux) 源中的额外软件包。EPEL 提供了大量开源软件包,是企业 Linux 系统的重要补充仓库。

冲突(Conflict)

然而,在直接尝试配置 EPEL 源时遇到了问题:

  1. 直接运行 yum makecache 时,EPEL 源提示 404 错误,找不到对应 openEuler 24.03LTS_SP2 的仓库
  2. 尝试安装 epel-release-latest-9.noarch.rpm 包时,依赖检测失败,提示需要 redhat-release >= 9

问题(Question)

如何在 openEuler 24.03 LTS SP2 上成功配置并使用 EPEL 源?

答案(Answer)

经过实践验证,我们可以通过手动配置的方式,让 openEuler 24.03 LTS SP2 成功使用 EPEL 9 源。以下是详细步骤:

1. 清理现有缓存和错误配置

首先,清理现有的 yum 缓存和可能存在的错误 EPEL 配置:

# 清理所有缓存
yum clean all

# 备份或删除可能存在的错误 epel.repo 文件(如果有)
mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.bak 2>/dev/null

2. 手动获取 EPEL 源配置文件

由于直接安装 epel-release 包会遇到依赖问题,我们可以手动下载并提取所需的配置文件:

# 创建临时目录
mkdir -p /tmp/epel_temp
cd /tmp/epel_temp

# 下载 EPEL 9 源包(x86_64/aarch64 通用)
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm

# 解压 rpm 包(提取 repo 配置文件)
rpm2cpio epel-release-latest-9.noarch.rpm | cpio -idmv

# 复制解压后的 repo 文件到 yum 源目录
cp ./etc/yum.repos.d/epel*.repo /etc/yum.repos.d/

# 清理临时文件
rm -rf /tmp/epel_temp

3. 修改 EPEL 源配置适配 openEuler 24.03

现在需要修改 epel.repo 文件,使其适配 openEuler 24.03:

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

将文件内容修改为:

[epel]
name=Extra Packages for Enterprise Linux 9 - $basearch
# 适配 OpenEuler 24.03 的发行版标识
compat_os=centos-9
# 选择对应架构的镜像地址(x86_64/aarch64 二选一)
# x86_64 架构
baseurl=https://download.fedoraproject.org/pub/epel/9/Everything/x86_64/
# aarch64 架构(如果是鲲鹏/ARM 架构,取消下面注释并注释上面 x86_64 地址)
# baseurl=https://download.fedoraproject.org/pub/epel/9/Everything/aarch64/
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-9&arch=$basearch&infra=$infra&content=$contentdir
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-9

4. 下载并导入 EPEL 9 GPG 密钥

为了确保软件包的安全性,需要下载并导入 EPEL 9 的 GPG 密钥:

# 下载并导入 EPEL 9 密钥
wget https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-9 -O /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-9
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-9

5. 生成新的 yum 缓存

现在可以生成新的 yum 缓存,验证 EPEL 源是否配置成功:

# 清理旧缓存
yum clean all

# 生成新缓存(忽略 minor 版本警告,不影响使用)
yum makecache

6. 验证 EPEL 源是否生效

最后,验证 EPEL 源是否成功配置并生效:

# 查看启用的仓库,确认 epel 源已启用
yum repolist enabled | grep epel

# 尝试安装一个 EPEL 源中的软件包(可选)
yum install -y htop

常见问题与解决方案

问题1:仍然遇到 404 错误

解决方案:确认 baseurl 配置正确,选择与系统架构匹配的地址(x86_64 或 aarch64)。

问题2:GPG 签名验证失败

解决方案:重新导入 GPG 密钥,并确保 gpgkey 路径正确。

问题3:依赖冲突

解决方案:在某些情况下,EPEL 源中的软件包可能与 openEuler 官方源中的软件包存在依赖冲突。可以使用 --disablerepo=epel 参数暂时禁用 EPEL 源,或者使用 yum --showduplicates list <package> 查看可用版本并选择合适的版本安装。

总结

通过以上步骤,我们成功地在 openEuler 24.03 LTS SP2 上配置了 EPEL 源。这个方法绕过了直接安装 epel-release 包时的依赖问题,通过手动提取和修改配置文件的方式实现了 EPEL 源的配置。

配置完成后,您可以使用 yum install 命令安装 EPEL 源中的各种软件包,丰富 openEuler 系统的软件生态。

参考链接

文档信息

Search

    Table of Contents