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

このページでは、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 があるか、正しい場合はアップストリーム ソースが停止しているかどうかを確認します。

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 ファイルを構成します。