これを行うたびに、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の回答に基づいています。
- 行を削除します
mirrorlist=
。 - この
baseurl=
行のコメントを外してください。 - 目的のリリースをデフォルトの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