"apt-get update" コマンド実行時のビルド エラー

このトピックに関する詳細な解説については、こちらをご覧ください。

現在、apt-get update の実行時にエラーが発生し、CircleCI のビルドが失敗するケースが発生しています。 こちらの問題は CircleCI でも追跡中ですが、Debian stretch (Debian 9) で Debian リポジトリからバックポート コンポーネントが削除されたことが原因です。

次のエラー メッセージが表示されます。

Could not open file /var/lib/apt/lists/deb.debian.org_debian_dists_stretch-backports_main_binary-amd64_Packages.diff_Index - open (2: No such file or directory)

影響を受けるイメージ

現時点では、次のイメージでこの問題が発生することを確認しています。

  1. Debian 9 (stretch) ベースのイメージ
  2. 古いイメージ (ビルド後 91 日以上が経過)

解決策

ご使用のプロジェクトに対して実施できる解決策は複数あります。状況に最適なものをお選びください。

  1. ソフトウェアのプライマリ バージョンが更新されているイメージ タグを使用する。 たとえば、影響を受けることが確認されているイメージに、 circleci/ruby:2.6.5-stretch-node-browsers があります。 これには、バージョンの古い Ruby v2.6.5 が含まれています。 Ruby v2.6.6 などの新しいパッチ リリースであれば、この問題の影響を受けません。
  2. ベース OS に最近のバージョンのものを使用する。 上記の例と同じ circleci/ruby:2.6.5-stretch-node-browsers の場合、ベース OS には Debian 9 (stretch) が使用されていますが、これは 3 年以上前のものです。 文字列 stretch を削除すると、この問題の影響を受けない最近のバージョンの Debian または Ubuntu ベースの OS が使用されます。 具体的には、circleci/ruby:2.6.5-node-browsers のようにすることで、この問題に対処できます。
  3. 次世代コンビニエンス イメージを使用する。 次世代コンビニエンス イメージは、Ubuntu 18.04 または Ubuntu 20.04 をベースにしているため、この問題の影響を受けません。
  4. sudo apt-get update を実行する前に APT キャッシュを削除する。この方法では、イメージに変更を加えずにこの問題を解決できます。 具体的には、次のようになります。
- run: |    sudo rm -rf /var/lib/apt/lists/*    sudo apt-get update
この記事は役に立ちましたか?
7人中4人がこの記事が役に立ったと言っています

コメント

0件のコメント

記事コメントは受け付けていません。