お気に入りのディストリビューションをGentooに切り替えてから、パッケージのインストールと削除の次のパターンに精通しています。
emerge <package>
。このコマンドはパッケージをインストールし、パッケージを明示的にインストールされたものとしてマークします。emerge --deselect <package>
。このコマンドは、明示的にインストールされたアプリケーションのリストからパッケージを削除しますが、パッケージをアンインストールしません。emerge --depclean
。このコマンドは、(1)システムパッケージではなく、(2)明示的にインストールされておらず、(3)これら2つの依存関係ではないすべてのパッケージを削除します。revdep-rebuild
。このコマンドは、すべての依存関係をチェックし、壊れたパッケージを再インストールします。たまに、/var/lib/portage/world
(明示的にインストールされたパッケージのリスト)のエントリを見て、トップレベルのアプリケーションを確認します。手順2、3、4のコマンドを使用して、使用し、使用しなくなったものを削除します。
Archを学ぼうとしているので、パックマンでも同じ戦略を使用できるのだろうか。または、システムを未使用のパッケージからクリーンに保つことができる別の戦略ですか?
注: Pacman Rosetta は、物事をすばやく理解するのに大いに役立ちますが、Archの/var/lib/portage/world
ファイルに相当するものを理解できませんでした。 pacman -Qe
はそれを行うと言われていますが、明示的にインストールしていないことを誓うものが含まれています...とにかく、戦略の観点からこの質問に答えてください(もちろんコマンドの例を使用して:)
DarwinSurvivorのおかげで answer Archでパッケージ管理がどのように機能するかをよりよく理解することができました。これで、Gentooで使用するのと同じ戦略を適用できます(少し変更を加えます)。問題のコマンドの「同等物」は、それぞれ次のとおりです。
pacman -S <package>
_pacman -D --asdeps <package>
_pacman -Rs $(pacman -Qqtd)
Gentooで_/var/lib/portage/world
_に最も近いのは、コマンド_pacman -Qe
_の結果です。違い:
pacman -Qe
_の結果からアイテムを減らすと、実際には重要なパッケージが削除される可能性があります。インストールしたことを覚えていないpacman -Qe
のパッケージが表示される最も可能性の高い理由は、それらがインストールした「グループ」(base-devel
など)の一部であったことです。
補足:私は個人的に、パッケージを再インストールせずに「明示的」から「暗黙的」に(またはその逆に)切り替えることもしばらく探していました。明示的にインストールしたパッケージを使用して、別のパッケージを機能させて回転させることもできます。そのパッケージの依存関係にそれを(再び再インストールせずに)。
正しく思い出せば、
pacman -S package
パッケージをインストールします
pacman -Rs package
パッケージとそのすべての依存関係を削除します---ただし、他のパッケージを壊さないものと、明示的にインストールしなかったものだけを削除します。
Pacmanのmanページを確認してください。
残念ながら、壊れたパッケージをチェックする方法がわかりません。
明示的にインストールされたパッケージを追跡するためにパッケージマネージャーに依存する代わりに、システムでAnsibleなどの構成管理ツールを使用できます。私はそれを自分の数台のマシンに使用しており、2つのコマンドだけでメインマシンと同じようにマシンをいつでもセットアップできます。