リモート リポジトリのトラブルシューティング

このページでは、Artifact Registry のリモート リポジトリの問題を解決する方法について説明します。

Artifact Registry の標準リポジトリの問題を解決する方法については、一般的なトラブルシューティングをご覧ください。

パッケージをリクエストする際のエラー

アーティファクトがリモート リポジトリにキャッシュ保存されていない場合、アップストリーム リポジトリに問題があると、複数のエラーが返されることがあります。

404 エラー

リクエストされたアーティファクトがアップストリーム リポジトリに存在しない場合、次の問題が発生します。

Received invalid response from external repository; url=URL.

この問題を解決するには、アーティファクトの名前とバージョンが正しいこと、およびアップストリーム リポジトリに存在することを確認します。

429 エラー

アップストリームの読み取り上限を超えると、次の問題が発生します。

Resource has been exhausted (e.g. check quota).

この問題を解決するには、1 分ほど待ってからもう一度お試しください。アップストリームの読み取り上限の詳細については、リモート リポジトリの上限をご覧ください。

502(不正なゲートウェイ)エラー

アップストリーム リポジトリがエラーコードで応答すると、次の問題が発生します。エラー メッセージの詳細は、アップストリーム リポジトリのエラーによって異なります。

Received invalid http status code httpStatusCode from external repository; url=URL.
Received invalid redirect URL lastRequestedURL from external repository.
External repository returned unexpected EOF for url=URL.
Fetch was denied by external repository's robots.txt; url=URL
Received invalid redirect URL from external repository; url=URL. If the failures persist, your remote repository upstream URI may be misconfigured.
Received invalid response from external repository; url=URL.

この問題を解決するには、アップストリーム リポジトリのエラーの原因を調査します。

504(ゲートウェイ タイムアウト)

アップストリーム リポジトリがオフラインの場合や、接続できない場合に、次の問題が発生します。エラー メッセージの詳細は、タイムアウトが発生したタイミングによって異なります。

Timeout while calling external repository; url=URL.
Timeout before connecting to external repository; url=URL

この問題を解決するには、正しいアップストリーム URI があることを確認します。この URI が正しい場合は、アップストリーム ソースで停止が発生していないか調査します。

OS パッケージ

このセクションでは、OS パッケージで発生する可能性があるリモート リポジトリのエラーを一覧表示し、それぞれのエラーの修正方法について説明します。

OS パッケージの標準リポジトリに関する問題を解決する方法については、OS パッケージのトラブルシューティングをご覧ください。

Can not load エラー

バージョンまたはアーキテクチャを使用してパッケージをインストールすると、次の問題が発生します。たとえば、nano-2.3.1-10.el7.x86_64.rpm のインストールを試みた場合。

Can not load RPM file: nano-2.3.1-10.el7.x86_64.rpm
Could not open: nano-2.3.1-10.el7.x86_64.rpm

この問題を解決するには、パッケージ名のみを使用してパッケージをリクエストします。たとえば、nano-2.3.1-10.el7.x86_64.rpm ではなく nano をインストールします。

Yum の優先度

次の問題は、パッケージが想定どおりにリモート リポジトリからインストールされない場合、またはリモート リポジトリをバックアップとして使用するつもりでパッケージがインストールされた場合に発生します。

デフォルトでは、Yum はリポジトリの名前に基づいて優先するリポジトリを決定します。Yum は、まずリポジトリ名をアルファベット順にパッケージをインストールしようとします。そのリポジトリでパッケージが見つからない場合は、アルファベットの降順に各リポジトリを試し続けます。

デフォルトのリポジトリは、[base] または [baseos] と呼ばれます。リモート リポジトリの名前が数字で始まるか、アルファベットで [base] よりも前に来る場合は、デフォルトよりも前に試行されます。リモート リポジトリの名前がアルファベットで [base] の後にある場合は、デフォルトの後に試行されます。

この問題を解決するには、リポジトリの名前を変更するか、yum.conf マニュアル ページで説明されているフラグを使用して yum.conf ファイルを構成します。