私はdockerイメージを独自の開発の基礎として使用し、Dockerfileにjessieバックポートリポジトリを追加し、それを使用して依存関係をインストールします。イメージは次のコマンドを使用してリポジトリを追加します。
echo "deb http://ftp.debian.org/debian jessie-backports main" >> /etc/apt/sources.list
問題は、次のエラーが原因でバックポートストアからパッケージをインポートできませんでした(以前は正常に動作していました)。
W: Failed to fetch
http://ftp.debian.org/debian/dists/jessie-backports/main/binary-amd64/Packages
404 Not Found
W: Failed to fetch
http://deb.debian.org/debian/dists/jessie-updates/main/binary-amd64/Packages
404 Not Found
サーバーを確認しましたが、実際にはこれらのパスは存在しません。
私はこの特定のリポジトリがまだ利用可能かどうかを Debian バックポートのウェブサイトで見つけようとしましたが、それがもう使用されていないことを示すものやそれに似たものが見つかりませんでした。
これはリポジトリの一時的な問題ですか、それともjessie-backportsリポジトリを使用できなくなりましたか?これが一時的な問題でない場合は、最新のDebian安定版にアップグレードせずにこのリポジトリまたはそれに対応するリポジトリを使用するにはどのようなオプションが必要ですか?
答え1
WheezyとJessieは最近ミラーネットワークから削除されました。したがって、Jessieバックポートを引き続き取得するには、以下を使用する必要がありますarchive.debian.org
。
deb [check-valid-until=no] http://archive.debian.org/debian jessie-backports main
(ストレージは更新されなくなったため、検証を無効にする必要があります。Jessieはこのフラグをサポートしませapt
ん。check-valid-until
イノスティアの答え詳細と追加の構成の概要は、この回答に記載されています。 )
リポジトリがjessie-updates
削除されました。すべてのアップデートがデフォルトのリポジトリとマージされ、非セキュアアップデートがなくなりました。したがって、jessie-updates
insources.list
またはfilesへのすべての参照をsources.list.d
削除する必要があります。セキュリティアップデート引き続き提供される予定です、LTSサポートアーキテクチャの場合、2020年6月30日までセキュリティストアにあります。
コンテナイメージを構築しているので高い代わりにDebian 9(Stretch)ベースをお勧めします。 Debian 8(Jessie)を維持するには、リポジトリは次のようになります。
deb http://cdn-fastly.deb.debian.org/debian/ jessie main
deb-src http://cdn-fastly.deb.debian.org/debian/ jessie main
deb http://security.debian.org/ jessie/updates main
deb-src http://security.debian.org/ jessie/updates main
deb http://archive.debian.org/debian jessie-backports main
deb-src http://archive.debian.org/debian jessie-backports main
(jessie-updates
リポジトリなし)。
また、検証を無効にする必要があります/etc/apt/apt.conf
(これはすべてのリポジトリに適用されます)。
Acquire::Check-Valid-Until "false";
答え2
@inostiaと@Stephen Kittが提案した解決策を試しても、次のエラーが発生します。
W: Failed to fetch http://deb.debian.org/debian/dists/jessie-updates/main/binary-amd64/Packages 404 Not Found
E: Some index files failed to download. They have been ignored, or old ones used instead.
deb http://deb.debian.org/debian jessie-updates main
その行を削除すると問題を解決できることがわかりました/etc/apt/sources.list
。
私のDockerfileに次のコードスニペットがありました。
RUN echo "deb [check-valid-until=no] http://cdn-fastly.deb.debian.org/debian jessie main" > /etc/apt/sources.list.d/jessie.list
RUN echo "deb [check-valid-until=no] http://archive.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/jessie-backports.list
RUN sed -i '/deb http:\/\/deb.debian.org\/debian jessie-updates main/d' /etc/apt/sources.list
RUN apt-get -o Acquire::Check-Valid-Until=false update
答え3
NodeJSと以前のDockerイメージベースを使用している人のためのものです。追加のライブラリをコンパイルするための以前のソースコードを含む固定イメージがあります。
コンテキスト:Dockerのビルド中にPythonをインストールしようとすると、Dockerのビルド中に依存関係が得られないため、イメージのビルド中(過去24時間)にこの問題が発生します。
この投稿のアーカイブパスを提案しようとしましたが、404を通過できませんでした。 (また、今日のarchive.debian.orgの場所から抜粋)
解決策:最終的には、最新のノードコンテナバージョン(すでにPythonライブラリがプリインストールされています)に切り替えて、jsonパッケージの一部のライブラリ(以前にPythonが必要だったバイナリライブラリも含む)を更新して問題が廃止されました。
最後に、コンテナスタックのベースイメージ(node:latest)を更新することが問題を解決する最も直接的な方法のようです。
コアオペレーティングシステム層を更新するのに時間がかかる可能性があるバイナリ依存関係を含む古いイメージスタックに注意してください。
答え4
何も機能しない場合は、次のエラーのあるパネルを使用してください。
Unable to correct missing packages.
WARNING: The following packages cannot be authenticated!
W: GPG error
W: An error occurred during the signature verification.
Updates for this repository will not be applied.
E: Failed to fetch
E: Aborting install
考える包括的なリリースアップグレードそして、ソースリストのクリーンアップを通じてコンピュータを保存することができます。このメモは数分しかかかりませんが、最悪の部分です。
初めて訪問し、/etc/apt/sources.list.d/
すべてを削除します。 (バックアップする)。
編集してください/etc/apt/sources.list
。次の行を維持してください。
deb http://ftp.us.debian.org/debian stable main contrib
その後、root として実行します。
aptitude update
aptitude full-upgrade
さまざまなメッセージを確認してください。次に、次のことを試してください。
sudo apt update
エラーは発生しないでください。以下を確認してください。
Reading package lists... Done
いくつかの異なるパッケージがいくつか発生する可能性があります。紛争、これらの場合に一度使用すると、さまざまな競合が解決されます。
sudo aptitude -y install packagename otherpackagename
考えられるその他のエラー:
W: There is no public key available for the following key IDs:
*648ACFXXXXX2FAB138*
この問題を解決するには、指定した公開鍵を取得します。
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFXXXXX2FAB138
非常にまれなメッセージを受け取ることがあります!
A reboot is required to replace the running dbus-daemon.
Please reboot the system when convenient.
古いカーネルとlibcに問題がある可能性があります。
Kernel must be upgraded
This version of the GNU libc requires kernel version 3.2 or later. Please upgrade your kernel
パブリックサーバーにはこれらのコメントを適用しないでください。常に最後のLTSを追求してください。
https://www.debian.org/doc/manuals/debian-faq/ch-uptodate.en.html