我有两台 CentOS 服务器,一台位于使用 VirtualBox 提供商的 Vagrant 虚拟机中,另一台位于租用的 VPS 上。它们使用相同的剧本进行配置。VPS 上一切正常,但本地 EPEL 出现错误。当我 100% 确定一切正常时,我将剧本恢复了几次提交,但仍然出现相同的错误。
我正在使用由格林盖按以下顺序:
- { role: geerlingguy.repo-epel }
- { role: geerlingguy.firewall }
- { role: geerlingguy.nginx }
- { role: geerlingguy.git }
- { role: geerlingguy.nodejs }
运行我的剧本会返回一个错误:
Failure talking to yum: Cannot retrieve metalink for repository: epel/x86_64. Please verify its path and try again
当我通过 SSH 进入 vagrant machine 并尝试运行任何 yum 命令时:
Cannot retrieve metalink for repository: epel/x86_64. Please verify its path and try again
如果我添加标志 --disablerepo=epel,我可以使用 yum
/etc/yum.repos.d/epel.repo
这是我的文件中的内容
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch/debug
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1
[epel-source]
name=Extra Packages for Enterprise Linux 7 - $basearch - Source
#baseurl=http://download.fedoraproject.org/pub/epel/7/SRPMS
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1
到目前为止我尝试过的事情:
- 删除了防火墙角色
- 为 vagrant VM 和 VPS 安装相同版本的 CentOS
- 将 epel.repo 链接从 https 恢复为 http
- 手动安装 epel.repo
- 取消注释 baseurl,注释掉 metalinks
答案1
仅用于http
代替https
ie
metalink=http://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
那应该可行。