Gentooからパッケージを安全に削除する

Gentooからパッケージを安全に削除する

Gentooから特定のパッケージを削除したいので、Emergeのマニュアルページを見ました。このオプションが見つかりました--unmerge

警告:これを行うと、重要なパッケージが削除される可能性があります!一致するパッケージをすべて削除します。これは依存関係を確認しないため、システムが正常に動作するために必要なパッケージを削除できます。対応するパラメータはAtomまたはebuildです。依存関係認識バージョンの場合 --マージキャンセル、使用--ディープクリーンまたは- 剪定

しかし、削除したいパッケージがシステムにインストールされている他のパッケージに必要かどうかを確認したいと思います。その機能を提供しませ--depclean--prune

  • --depclean依存関係でインストールされたが必要なくなったパッケージの削除
  • --prune「システムからインストールされているパッケージの最も高いバージョンを除くすべてを削除する」

バージョンを確認する依存関係はありませんか--unmerge

答え1

depclean私はそれがあなたが説明する方法で動作するとは思わない。引数なしでこれを実行しますが、パッケージ名を渡すと、追加のunmerge依存関係チェックのように動作します。からemerge(1)

Depclean は、--unmerge1 つ以上の Atom が与えられると、逆方向依存関係のない一致するパッケージをマージ解除します。逆依存関係を表示するには、--depcleanwithを使用します。--verbose

私は個々のパッケージをマージ解除するときに常に--depclean()を使います。-c

答え2

同じ結果を得る別の方法(依存関係チェックを介してマージを解除するコマンドではありません):emerge --deselect packageワールドファイルからパッケージを削除します。これで実行すると、emerge --depclean他のパッケージで必要でない場合はパッケージが削除されます。

答え3

gentoolkitが役に立つかもしれません:

equery d <atom>

依存関係を最初に確認し、依存関係を確認してからパッケージの削除を続行できます。

答え4

時には、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.

これは、パッケージのマージを解放する前に依存関係チェックを実行するために推奨される方法のようです。しかし、私はこれを達成するためのより良い自動化された方法があることをまだ望んでいます。

関連情報