在搬瓦工的 Centos 7 BBR 的镜像上重新安装 epel

epel 是一个很重要的扩展库,包含了很多常用的软件,但是在搬瓦工(BandwagonHost)全新安装的 Centos 7 BBR 镜像上居然无法正常使用,这里介绍一下如何重新安装 epel

问题

我们知道很多常用软件是包含在 epel 扩展库中的,这里以 htop 为例:

  • 我们通过 Install new OS 来安装 centos-7-x86_64-bbr 镜像
  • 安装完成后,使用以下命令安装 epel-release
sudo yum install epel-release -y
  • 此时正常我们应该就可以安装 htop 了,但是安装 htop 会得到以下提示
No package htop available

分析

使用以下命令来检查 epel 是否正确安装了

yum repolist

正常的结果如下,应该会包含 epel 的条目,在新装的系统下却没有, 说明搬瓦工没有正确安装这个 repo,如果没有这个 repo,那么我们需要重新安装 epel

repo id                                 repo name                                                                            status
base/7/x86_64                           CentOS-7 - Base                                                                      9,910+1
elrepo-kernel                           ELRepo.org Community Enterprise Linux Kernel Repository - el7                             37
*epel/x86_64                            Extra Packages for Enterprise Linux 7 - x86_64                                        12,618
extras/7/x86_64                         CentOS-7 - Extras                                                                        363
updates/7/x86_64                        CentOS-7 - Updates                                                                     965+5

重新安装 epel

使用以下命令重装 epel

sudo rpm -qa | grep epel # 检查已经安装的 epel 包名
sudo rpm -e epel-release-x-x.noarch # 删除对应 epel, x-x 对应已安装的版本
sudo rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm # 安装正确的 epel
yum repolist # 重新检查 epel 有没有正常安装

如果 epel 已经列出,我们就可以正常安装 htop