Apt/Aptitude: インストールできないパッケージをフィルタリングする方法は?

Apt/Aptitude: インストールできないパッケージをフィルタリングする方法は?

特に、Sidを実行すると、依存関係がABIバージョンを変更したり、依存関係自体が削除された可能性があるため、多くのパッケージを削除できなくなります。潜在的な管理者がリポジトリに問題のあるパッケージがあるかどうかを確認できるように、これらのパッケージをフィルタリングする方法を知ることをお勧めします。

これまで、私は次のことを思い出しました。

#!/bin/sh
apt-cache pkgnames|xargs apt-get -s install\
|sed "/ : /h;/installable/{x;/ .* :/{s/ \(.*\) :.*/\1/;b}};d" | sort

「インストールしない」パッケージXに依存するパッケージを再帰的に表示しません。ここで X は、依存関係の 1 つが「インストールできません」なので、表示されたパッケージです。たとえば、次のようになります。

foo : Depends on bar but not going to be installed
bar : Depends on baz but not installable

barフラグが付けられますが、fooそうではありません。すべてのパッケージに「インストールしない」行を表示しないでください。パッケージは存在しますが、インストールされている他のパッケージを破損する可能性があるためです。

ベストアンサー1

Pythonを知っていると仮定し、そうでなければ今日が始まるのに良い時間です...適切なPythonバインディングに関するドキュメントは完全な解決策ではないかもしれませんが、関連する作業例があります。

apt-get install python-apt python-apt-doc

見てください/usr/share/doc/python-apt-doc/examples/missing-deps.py。私はDebianスクイーズを使用しています。

今試しました。

python missing-deps.py

小さなパッケージセットを作成します。私が理解したこのスクリプトは、現在Debianメインから削除できるパッケージのリストを生成することです。しかし、現在これをテストできる便利で不安定なDebianインストールはありません。

おすすめ記事