アプリケーションを完全に削除するには、どのような方法がありますか?

このような情報を求めてネットで検索したところ、以下のようなさまざまなコマンドラインが見つかりました。

sudo apt-get remove application
sudo apt-get remove application*

sudo apt-get remove --purge application
sudo apt-get remove --purge application*

sudo apt-get purge application
sudo apt-get purge application*

では、どのような方法が正しいのでしょうか?この"*"を使う必要があるのでしょうか?

その後、こんなコマンドも見つけました。

sudo updatedb
sudo locate application
sudo rm -rf (file/folder name)
  • apt-get remove packagename

    は、パッケージ packagename のバイナリは削除しますが、設定ファイルやデータファイルは削除しません。また、インストール時に一緒にインストールされた依存関係はそのまま残されます。

  • apt-get purge packagename または apt-get remove --purge packagename のいずれかを選択してください。

は、パッケージ packagename に関する約 全て を削除しますが、インストール時に一緒にインストールされた依存関係は削除されません。両方のコマンドは同等です。

特に、設定を間違えたためにアプリケーションを最初からやり直したいときに便利です。ただし、ユーザーのホームディレクトリにある設定ファイルやデータファイルは削除されません(通常、ホームディレクトリの隠しフォルダにあります)。また、これらのファイルを削除する簡単な方法もありません。

  • apt-get autoremove

孤児になったパッケージを削除します。つまり、かつては依存関係としてインストールされていたが、今はそうではないインストール済みのパッケージを削除します。これは、もう興味のない依存関係をインストールしたパッケージを削除した後に使います。

  • aptitude remove packagename または aptitude purge packagename (同様に)

は、packagename で必要とされていたが、残りのどのパッケージからも必要とされていない他のパッケージの削除も試みます。なお、aptitude は自分がインストールしたパッケージの依存関係の情報のみを記憶します。

他にもたくさんのパッケージがあります。下位の dpkg コマンド(上級者向け)や、Muon、Synaptic、Software Center などの GUI ツールも使用できます。アプリケーションを削除したり、パッケージ管理と相互作用するその他のタスクを実行するのに、唯一の正しい方法はありません

ここに挙げたリストはあくまでも例です。意味を理解し、アクションを受け入れる前にやりたいことを試してみてください (提案されたアクションを実際に実行する前に Y を押す必要があります)。

質問にあるアスタリスクバージョンはおそらく間違っていますapt-getはシェルのようにグロブパターンではなく、正規表現を受け入れます。ですから、次のようなことが起こります。

sudo apt-get remove application*

は次のようになります。

1.シェルはカレントディレクトリ内のファイルを見て application* を展開しようとします。(通常は)何も見つからなかった場合は、グロブパターンをそのまま返します (ここでは bash がデフォルトの動作をすると仮定しています --- zsh はエラーになります)。

2.2. apt-get は、名前に正規表現 application* を満たす文字列**が含まれるパッケージを削除します。つまり、applicatio の後に任意の数の n が続くパッケージを削除します。

3.3. これがどのように危険なのかを見るために、(二重の安全のために root を外して) apt-get -s remove "wine*" (-s は実行するのではなくシミュレートする) を試してみてください --- 名前に "win" を持つすべてのパッケージと、それに依存するパッケージ、ほぼシステム全体を削除すると言うでしょう。

おそらく、意図したコマンドは実際には

 sudo apt-get remove "^application.*"

(引用符とドットに注意)で、名前が application で始まるすべてのパッケージを削除します。

これらのコマンドは


sudo updatedb                  # 
解説 (9)

sudo apt-get remove --purge applicationsudo apt-get remove applicationsを使えば、99% 安全に使用できます。purge フラグを使うと、単純にすべての設定ファイルも削除されます。これは、当該アプリケーションを再インストールしたいかどうかによって、望むものであるかどうかが決まります。application*は、application`で始まるすべてのアプリケーションにマッチします。これは通常、削除するメインのアプリケーションのプラグインや追加機能などです。

sudo apt-get remove gedit*

とすると、gedit, gedit-plugins, gedit-common を削除します。ほとんどのプラグインや関連プログラムはメインのアプリケーションに依存しており、メインのアプリケーションをアンインストールすると自動的に削除される(または削除するようにマークされる)ので、通常はこのようなことをする必要はありません。

最後のコマンドは、厄介なアンインストーラーを持っていることが知られているアプリケーションの残り物を削除するためのもので、アプリケーションの残り物を削除するだけです。

解説 (0)

削除したいアプリケーションに依存します。yesコマンドを発行する前に、必ずその依存関係を確認してください。コマンドラインで何かを削除すると、不要になった一握りのライブラリが表示されることがあります。これらは apt-get autoremove で削除できます。

sudo apt-get remove --purge applicationname のようなコマンドを使うと、他のアプリケーションが必要としている依存関係が削除されてしまい、システムが壊れる可能性があるので注意してください。

より安全な方法で削除したい場合は、ソフトウェアセンターで削除するか、apt-get remove applicationnameを実行してください。依存関係が不要になった場合は、後でapt-get autoremoveを実行してください。

解説 (1)