![Debian で無効なソースに関連付けられたパッケージを識別するにはどうすればよいでしょうか?](https://rvso.com/image/1502917/Debian%20%E3%81%A7%E7%84%A1%E5%8A%B9%E3%81%AA%E3%82%BD%E3%83%BC%E3%82%B9%E3%81%AB%E9%96%A2%E9%80%A3%E4%BB%98%E3%81%91%E3%82%89%E3%82%8C%E3%81%9F%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%E3%82%92%E8%AD%98%E5%88%A5%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%81%8B%3F.png)
私は 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 から)、パッケージ マネージャー フックは作成されず、ソースはリポジトリ リストに追加されません。パッケージは「ローカルにインストールされた」ものと呼ばれます。
パッケージマネージャは、本来行うべき仕事にのみ焦点を当てており、パッケージが指定されたリポジトリに存在しない理由を区別しません。インストールされていても管理できないものの一覧を表示できます。インストール済み(ローカルまたは古い)上記の手順では、その内容について説明します。
廃止されたパッケージに限定されるわけではありませんが、比較的短いリストが提供されます。含まれているパッケージはアルファベット順にグループ化されているため、手動でインストールしたものを簡単に認識して区別できます。