우선, 저는 일반적으로 서로 다른 주요 OS 버전에 대해 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으로 변경해야 합니다.