apt-get remove -y と apt-get purge -y の違いは何ですか?

apt-get remove -y と apt-get purge -y の違いは何ですか?
apt-get remove <name of program>  

apt-get purge <name of program>

そして

apt-get purge -y <name of program>

調査によると、「remove」または「purge」のどちらを実行してもまったく同じ機能が実行され、これらは互換性のあるコマンドであることが示されています。

コマンドを実行すると、apt-get purge -y <name of program>プログラムとその依存関係が削除されます。

つまり、このコマンドは、そのプログラムに厳密に関連付けられている依存関係を削除するのでしょうか、それとも、他のプログラムの動作を停止させる可能性のある共有依存関係を削除する可能性があるのでしょうか?

プログラムを削除するにはどちらを実行すればよいですか?purgeまたはpurge -y?

答え1

apt-get remove問題のパッケージを削除します

apt-get purgeはと同等でありapt-get remove --purge、ユーザーデータ/構成ファイルを削除します。

からman apt-get

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

そして

   --purge
       Use purge instead of remove for anything that would be removed. An asterisk ("*") will be displayed next to packages which are scheduled to be purged.  remove --purge is equivalent to the purge command. Configuration Item: APT::Get::Purge.

この-yフラグは、些細な質問については確認せずに続行するようにコマンドに指示します。ここでも、 からman apt-get:

   -y, --yes, --assume-yes
       Automatic yes to prompts; assume "yes" as answer to all prompts and run non-interactively. If an undesirable situation, such as changing a held package, trying to install a unauthenticated package or removing an essential package occurs then apt-get will abort. Configuration Item: APT::Get::Assume-Yes.

答え2

のマニュアルページにはapt-get次の情報が記載されています -

   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.

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

したがって、特定のパッケージのすべての設定ファイルを一緒に削除したい場合は、purgeの方が適したオプションです。ただし、設定ファイルを保持したい場合は、removeを使用する必要があります。

   -y, --yes, --assume-yes
       Automatic yes to prompts; assume "yes" as answer to all prompts and
       run non-interactively. If an undesirable situation, such as
       changing a held package, trying to install a unauthenticated
       package or removing an essential package occurs then apt-get will
       abort. Configuration Item: APT::Get::Assume-Yes.

この-yフラグは依存関係を削除するのではなく、Y/N プロンプトで「はい」と想定して、パッケージの削除に関するユーザーの確認をスキップします。

問題を引き起こしているパッケージや再度インストールする必要のないパッケージを削除する場合、最適なオプションは次のとおりです。

apt-get purge <packagename>

これは、アプリケーションの構成ファイルがエラーの原因となるような方法で変更された場合、purgeそれらのファイルが削除され、後続のインストールが実質的に新規インストールのように見えるようになるためです。

注意: このpurgeオプションは、ユーザーのホームフォルダ内に設定ファイルを保持するパッケージには適用されません。この答え詳細については、こちらをご覧ください。

関連情報