プログラムを削除しても、プログラムが完全にアンインストール(すべてのファイルを削除)しないのはなぜですか?


12

Ubuntu、または任意のLinuxで、プログラムを削除してから再インストールすると、以前に作成したものが削除されなかったことに気づきます。 。再インストールすることにしたときはいつでも、プログラムを削除する前と同じです。どうしてこれなの?

私はWindowsまたはAndroidに似たものをアンインストールするのに慣れていますが、それはすべてを完全に削除し、そのデータを回復する唯一の本当の方法はどこかに保存するか、回復するためにログインするオプションを与える場合ですLinuxでもそれを行う方法はありますか?

時々Ubuntuソフトウェアセンターから削除して使用しますsudo apt-get --purge remove [application]

私はUbuntu 18.10を使用していますが、今はアンインストールするものがありません。


1
purge代わりに使用しますremove
パイロット6

1
Androidには、データをGoogleアカウントに同期する機能があります。それは「ログインして回復する」という意味ですか?私はWindowsでそのオプションを見ていません(まだ)。
tu-Reinstate Monica-dor duh

9
Windowsがすべてを削除すると本当に信じていますか。私の経験はまったく逆です。そして、Windowsレジストリのアンインストールされたアプリケーションによって残された混乱は、恐ろしいものです。
アイスター

2
ほとんどの(優れた)Windowsアプリケーションには、ユーザーの日付を削除するか保持するかを選択するオプションがありますが、それらの多くは個人的なものには影響しません。
T. Sar

@ t-sarこの例を引用できますか?文字通り、ユーザーデータを破壊するWindowsアプリケーションの提供を見たことはありません。
tu-Reinstateモニカ

回答:


26

それはまったく真実ではありません。 どのような状況でも、パッケージ操作によってユーザーデータが削除されることはありません。

この理由は簡単です。アプリケーションはデータを所有していません。 あなたがやる。

まず、Ubuntuのログイン画面以外で、アプリケーションからログインを求められた場合、データはほぼ確実にマシン上にありませ。ログインプロセスは、他の場所に保存されているデータへのアクセスを提供するオンライン認証メカニズムに関連している可能性があります。AndroidとiOSには、アプリケーションの少量のユーザーデータと構成データを「クラウド」サーバーと同期する(制限された)機能がありますが、アプリケーションをアンインストールした後でもそれが消えるわけではありません。

すべてのOS(Windows *およびAndroidを含む)は、削除スクリプトに依存しています。これらは、ソフトウェアを削除したいが、後で再インストールできるように構成を保持することを前提としています。--purgeオプションaptだけでは削除された設定ファイルを

独自のデータ(/ home)の外部で変更を行っている場合は、システムが構成に対して引き続き動作するように何をしているかを知っていると想定します。構成rm -Rファイルを自分で設定するのは簡単です。特定のカスタマイズされたバージョンを設定した状態に戻すのはそれほど簡単ではありません。 そのため、これらのスクリプトは注意が必要です。

これらのスクリプトは、インストールされたものについてさまざまな仮定を行い、ミスを犯す可能性のある人間によって頻繁に記述されます。特にソフトウェアに依存関係がある場合、ソフトウェアは特別なことを行うことがあります。

私たち(Ubuntu開発者)、テストシステムでテストを行います。Ubuntuのクリーンインストールにソフトウェアをインストールし、実行apt removeapt --purge removeて、システムが予想される(プレインストールされた)状態に戻ったことを確認します。

パッケージがインストールされている状況が確認された場合、構成は変更されず、パッケージは削除されますがファイルは残ります。そのパッケージに対してバグを報告してください

代わりにsnap、アプリケーションを独自の環境に完全に収容するを使用することもできます。

*(実際、これは、インストールすることを選択したアプリケーションにマルウェアを「ピギーバック」し、アンインストールしてもそれらを削除しないことにより、Windowsアプリケーションがマルウェアをインストールする主要な方法の1つです。)


2
質問は、アンインストールしてもアプリケーションを使用して作成されたユーザーデータが削除されない(「以前に作成したものを削除しなかった」)ためだと思います。この回答では、最初の文説明または正当化する。
シュ

2
「設定ファイルを自分でrm -Rするのは簡単です」それは、それらがすべてどこにあるかを知っていることを前提としています。彼らはどこにもいられないのでしょうか?基本的に、すべてのインストール操作は永続的であると想定しています。パッケージマネージャーに削除オプションを提供することすら意味がありません。ソフトウェアを削除する場合は、常にゼロから開始する必要があります。私はここで致命的すぎますか?
Nacht-モニカの復活

1
彼らはどこにでもいなかったでしょうか?」技術的にははい。現実には、おそらく95%のファイルが数少ない伝統的な場所の1つにあるでしょう。完全に非論理的な非伝統的な場所にファイルを書き込むアプリケーションはほとんどありません。そのため、通常はいくつかのよく知られているディレクトリを確認するだけで済みます。多くの場合、ソフトウェアに関する情報を検索して、どのディレクトリにファイルがあるかを知ることもできます。必要に応じて、VMを起動し、ソフトウェアをインストールして、ファイルの書き込み先を確認することもできます。全体として、削除するものを見つけるのがずっと難しいように聞こえます。
VLAZ

2
「彼らはどこにでもいなかった?」設定ファイルで何も変更しなかった場合は、を使用すると削除されます--purge。あなたがいる場合やったそれらの変化の何かを彼らがどこにあるか、あなたは明らかに知っています。
technical_difficulty

3
「そして、それらがユーザーによって変更されていない場合のみ」—確かですか?少なくともDebian(したがって、Ubuntuが変更せずに取り込むすべてのパッケージ)では、パッケージをパージすると、システム管理者が変更したかどうかにかかわらず、すべての(システム全体の)構成が削除されます(構成の動作に関するポリシーセクションを参照) 。これは、中にあるものが/home立ち入り禁止であるという規則を無効にするものではないため、ユーザー固有の構成は保持されます。
スティーブンキット

13

sudo apt remove 通常、ソフトウェアセンターからアプリケーションをアンインストールすると、通常のパッケージファイルがアンインストールされ、構成が残されるだけなので、後でパッケージを再インストールすると、アプリケーションの以前の状態がほとんど復元されます。

sudo apt purgeまたはsudo apt remove --purge代わりに、パッケージをアンインストールし、その後、システム全体の残りの構成ファイルをさらに削除します。これらを使用して、以前にのみ削除されたパッケージの残りの構成をパージすることもできます。

ただし、パッケージマネージャーは、アプリケーションの実行中に作成されるユーザーデータやユーザー構成ファイルを削除することはありません。これらのファイルは追跡されず、ユーザーがファイルを保持したくない場合は、ユーザーが自分のホームディレクトリからそれらを削除する責任があります。(理論的には、パッケージには、作成した可能性のあるファイルの一般的なユーザーデータの場所を確認する削除後スクリプトを含めることができますが、通常はそうではありません)


5
削除スクリプトがユーザーのホームディレクトリから物を削除したり、さらにはそれを検査したりするパッケージはマルウェアであり、どのディストリビューションのリポジトリにも受け入れられるべきではありません。
R .. GitHub停止ヘルプICE

0

Windowsでは、常に手動で削除する必要があるレジストリ内の侵襲的なプログラムのトレースがあります。AVに関連するものはすべて、Winアーキテクチャを大きく占有します。さらに、Windowsでは、プログラムを完全に削除するためにサードパーティのアプリが必要です。CcleanerとRevoもその中に含まれます。

Ubuntuでは、apt purgeはすべてではないにしても、ほとんどすべてを削除します。Synaptic Package Managerの手動検索では、削除プロセス全体が表示されます。apt purgeを実行するか、Synapticで検索することにより、逆にダブルチェックできます。

あなたはそのアプリを使用して慎重かつ正確でなければなりません、それはあるべき熱い場所です。


「Windowsでは、手動で削除する必要があるレジストリ内の侵入プログラムのトレースが常にいくつかあります。」まあ、常にではありません!しかし、それは問題です。
ローレンスペイン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.