apt remove、purge、autoremoveコマンドの違い

aptでLinuxのパッケージを削除するときに apt-get remove [package_name]apt-get purge [package_name]コマンドがあります。

すべてのパッケージを削除するコマンドが若干異なります。

コマンドの使用方法との違いについて説明します。

apt-get remove コマンド

removeコマンドは、パッケージを削除しますが、環境設定は削除されません。

例えば、OpenJDKパッケージを消去するには、次のコマンドを使用します。

$ sudo apt-get remove openjdk*

または apt removeに削除することもできます。

$ sudo apt remove openjdk*

次のようにコマンドの説明を見ることができます。

$ man apt-get remove
...
remove
    remove is identical to install except that packages are removed instead of installed. Note that removing a package leaves its configuration files on the system. If a plus sign is
    appended to the package name (with no intervening space), the identified package will be installed instead of removed.

apt-get purge コマンド

purgeコマンドは、パッケージとそのパッケージの環境設定をすべて削除します。 removeコマンドとほぼ同じだが、環境設定も削除するという違いがあります。

例えば、OpenJDKパッケージを消去するには、次のコマンドを使用します。

$ sudo apt-get purge openjdk*

または apt purgeに削除することもできます。

$ sudo apt purge openjdk*

次のようにコマンドの説明を見ることができます。

$ man apt-get remove
...
purge
    purge is identical to remove except that packages are removed and purged (any configuration files are deleted too).

apt-get autoremove コマンド

autoremoveコマンドは次のように使用し、以前に他のパッケージの依存関係のために設置されたが、今は使用されていないパッケージを削除します。

$ sudo apt-get autoremove

次のようにコマンドの説明を見ることができます。

$ man apt-get remove
...
autoremove (and the auto-remove alias since 1.1)
    autoremove is used to remove packages that were automatically installed to satisfy dependencies for other packages and are now no longer needed.

removeまたはpurgeコマンドで他のパッケージを削除するときに --auto-removeオプションを与えることができます。パッケージを削除しながら、不要な依存性のパッケージも一緒に削除されます。

$ sudo apt-get remove --auto-remove openjdk*
$ sudo apt-get purge --auto-remove openjdk*
codechachaCopyright ©2019 codechacha