Debian で無効なソースに関連付けられたパッケージを識別するにはどうすればよいでしょうか?

Debian で無効なソースに関連付けられたパッケージを識別するにはどうすればよいでしょうか?

私は Debian スピン (Wheezy + KDE ベースの Kwheezy) を使用していますが、これにはあらゆる種類の追加パッケージがバンドルされています。apper ソース リストには、無関係なものが多数含まれています。ディストリビューションは古くなってきており、メンテナは別の場所に異動しています。apper ソースの一部はもう存在しません。近いうちに、思い切ってアッ​​プグレードを試みるつもりですが、すべてが堅牢なので、できるだけ長く使い続けたいと思っています。

最近、apper から、ソースの 1 つが利用できないというメッセージが時々届きます。警告メッセージを停止するために、これらのソースを無効にしました。ただし、これは、そのソースからメンテナンスされていたパッケージがメンテナンスされなくなったことを意味します。少なくとも、セキュリティの問題には注意するか、別のソースを探す (または必要に応じてそれらのパッケージをアンインストールする) 必要があります。

システム上のどのパッケージが特定のソースに関連付けられているかを識別するにはどうすればよいですか (そのソースはもう存在しないため、ソースにアクセスして、以前含まれていたパッケージを確認することはできません)?

答え1

パッケージマネージャーを使用した代替手順

1) グラフィカルパッケージマネージャであるSynapticを使用すると、"状態"ボタンを選択して「インストール済み(ローカルまたは廃止)」

2)コマンドラインから:

  • 使用aptitude

    apt-get install aptitude

    aptitude search '~o'

  • 使用方法apt-show-version:

    apt-get install apt-show-version

    apt-show-versions | grep 'No available version'

説明

パッケージ マネージャーは、パッケージの「ステータス」を、そのリスト内のリポジトリ (およびインストールを担当したもの) に基づいて決定します。つまり、パッケージがリストされているリポジトリから入手可能であっても、別の場所から手動でインストールした場合、パッケージ マネージャーはそれを「自身の 1 つ」として維持しません。

いくつかの理由により、パッケージが指定されたリポジトリの 1 つに含まれない場合があります。

  • パッケージがリポジトリに含まれなくなったり、リポジトリが存在しなくなったりすることがあります。この状態は「廃止」と呼ばれます。

  • パッケージを手動でインストールした場合 (例: ダウンロードした tarball から)、パッケージ マネージャー フックは作成されず、ソースはリポジトリ リストに追加されません。パッケージは「ローカルにインストールされた」ものと呼ばれます。

パッケージマネージャは、本来行うべき仕事にのみ焦点を当てており、パッケージが指定されたリポジトリに存在しない理由を区別しません。インストールされていても管理できないものの一覧を表示できます。インストール済み(ローカルまたは古い)上記の手順では、その内容について説明します。

廃止されたパッケージに限定されるわけではありませんが、比較的短いリストが提供されます。含まれているパッケージはアルファベット順にグループ化されているため、手動でインストールしたものを簡単に認識して区別できます。

関連情報