yumアップデートでCentOS 7で1つのバージョンを維持する方法は?

yumアップデートでCentOS 7で1つのバージョンを維持する方法は?

これを行うたびに、yum update自動的に最新バージョンにアップグレードされます。 CentOSの1つのバージョン(例: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

関連情報