yum 업데이트를 통해 CentOS 7에서 한 버전을 유지하는 방법은 무엇입니까?

yum 업데이트를 통해 CentOS 7에서 한 버전을 유지하는 방법은 무엇입니까?

이 작업을 수행할 때마다 yum update자동으로 최신 버전으로 업그레이드됩니다. CentOS의 한 버전(예: 7.3)을 고수해야 합니다.

또한 시도해 보았는데 yum --releasever=7.3 update다음과 같은 오류가 발생했지만 수행할 수 있었습니다 yum update.

[root@myvm ~]# yum --releasever=7.3 update

Loaded plugins: fastestmirror, langpacks, product-id, search-disabled-repos, subscription-manager

 One of the configured repositories failed (Unknown),
 and yum doesn't have enough cached data to continue. At this point the only
 safe thing yum can do is fail. There are a few ways to work "fix" this:

     1. Contact the upstream for the repository and get them to fix the problem.

     2. Reconfigure the baseurl/etc. for the repository, to point to a working
        upstream. This is most often useful if you are using a newer
        distribution release than is supported by the repository (and the
        packages for the previous distribution release still work).

     3. Run the command with the repository temporarily disabled
            yum --disablerepo=<repoid> ...

     4. Disable the repository permanently, so yum won't use it by default. Yum
        will then just ignore the repository until you permanently enable it
        again or use --enablerepo for temporary usage:

            yum-config-manager --disable <repoid>
        or
            subscription-manager repos --disable=<repoid>

     5. Configure the failing repository to be skipped, if it is unavailable.
        Note that yum will try to contact the repo. when it runs most commands,
        so will have to try and fail each time (and thus. yum will be be much
        slower). If it is a very temporary problem though, this is often a nice
        compromise:

            yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true

Cannot find a valid baseurl for repo: base/7.3/x86_64

답변1

편집 /etc/yum.repos.d/CentOS-Base.repo포인트 vault.centos.org.

활성화된 각 저장소 섹션에서 baseurl다음과 같이 변경합니다.

baseurl=http://vault.centos.org/7.3.1611/os/$basearch 

baseurl=http://vault.centos.org/7.3.1611/updates/$basearch

그리고mirrorlist변경하는 .txt 파일의 각 섹션에 있는 지시어를 주석 처리하거나 삭제하세요 baseurl.

extras이는 , centosplus및 저장소 에서도 유사하게 작동합니다 fasttrack.

답변2

CentOS 7.4.1708용 Docker 이미지가 CentOS 7.5.1804에서 새 패키지를 가져오기 시작하고 이전에 7.4용으로 릴리스된 업데이트를 더 이상 찾을 수 없을 때 문제가 발생했습니다. 저장소 구성을 조정하여 이 문제를 해결했습니다 sed.

sed -e '/mirrorlist=.*/d' \
    -e 's/#baseurl=/baseurl=/' \
    -e "s/\$releasever/7.4.1708/g" \
    -e "s/mirror.centos.org\\/centos/vault.centos.org/g" \
    -i /etc/yum.repos.d/CentOS-Base.repo

이는 기본 URL은 다르지만 JRFerguson의 답변을 기반으로 합니다.

  1. 줄을 삭제합니다 mirrorlist=.
  2. baseurl=줄의 주석을 해제하세요.
  3. 원하는 릴리스를 기본 URL(및 저장소 이름)에 명시적으로 입력합니다.

예를 들어, 기본 구성은 다음과 같습니다.

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

이 되다:

[base]
name=CentOS-7.4.1708 - Base
baseurl=http://vault.centos.org/7.4.1708/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

그러나 이는 새 버전이 출시된 후 몇 주 후에 이전 패키지가 미러에서 제거되므로 임시 해결 방법일 뿐입니다. 7.4에서는 새로운 Docker 기본 이미지가 출시되기 전에 제거되었습니다.

답변3

yum install yum-utils
yum-config-manager --disable CentOS-7*
yum-config-manager --enable CentOS-7.3*
yum update  # update to the requested 7.3 ver.

또는 필수 7.3 버전을 포함하여 활성화된 리포지토리가 여러 개 있는 경우:

yum update --disablerepo=* --enablerepo=\*7.3\*

답변4

RPM을 설치하기 위해 iso DVD Redhat으로 서버를 구성한 경우 문제가 발생했습니다. 해결 방법은 다음을 /etc/yum.repos.d/rhel7.5DVD.repo사용하여 이 파일을 무시하는 것이었습니다.

mv /etc/yum.repos.d/rhel7.5DVD.repo /etc/yum.repos.d/rhel7.5DVD.repo.tmp

관련 정보