apt-get update
Debian 8 で実行するたびに、次のような結果が表示されます。
この問題を解決する方法はありますか?
Err http://ppa.launchpad.net jessie/main amd64 Packages
404 Not Found
Ign http://ppa.launchpad.net jessie/main Translation-en
Err http://ppa.launchpad.net jessie/main amd64 Packages
404 Not Found
Ign http://ppa.launchpad.net jessie/main Translation-en
Fetched 164 kB in 3s (47.0 kB/s)
W: Failed to fetch http://ppa.launchpad.net/certbot/certbot/ubuntu/dists/jessie/main/binary-amd64/Packages 404 Not Found
W: Failed to fetch http://ppa.launchpad.net/ondrej/php/ubuntu/dists/jessie/main/binary-amd64/Packages 404 Not Found
E: Some index files failed to download. They have been ignored, or old ones used instead.
これは私が持っているものです。 /etc/apt/sources.list
deb http://ftp.debian.org/debian/ jessie main
deb-src http://ftp.debian.org/debian/ jessie main
deb http://security.debian.org/ jessie/updates main
deb-src http://security.debian.org/ jessie/updates main
# jessie-updates, previously known as 'volatile'
deb http://ftp.debian.org/debian/ jessie-updates main
deb-src http://ftp.debian.org/debian/ jessie-updates main
deb http://ftp.debian.org/debian jessie-backports main
これはの出力です cat /etc/apt/sources.list.d/*
deb http://ppa.launchpad.net/certbot/certbot/ubuntu jessie main
# deb-src http://ppa.launchpad.net/certbot/certbot/ubuntu jessie main
deb http://ppa.launchpad.net/ondrej/php/ubuntu jessie main
# deb-src http://ppa.launchpad.net/ondrej/php/ubuntu jessie main
deb http://ppa.launchpad.net/ondrej/php/ubuntu jessie main
# deb-src http://ppa.launchpad.net/ondrej/php/ubuntu jessie main
deb https://packages.sury.org/php/ jessie main
deb https://packages.sury.org/php/ jessie main
答え1
したがって、これはDebian Jessie [*]からリポジトリ更新を正常にダウンロードしましたが、2つのサードパーティのリポジトリが正常にダウンロードされなかったことを示しています。
他のコメント作成者が指摘した情報によると、これらの特定のリポジトリはもはやオペレーティングシステムをサポートしていないようです。
[*] Debian 8は現在「Old Stable」状態で、ほぼ1年が経ちました。 2018年6月以降は、次の組織でサポートされます。Debian LTS プロジェクトもともとDebianセキュリティチームではありません。 Debian LTSを引き続き使用する予定の場合は、これが何を意味するのかをよく知っておく必要があります。特に、「このLTSリリースでは一部のパッケージはサポートされていません。主に、追加期間中にサポートされない一部のWebベースのアプリケーションです。パッケージ内のツールは、これらのサポートされcheck-support-status
てdebian-security-support
いないパッケージを検出するのに役立ちます。」
(更新も中断されることを考慮すると、関連性がある可能性がありますbackports
が、backports
まだセキュリティチームは正式にサポートしていません。つまり、もともと同じ約束はありません。)
1つの可能性は、PPAからのみインストールされたパッケージのバージョンを削除し、オペレーティングシステムをサポートする他のソースに切り替えることです。
新しいソースに完全に移行したこと、および交換するPPAからどのパッケージもインストールしていないことを確認する必要があります。 (奇妙な場合は、実際には同じリポジトリなので重要ではありませんが、リポジトリがホストされる場所が変更されました。)
削除されたPPAからインストールされたパッケージを識別する方法について、次のブログ記事を見つけました。
「debian uninstall PPA」を検索してから「debian "ppa-purge」」を検索します(Ubuntuの結果が表示されたら教えてくださいppa-purge
)。
Ubuntuユーザーなら、ppa-purgeに精通しています。これは、PPAを削除し、そのPPAにインストールされているすべてのアプリケーションのバージョンをロールバックするための便利な小さな自動化スクリプトです。 Debian には基本的にこれらの利点はありませんが、それに近づくための比較的簡単な方法があります。
まず、/etc/apt/sources.listまたは/etc/apt/sources.list.d/ディレクトリからPPAを削除します。
更新するには:
sudo apt-get update
今は廃止予定のパッケージを見つけてください。
aptitude search '?obsolete'
私にとって、これは次を返します。
# aptitude search '?obsolete' i A libmysqlclient18 - MySQL database client library i A mysql-client-5.5 - MySQL database client binaries i A mysql-server-5.5 - MySQL database server binaries and system database setup i A mysql-server-core-5.5 - MySQL database server binaries i A ruby-passenger - Rails and Rack support for Apache2 and Nginx
次に、apt-get の削除を使用してリストされたパッケージを削除し、必要に応じて再インストールします。 ppa-purgeのような完全に自動化されたツールではありませんが、良いスタートです。
答え2
次の内容を含むファイルをアーカイブしてください。
deb https://packages.sury.org/php/ jessie main
アップデート内容によると/etc/apt/sources.list.d/
:
apt update
ファイルがある場合は、他のURLにコメントを付けたり削除したりできます。
# deb http://ppa.launchpad.net/certbot/certbot/ubuntu jessie main
# deb-src http://ppa.launchpad.net/certbot/certbot/ubuntu jessie main
# deb http://ppa.launchpad.net/ondrej/php/ubuntu jessie main
# deb-src http://ppa.launchpad.net/ondrej/php/ubuntu jessie main
# deb http://ppa.launchpad.net/ondrej/php/ubuntu jessie main
# deb-src http://ppa.launchpad.net/ondrej/php/ubuntu jessie main
# deb https://packages.sury.org/php/ jessie main
deb https://packages.sury.org/php/ jessie main
答え3
ソースリストで修正した後も同じ問題が発生しました。私の問題を解決した方法:
/etc/apt/sources.list.d/
除外されたすべてのファイルを削除nginx.list
含むdeb http://nginx.org/packages/debian jessie nginx
vesta.list
含むdeb http://apt.vestacp.com/stretch/ stretch vesta
次に修正されました
/etc/apt/sources.list
:deb http://httpredir.debian.org/debian stretch main contrib non-free deb http://httpredir.debian.org/debian stretch-updates main contrib non-free deb http://security.debian.org stretch/updates main contrib non-free
それ以降は
apt update && apt upgrade
うまくいきました。