Gentooの特定のパッケージをアンインストールしたいと思い、emergeのmanページを閲覧しました。 --unmerge
オプションが見つかりました:
警告:このアクションは重要なパッケージを削除する可能性があります!一致するすべてのパッケージを削除します。これは依存関係のチェックを行わないため、システムの適切な動作に必要なパッケージが削除される可能性があります。引数はアトムまたはebuildにすることができます。 -unmergeの依存関係認識バージョンの場合、-depcleanまたは-Pruneを使用します。
ただし、emergeを使用して、アンインストールするパッケージがシステムにインストールされている他のパッケージに必要かどうかを確認します。 --depclean
および--Prune
はその機能を提供していません。
--depclean
は、依存関係としてインストールされたパッケージを削除しますが、不要になりました--Prune
"インストールされているパッケージの最も高いバージョンを除くすべてをシステムから削除します"--unmerge
の依存関係チェックバージョンはありませんか?
depclean
はあなたが説明したように動作しないと思います。引数なしでも機能しますが、パッケージ名を渡すと、依存関係チェックが追加されたunmerge
のように機能します。 emerge(1)
から:
Depcleanは、
--unmerge
の依存関係認識バージョンとして機能します。 1つ以上のアトムを指定すると、逆依存関係のない一致したパッケージがマージ解除されます。--depclean
と--verbose
を併用すると、逆の依存関係が表示されます。
私は常に--depclean
(-c
)を使用して個々のパッケージをマージ解除しています。それはうまくいきます
gentoolkitが役立ちます:
equery d <atom>
最初に依存関係を確認してから、依存関係を検査した後、パッケージの削除に進むことができます。
同じ結果を達成する別の方法(依存関係のチェックでアンマージするコマンドではありません):emerge --deselect package
。これは、パッケージをワールドファイルから削除します。現在、emerge --depclean
を実行すると、他のパッケージで必要とされていない場合に限り、そのパッケージが削除されます。
時々、 emerge --unmerge
は次の警告メッセージを表示します:
* This action can remove important packages! In order to be safer, use
* `emerge -pv --depclean <atom>` to check for reverse dependencies before
* removing packages.
これは、パッケージをマージ解除する前に依存関係チェックを行う推奨方法のようです。ただし、これを実現するより良い、より自動化された方法があることを私はまだ望んでいます。