混合不同操作系统主要版本的 yum 存储库不起作用

混合不同操作系统主要版本的 yum 存储库不起作用

首先:我很清楚,一般来说,为不同的主要操作系统版本混合使用 yum 存储库是一个非常糟糕的主意。

然而,在 CentOS 7 上,我需要 CentOS 6 中的一些软件包。因此,我添加了 CentOS 6 存储库,并用$releasever显式替换6.8(再次,非常糟糕,我知道)。

执行中

yum list foobar

我希望获得 CentOS 7 和 6 中所有可用的 foobar 版本的列表。但是 yum 只显示el7软件包。我已经验证它foobar位于已启用的 CentOS 6 存储库中。

我本来希望能够下载/安装 CentOS 6 软件包,但失败了:

# yum --disablerepo="*" --enablerepo="CentOS-6*" install foobar
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
There are no enabled repos.
 Run "yum repolist all" to see the repos you have.
 You can enable repos with yum-config-manager --enable <repo>

按照建议检查存储库:

# yum repolist all |grep "CentOS-6.8 - Base"
base_6/x86_64                   CentOS-6.8 - Base                 enabled: 6,696

yum 是否明确检查存储库是否适合主要版本?或者我还缺少其他东西吗?

答案1

如果您在 /etc/yum.repo.d/ 中检查 CentOS 6 Base 的存储库文件,您会发现以下字符串:

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

CentOS 7 中的变量 $releasever 始终等于 7,因此如果您想从此存储库安装某些内容,则应将此变量更改为 6。

相关内容