すべてのプロダクト
Search
ドキュメントセンター

:yum エラーの解決: "HTTP Error 404 - Not Found Trying other mirror"

最終更新日:Nov 13, 2025

原因

このエラーは、yum が設定されたパスで必要なリポジトリのメタデータを見つけられない場合に発生します。考えられる原因は次のとおりです。

  • オペレーティングシステムのサポート終了 (EOL): OS プロバイダーが、EOL バージョンの公式 yum リポジトリをアーカイブサーバー (vault) に移動したため、元のミラー URL が無効になっています。ミラーソースをアーカイブのリポジトリに切り替える必要があります。詳細については、「OS EOL の処理」をご参照ください。

  • 環境変数内の不正な HTTP プロキシ: 不正な HTTP または HTTPS プロキシが環境変数 (たとえば、/etc/profile ファイル内) に設定されているため、yum がミラーサーバーに接続できません。詳細については、「不正な環境変数設定の確認と修正」をご参照ください。

  • centos-release パッケージが見つからない: このパッケージが見つからない場合、yum は利用可能なリポジトリを見つけられません。yum は設定ファイル内の変数を解決できず、そのため不正な URL を生成します。詳細については、「centos-release パッケージのインストール」をご参照ください。

解決策

OS EOL の処理

重要

EOL システムはセキュリティ更新プログラムを受信しなくなるため、セキュリティリスクとなります。以下の手順は一時的な回避策です。できるだけ早くオペレーティングシステムを置き換えて移行することを強く推奨します。

CentOS 6

  1. ソース設定ファイルをバックアップします。

    # Base ソース設定をバックアップします。
    sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
    
    # EPEL ソース設定をバックアップします。
    sudo cp  /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
  2. Base リポジトリをアーカイブミラーに切り替えます。

    sudo vim /etc/yum.repos.d/CentOS-Base.repo 

    CentOS-Base.repo ファイルの内容を以下に置き換えます。

    [base]
    name=CentOS-6.10
    enabled=1
    failovermethod=priority
    baseurl=http://mirrors.cloud.aliyuncs.com/centos-vault/6.10/os/$basearch/
    gpgcheck=1
    gpgkey=http://mirrors.cloud.aliyuncs.com/centos-vault/RPM-GPG-KEY-CentOS-6
    
    [updates]
    name=CentOS-6.10
    enabled=1
    failovermethod=priority
    baseurl=http://mirrors.cloud.aliyuncs.com/centos-vault/6.10/updates/$basearch/
    gpgcheck=1
    gpgkey=http://mirrors.cloud.aliyuncs.com/centos-vault/RPM-GPG-KEY-CentOS-6
    
    [extras]
    name=CentOS-6.10
    enabled=1
    failovermethod=priority
    baseurl=http://mirrors.cloud.aliyuncs.com/centos-vault/6.10/extras/$basearch/
    gpgcheck=1
    gpgkey=http://mirrors.cloud.aliyuncs.com/centos-vault/RPM-GPG-KEY-CentOS-6
  3. EPEL リポジトリをアーカイブミラーに切り替えます。

    vim /etc/yum.repos.d/epel.repo

    epel.repo ファイルの内容を以下に置き換えます。

    [epel]
    name=Extra Packages for Enterprise Linux 6 - $basearch
    enabled=1
    failovermethod=priority
    baseurl=http://mirrors.cloud.aliyuncs.com/epel-archive/6/$basearch
    gpgcheck=0
    gpgkey=http://mirrors.cloud.aliyuncs.com/epel-archive/RPM-GPG-KEY-EPEL-6
  4. yum repolist コマンドを実行します。コマンドが 404 エラーなしでリポジトリをリスト表示すれば、問題は解決です。

CentOS 7

  1. ソース設定ファイルをバックアップします。

    sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
  2. 新しいソース設定ファイルをダウンロードします

    sudo wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
  3. yum キャッシュをクリアして再構築します

    yum clean all && yum makecache
  4. yum repolist を実行します。コマンドが 404 エラーなしでリポジトリをリスト表示すれば、問題は解決です。

不正な環境変数設定の確認と修正

  1. プロキシ環境変数を確認します

    echo $http_proxy
    echo $https_proxy
  2. プロキシ設定を削除します。
    前のステップでプロキシのアドレスが返された場合は、/etc/profile ファイルを編集します。export http_proxy= または export https_proxy= を含む行を見つけ、各行の先頭に # を追加してコメントアウトします。

    sudo vim /etc/profile
    # export http_proxy="http://your.proxy.address:port"
    # export https_proxy="https://your.proxy.address:port"
  3. yum repolist コマンドを実行します。コマンドが 404 エラーなしでリポジトリをリスト表示すれば、問題は解決です。

centos-release パッケージのインストール

  1. パッケージがインストールされているか確認します。

    コマンドが package centos-release is not installed を返した場合、パッケージをインストールします。

    sudo rpm -q centos-release
  2. パッケージをダウンロードします。

    公式ミラーサイトにアクセスし、最新バージョンの centos-release-*.rpm パッケージを見つけて、そのリンクをコピーします。

    <URL> をコピーしたリンクに置き換えます。

    sudo wget <URL>
    たとえば、CentOS 7 の場合、<URL>https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/centos-release-7-9.2009.0.el7.centos.x86_64.rpm です。
  3. パッケージをインストールします。

    <file_name> をダウンロードしたパッケージのファイル名に置き換えます。

    sudo rpm -ivh <file_name>
    たとえば、CentOS 7 の場合、<file_name>centos-release-7-9.2009.0.el7.centos.x86_64.rpm です。
  4. yum repolist コマンドを実行します。コマンドが 404 エラーなしでリポジトリをリスト表示すれば、問題は解決です。