Debian 8 apt-getアップデートに404 Not Foundが表示される

Debian 8 apt-getアップデートに404 Not Foundが表示される

apt-get updateDebian 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-statusdebian-security-supportいないパッケージを検出するのに役立ちます。」

(更新も中断されることを考慮すると、関連性がある可能性がありますbackportsが、backportsまだセキュリティチームは正式にサポートしていません。つまり、もともと同じ約束はありません。)


1つの可能性は、PPAからのみインストールされたパッケージのバージョンを削除し、オペレーティングシステムをサポートする他のソースに切り替えることです。

新しいソースに完全に移行したこと、および交換するPPAからどのパッケージもインストールしていないことを確認する必要があります。 (奇妙な場合は、実際には同じリポジトリなので重要ではありませんが、リポジトリがホストされる場所が変更されました。)

削除されたPPAからインストールされたパッケージを識別する方法について、次のブログ記事を見つけました。

Feijunから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

ソースリストで修正した後も同じ問題が発生しました。私の問題を解決した方法:

  1. /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
  2. 次に修正されました/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
    
  3. それ以降はapt update && apt upgradeうまくいきました。

関連情報