CentOS7でyum updateすると「他のミラーを試します」とエラーが出る原因を解説

CentOS7は安定性と長期サポートを特徴とするLinuxディストリビューションとして、多くのシステムで利用されてきました。しかし、yum update を実行する際に「他のミラーを試します」というエラーに直面することがあります。この問題は、システムの更新やセキュリティパッチの適用を妨げ、場合によっては業務に影響を及ぼす可能性があります。

本記事では、このエラーの詳細や主な原因を解説し、具体的な解決策を紹介します。また、CentOS7のサポート終了によるリポジトリ以降の影響についても触れ、将来的な対応についても考察します。

エラーの内容

CentOS7でyum update を実行する際、以下のようなメッセージが表示されることがあります。

http://mirror.centos.org/... への接続に失敗しました。
他のミラーを試します。

301 Moved Permanently
にリダイレクトします。

このエラーは、指定されたミラーサーバーにアクセスできなかった場合に表示されるもので、yum が代替ミラーサーバーを探しにいく挙動を示しています。一般的に、次のような状況が原因で発生します。

  • ネットワークエラー
    回線不安定やDNSの解決失敗など
  • ミラーサーバーの応答停止
    特定のミラーサーバーがメンテナンス中、混雑、または廃止されている場合
  • リポジトリURLの変更
    CentOS7のサポート終了に伴い、公式リポジトリがmirror.centos.org から vault.centos.org に移行した影響

このメッセージ自体はシステムが自動的に他のミラーサーバーを試みることを示すため、更新が成功する場合もあります。ただし、失敗が続く場合、システムの更新が進まなくなるため、問題の根本原因を特定する必要があります。

エラーの解決方法

「他のミラーを試します」というエラーに対処するには、原因に応じた解決策を実施する必要があります。以下に、一般的な対応方法を詳しく説明します。

ネットワークの確認

ネットワークの問題が原因である場合、以下の手順で状態を確認します。

1. DNSや接続性を確認

ネットワークが正常か確認するために、次のコマンドを実行します。

ping -c 4 google.com

応答がない場合は、DNS設定やプロキシ環境を確認してください。

2. ミラーサーバーへの接続テスト

ミラーサーバーが利用可能かを直接確認します。

curl -I http://mirror.centos.org

応答がない場合は、別のネットワークやプロキシ設定を試してください。

リポジトリ設定の見直し

リポジトリの設定が古かったり、正しくない場合、エラーが発生します。以下の手順で設定を確認・修正してください。

1. 設定ファイルの確認

リポジトリ設定ファイルが正しいか確認します。

cat /etc/yum.repos.d/CentOS-Base.repo

2. ミラーサーバーの固定

mirrorlist を無効化し、特定のサーバーをbaseurl に設定します。例えば、Vaultリポジトリを利用する場合は以下のように変更します。

[base]
name=CentOS-$releasever - Base
baseurl=http://vault.centos.org/7.9.2009/os/$basearch/
gpgcheck=1
enabled=1

3. 設定の更新

設定変更後、リポジトリキャッシュをクリアします。

yum clean all
yum makecache

【※2024年7月1日以降】サポート終了後の対応(Vaultリポジトリへの移行)

CentOS7の公式サポート終了に伴い、リポジトリがvault.centos.org に移行されました。このリポジトリを使用する設定に切り替えることで問題を解消できます。

1. Vaultリポジトリの設定
/etc/yum.repos.d/CentOS-Base.repo を編集し、以下のようにすべてのbaseurlhttp://vault.centos.org に変更します。
※編集前に/etc/yum.repos.d/CentOS-Base.repoのバックアップを取っておくことをお勧めします。

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

[updates]
name=CentOS-$releasever - Updates
# mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
baseurl=http://vault.centos.org/7.9.2009/updates/$basearch/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

[extras]
name=CentOS-$releasever - Extras
# mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
baseurl=http://vault.centos.org/7.9.2009/extras/$basearch/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

2. リポジトリの検証
設定後に以下のコマンドでパッケージ情報が正常に取得できるか確認します。

yum repolist

まとめ

CentOS7でyum updateを実行した際に発生する「他のミラーを試します」というエラーは、ネットワークの問題やミラーサーバーの状態、そしてCentOS7のサポート終了によるリポジトリ移行が主な原因です。この記事では、その具体的な原因と対処方法について詳しく解説しました。

短期的には、vault.centos.orgへのリポジトリ切り替えやネットワーク設定の見直しで問題を解決できます。しかし、CentOS7の公式サポートが終了している現状では、セキュリティや機能面でのリスクが増大します。そのため、CentOS StreamやRocky Linux、AlmaLinuxといった代替ディストリビューションへの移行を検討することが推奨されます。

これらの対応策を実施することで、システムの安定性を確保しつつ、長期的な運用の計画を立てる一助となれば幸いです。ぜひこの記事を参考に、適切な対策を講じてください。

コメント