如何在RHEL 8 Linux中安装EPEL REPO
如何在Red Hat Enterprise Linux服务器版本8.x或者CentOS Linux服务器版本8.x上安装诸如Fedora EPEL仓库之类的额外存储库?
如何在RHEL 8 Linux中安装EPEL REPO。
如何在CentOS 8 Linux中安装EPEL仓库。
什么是EPEL REPO?
企业Linux添加软件包(或者EPEL)是Fedora特殊兴趣小组,它创建,维护和管理一套高质量的企业Linux添加软件包,包括但不限于Red Hat Enterprise Linux(RHEL),CentOS和科学Linux(SL),Oracle Linux(OL)。
EPEL软件包通常基于与Fedora对应的软件包,并且永远不会与基本Enterprise Linux发行版中的软件包发生冲突或者替换。
EPEL使用了与Fedora相同的基础架构,包括构建系统,bugzilla实例,更新管理器,镜像管理器等等。
我们可以检查镜像列表以获取EPEL上可用的存储库列表
说明:
在撰写本文时,尚未发布CentOS 8,但本文假定在CentOS 8上可以执行相同的步骤。
如果我们有不同的经验,请在评论部分中告知我们。
在RHEL 8中安装EPEL仓库
EPEL Repo包含所有可用于在RHEL 8 Linux主机中安装epel repo的软件包和EPEL rpm。
因此,可以使用DNF/YUM/RPM手动安装EPEL repo rpm。
[root@rhel-8 ~]# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm Retrieving https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm warning: /var/tmp/rpm-tmp.URDkYa: Header V3 RSA/SHA256 Signature, key ID 2f86d6a1: NOKEY Verifying... ################################# [100%] Preparing... ################################# [100%] Updating/installing... 1:epel-release-8-1 ################################# [100%]
提示:
如果更改了EPEL发行版的rpm版本(epel-release-latest-8.noarch.rpm
),则可以手动导航至Red Hat的EPEL Mirror Repo,并下载适用于RHEL 8的最新可用RPM版本。
在进行EPEL REPO时,我在尝试设置存储库时发现了一个错误"忽略Repo'epel'同步缓存失败"。
如何修复"无法同步存储库'epel'的缓存,而忽略此存储库。
" ?
在RHEL 8 Linux中安装EPEL repo后,清理现有缓存是一个好主意
[root@rhel-8 ~]# dnf clean all Updating Subscription Management repositories. 16 files removed [root@rhel-8 ~]# rm -rf /var/cache/dnf
接下来,我们可以使用以下命令检查Linux主机上可用存储库的列表
[root@rhel-8 ~]# dnf repolist Updating Subscription Management repositories. Extra Packages for Enterprise Linux $release - x86_64 23 kB/s | 51 kB 00:02 Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs) 2.2 MB/s | 8.6 MB 00:03 Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs) 966 kB/s | 5.6 MB 00:05 Failed to synchronize cache for repo 'epel', ignoring this repo. Last metadata expiration check: 0:00:03 ago on Sat 03 Aug 2019 12:12:13 AM IST. repo id repo name status rhel-8-for-x86_64-appstream-rpms Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs) 5,693 rhel-8-for-x86_64-baseos-rpms Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs) 2,078
但是,正如我们其中看到的那样,我收到一个错误,无法同步存储库" epel"的缓存,而忽略了此存储库。
"然后,值得注意的另一件事是EPEL的存储库名称,它不包含发行版,而是包含变量我以为$release是导致此问题的原因
为了再次确认这一点,我还检查了他们的EPEL源rpm,它也包含相同的文件,其中他们或者错过更改$Release
变量,或者包含更新的方式来处理该变量,但未正确实现。
我认为,由于RHEL 8是最近发布的,因此仍处于测试阶段,将来将发布更稳定的EPEL REPO。
但是现在要克服这种情况,我们可以在/etc/yum.repos.d/epel.repo
中手动更改此变量,如下所示
[epel] name=Extra Packages for Enterprise Linux $release - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/$release/$basearch metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-$release&arch=$basearch&infra=$infra&content=$contentdir failovermethod=priority enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$release
到
[epel] name=Extra Packages for Enterprise Linux 8 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/$release/$basearch metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-8&arch=$basearch&infra=$infra&content=$contentdir failovermethod=priority enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
提示:
我们也可以下载RHEL 8的EPEL REPO源rpm,修改`epel。
Repo内容并使用源rpm内容重建新的epel rpm。
但是请确保在生产环境中使用任何此类手动定制的rpm之前,先检查其GPL许可证。
接下来清理现有的仓库Repo并检查可用仓库列表
[root@rhel-8 ~]# dnf clean all Updating Subscription Management repositories. 27 files removed [root@rhel-8 ~]# rm -rf /var/cache/dnf [root@rhel-8 ~]# dnf repolist Updating Subscription Management repositories. Extra Packages for Enterprise Linux 8 - x86_64 98 kB/s | 430 kB 00:04 Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs) 1.5 MB/s | 8.6 MB 00:05 Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs) 1.2 MB/s | 5.6 MB 00:04 repo id repo name status *epel Extra Packages for Enterprise Linux 8 - x86_64 310 rhel-8-for-x86_64-appstream-rpms Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs) 5,693 rhel-8-for-x86_64-baseos-rpms Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs) 2,078
因此,现在我们的EPEL存储库正在RHEL 8 Linux主机上运行。
接下来,我们可以在RHEL 8的EPEL REPO下验证可用RPMS的列表。
[root@rhel-8 ~]# dnf list | grep epel | less epel-release.noarch 8-1 @System apachetop.x86_64 0.19.7-1.el8 epel arj.x86_64 3.10.22-30.el8 epel beecrypt.x86_64 4.2.1-23.el8 epel beecrypt-apidocs.x86_64 4.2.1-23.el8 epel beecrypt-devel.x86_64 4.2.1-23.el8 epel bgpdump.x86_64 1.6.0-2.el8 epel bird.x86_64 2.0.4-1.el8 epel bird-doc.noarch 2.0.4-1.el8 epel bodhi-client.noarch 4.0.2-2.el8.1 epel bodhi-composer.noarch 4.0.2-2.el8.1 epel bodhi-server.noarch 4.0.2-2.el8.1 epel <output trimmed>
因此,我们知道当前用于RHEL 8的EPEL REPO版本不是很稳定,我们的手动解决方法可以修复"忽略Repo'epel'同步缓存失败"。