web-dev-qa-db-ja.com

Gentooでパッケージを安全にアンインストールする

Gentooの特定のパッケージをアンインストールしたいと思い、emergeのmanページを閲覧しました。 --unmergeオプションが見つかりました:

警告:このアクションは重要なパッケージを削除する可能性があります!一致するすべてのパッケージを削除します。これは依存関係のチェックを行わないため、システムの適切な動作に必要なパッケージが削除される可能性があります。引数はアトムまたはebuildにすることができます。 -unmergeの依存関係認識バージョンの場合、-depcleanまたは-Pruneを使用します。

ただし、emergeを使用して、アンインストールするパッケージがシステムにインストールされている他のパッケージに必要かどうかを確認します。 --depcleanおよび--Pruneはその機能を提供していません。

  • --depcleanは、依存関係としてインストールされたパッケージを削除しますが、不要になりました
  • --Prune "インストールされているパッケージの最も高いバージョンを除くすべてをシステムから削除します"

--unmergeの依存関係チェックバージョンはありませんか?

12
daniel kullmann

depcleanはあなたが説明したように動作しないと思います。引数なしでも機能しますが、パッケージ名を渡すと、依存関係チェックが追加されたunmergeのように機能します。 emerge(1)から:

Depcleanは、--unmergeの依存関係認識バージョンとして機能します。 1つ以上のアトムを指定すると、逆依存関係のない一致したパッケージがマージ解除されます。 --depclean--verboseを併用すると、逆の依存関係が表示されます。

私は常に--depclean-c)を使用して個々のパッケージをマージ解除しています。それはうまくいきます

17
Michael Mrozek

gentoolkitが役立ちます:

equery d <atom>

最初に依存関係を確認してから、依存関係を検査した後、パッケージの削除に進むことができます。

6
Spidey

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

5
njsg

時々、 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.

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

1
daniel kullmann