回答:
remove
その名前のパッケージをアンインストールします。autoremove
不要になった自動インストールされたパッケージをすべてアンインストールします。後にパッケージ名をリストするのは正しくありませんautoremove
。それらは無視され(そしてすべての適格なパッケージが削除されます)、おそらくあなたが意図したものではありません。--purge
削除されるパッケージに関連するシステム全体の構成ファイルも削除されます。remove
またはなどのコマンドが必要autoremove
です。--purge
フラグは、コマンドの動作を修正します。それ自体では動作しません。purge
は--purge remove
(と同じ)と同じことを意味しremove --purge
ます。purge
2回言うのは間違っています。2番目purge
は、パッケージの名前としてpurge
d と解釈されますが、これはおそらくあなたが意図したものではありません。これらのコマンドが何をするのか、またそれらがどのように異なるのかを理解するには、2つの概念を理解することが役立ちます(おそらく不可欠です)。
インストールされたパッケージは、手動または自動でインストールされます。
インストールするパッケージを指定してインストールすると、手動でインストールされます。
ただし、他のパッケージもインストールされる場合があります。ほとんどのパッケージには依存関係があります。パッケージが意図したとおりに機能するためには、他のパッケージをインストールする必要があります。パッケージをインストールすると、その依存関係(つまり、依存する他のパッケージ)がインストールされます(以前にインストールされたものを除く)。
パッケージがインストールされるように指定されていないが、代わりにインストールするように指定したパッケージの依存関係としてインストールされる場合、パッケージは自動的にインストールされます。
2つのパッケージがインストールされていて、そのうちの1つが別のパッケージの依存関係である場合、依存関係が自動的にインストールされるわけではないことに注意してください。依存関係が手動でインストールされた可能性もあります(つまり、依存関係に依存するパッケージの前または同時にインストールされたなど、ユーザーが指定しました)。
最後に:
apt-mark
が実際にインストールされた方法や状況に関係なく、パッケージを手動または自動で(コマンドを使用して)インストール済みとしてマークできます。通常、自動的にインストールされたパッケージごとに、それに依存する(および自動的にインストールされる原因となった)手動でインストールされたパッケージが少なくとも1つあります。ただし、自動インストールパッケージに依存する手動インストールパッケージをすべて削除すると、自動インストールパッケージは不要になりますが、インストールされたままになります。
apt-get autoremove
手動でインストールされたパッケージがなくなった、自動的にインストールされたパッケージを削除します。
パッケージは、そのバージョンのパッケージがインストールされているすべてのシステムで同じであり、そのままであることが意図されているファイルを提供します。このようなファイルは、インストールされたプログラムの実行可能ファイル、リソース、ドキュメント、およびその他の「資産」を提供します。通常、これらはパッケージが提供する「ファイル」と呼ばれます。
しかし、パッケージは他のファイルも提供します。これらのファイルは(おそらく)変更することを目的としています。これらは、グローバル(またはシステム全体)構成ファイルと呼ばれます。ほとんどの場合、これらは/etc
ディレクトリにインストールされ、インストールされたプログラムの動作を変更するために自動および手動で変更できます。たとえばsudo
、構成ファイル/etc/sudoers
、およびその他の構成ファイル用のディレクトリがあります/etc/sudoers.d
。そのファイル、およびそのディレクトリに追加されたファイルは、誰がsudo
どのような方法で使用できるかを指定します。
通常、パッケージをアンインストールしてからインストールし直すと、パッケージの動作が変わらないことが望まれます(パッケージファイルが破損していて、もちろん再インストールした場合を除く)。したがって、通常、パッケージをアンインストールすると、パッケージファイルは削除されますが、システム全体の構成ファイルは変更されません。
システム全体の構成ファイルも削除することになっていることを指定せずにパッケージをアンインストールすると、それはパッケージの「削除」と呼ばれます。
パッケージをアンインストールするときにパッケージのシステム全体の構成ファイルも削除する場合は、パッケージの「パージ」と呼ばれます。
apt-get remove
パッケージを削除します。つまり、パッケージはアンインストールされますが、システム全体の構成ファイルは残ります。
apt-get purge
パッケージをパージします。つまり、パッケージをアンインストールし、システム全体の構成ファイルも必ず削除します。
パッケージを削除する別の方法は、--purge
フラグを使用することです。それはapt-get
何をすべきかを教えてくれません。代わりに、remove
指示するような用語(または「コマンド」)を変更します。この--purge
フラグにより、パッケージのアンインストールには、アンインストールされるパッケージのシステム全体の構成ファイルの削除が伴います。つまり、--purge
フラグは削除をパージに変換します。
コマンドがある--purge
のに、なぜフラグがあるのpurge
ですか?結局、sudo apt-get --purge remove packagename
はと同等ではありませんsudo apt-get purge packagename
。それらは同等です。どこに--purge
あなたがコマンドの動作変更したいときに便利ですに来て、他のよりをremove
。
たとえば、不要になった自動的にインストールされたパッケージをアンインストールしたい場合(それらに依存する手動でインストールされたパッケージがなくなったため)、これらの自動インストールされたパッケージを削除するだけでなく、削除したい場合もありますシステム全体の構成ファイル。次に、実行することができます:
sudo apt-get --purge autoremove
のもう1つの使用を考えてみましょう--purge
。と呼ばれるフラグがあり、--reinstall
インストールを再インストールに変換します。これは、通常、すでにインストールされているパッケージをインストールしようとすると、何も起こらないか、(パッケージが自動的にインストールされたとマークされている場合)パッケージが手動でインストールされたとマークされます。しかし、と--reinstall
フラグ、すでに原因それがためにインストールされているパッケージのインストール削除してから戻ってインストールを:
sudo apt-get --reinstall install packagename
ただし、再インストールするパッケージのシステム全体の構成ファイルを削除するとします。これはやや一般的です。パッケージが機能せず、理由がわからない場合は、パッケージを再インストールして、構成ファイルを削除して、構成がデフォルトにリセットされるようにしてください。これを実現するには、次を実行できます。
sudo apt-get --purge --reinstall install packagename
--reinstall
再インストールに変わるのインストールが(すなわち、除去は、インストールに続く)、および--purge
パージに再インストールの除去部をオンにします。
これで、apt-get
コマンド例のそれぞれが何をするかが明確になります。
sudo apt-get autoremove --purge packagenames
これにより、それらに依存するパッケージが手動でインストールされなくなった、自動的にインストールされたパッケージがパージされます。つまり、それらのパッケージをアンインストールし(パッケージファイルを削除する必要があります)、システム全体の構成ファイルも削除します。
ここでpackagenames
は、何もしません。特に、名前がリストされているパッケージのみを削除する場合、意図したとおりに動作しません。
sudo apt-get remove --purge packagenames
これはパージしpackagenames
ます。packagenames
空白で区切られたパッケージ名のリストであると仮定すると、それらはすべて削除されます。つまり、それらをアンインストールし(パッケージファイルを削除する必要があります)、システム全体の構成ファイルも削除します。
にリストされているパッケージのいずれかがpackagenames
インストールされていない場合、リストにそのパッケージが存在しても効果はありません(インストールされていないことが通知されることを除く)。実際のパッケージの名前ではないパッケージ名をリストすると、コマンドはエラーで失敗します。unable to locate packagename
sudo apt-get purge purge packagenmaes
purge
そのコマンドでの出現の1つを削除した場合、前のものと同等になります。現状では、と呼ばれるパッケージpurge
をパージし、にリストされているパッケージもパージしようとしますpackagenames
。以来purge
任意のパッケージの名前ではありません、それはエラーメッセージで失敗します。
sudo apt-get remove packagenames
これにより、にリストされpackagenames
ているパッケージが削除され、パッケージファイルが削除されます。これは、システム全体の構成ファイルを削除しません(これは単なる削除であり、パージではないためです)。
sudo apt-get autoremove
これにより、それらに依存するパッケージが手動でインストールされなくなった、自動的にインストールされたパッケージがアンインストールされます。これには、パッケージファイルの削除が伴いますが、システム全体の構成ファイルの削除は含まれません(つまり、削除ではありますが、削除ではありません)。
使用方法の詳細についてapt-get
は、マニュアルページをお勧めします。より一般的な情報については、このガイドを参照してください。