Warum deinstallieren Programme nicht vollständig (entfernen Sie alle ihre Dateien), wenn ich sie entferne?

12

Wenn ich unter Ubuntu oder einem anderen Linux ein Programm entferne und später erneut installiere, stelle ich fest, dass es nichts entfernt, was ich zuvor gemacht habe, was es für mich ein wenig sinnlos macht, da ich gerne häufig neue Programme installiere . Wann immer ich mich entscheide, es neu zu installieren, ist es genau so, wie es war, bevor ich das Programm entfernt habe. Warum ist das?

Ich bin es gewohnt, etwas zu deinstallieren, das Windows oder Android ähnelt, indem es alles vollständig entfernt. Die einzige Möglichkeit, diese Daten wiederherzustellen, besteht darin, sie irgendwo zu speichern oder mich zum Wiederherstellen anzumelden Gibt es eine Möglichkeit, dies auch unter Linux zu tun?

Manchmal entferne ich es aus dem Ubuntu Software Center und benutze es sudo apt-get --purge remove [application].

Ich benutze Ubuntu 18.10, ich muss gerade nichts deinstallieren. Ich bin nur neugierig.

SonicStarMan
quelle
1
Verwenden Sie purgeanstelle von remove.
Pilot6
1
Android kann Daten mit einem Google-Konto synchronisieren. Ist es das, was Sie mit "Anmelden, um es wiederherzustellen" meinen? Ich habe diese Option (noch) nicht unter Windows gesehen.
Wiedereinsetzung von Monica-dor duh
9
Glauben Sie wirklich, dass Windows alles entfernt? Meine Erfahrung ist ganz im Gegenteil. Und die Unordnung, die von deinstallierten Anwendungen in der Windows-Registrierung hinterlassen wird, ist einfach schrecklich.
Ister
2
Die meisten (guten) Windows-Anwendungen bieten Ihnen die Möglichkeit, Ihr Benutzerdatum zu löschen oder beizubehalten, aber eine ganze Reihe davon wird Ihre persönlichen Daten nicht berühren.
T. Sar - Reinstate Monica
@ t-sar Kannst du ein Beispiel dafür anführen? Ich habe buchstäblich noch nie ein Windows-Anwendungsangebot zur Zerstörung von Benutzerdaten gesehen.
Wiedereinsetzung von Monica-dor duh

Antworten:

26

Das stimmt nicht ganz. Kein Paketvorgang sollte unter keinen Umständen Benutzerdaten entfernen.

Der Grund dafür ist einfach: Die Anwendung besitzt die Daten nicht. Sie machen.

Abgesehen vom Ubuntu-Anmeldebildschirm befinden sich Ihre Daten mit ziemlicher Sicherheit nicht auf Ihrem Computer , wenn Sie von einer Anwendung aufgefordert werden, sich anzumelden . Der Anmeldevorgang hängt höchstwahrscheinlich mit einem Online-Authentifizierungsmechanismus zusammen, der den Zugriff auf Ihre an anderer Stelle gespeicherten Daten ermöglicht . Android und iOS haben eine (eingeschränkte) Möglichkeit, kleine Mengen von Benutzer- und Konfigurationsdaten für Anwendungen mit "Cloud" -Servern zu synchronisieren. Dies muss jedoch auch nach der Deinstallation einer Anwendung nicht verschwinden.

Alle Betriebssysteme (einschließlich Windows * und Android) sind bei der Entfernung abhängige Skripten . Diese setzen voraus, dass die Software nicht mehr angezeigt wird, die Konfiguration jedoch beibehalten wird, damit Sie sie später erneut installieren können. Die --purgeOption, aptnur Konfigurationsdateien zu entfernen .

Wenn Sie Änderungen außerhalb Ihrer eigenen Daten (/ home) vornehmen, gehen wir davon aus, dass Sie wissen, was Sie tun, damit sich Ihr System weiterhin entsprechend Ihrer Konfiguration verhält . Es ist einfach, rm -Rdie Konfigurationsdateien selbst zu erstellen. Es ist nicht so einfach, Ihre spezifische angepasste Version von Dingen so wiederherzustellen, wie Sie sie eingerichtet haben. Daher neigen diese Skripte dazu, auf Nummer sicher zu gehen.

Diese Skripte basieren auf verschiedenen Annahmen darüber, was installiert wurde, und werden häufig von Menschen geschrieben, die Fehler machen können. Manchmal macht die Software etwas Besonderes, besonders wenn die Software Abhängigkeiten hat .

Wir (Ubuntu - Entwickler) tun tun Tests auf Testsystemen. Wir installieren die Software in eine saubere Installation von Ubuntu, und wir dann laufen apt removeund apt --purge removeund stellen Sie sicher , dass das System auf den erwarteten zurück (vorinstalliert) Zustand.

Wenn Sie eine Situation sehen, in der ein Paket installiert ist, keine Änderungen an der Konfiguration vorgenommen werden und das Paket dann entfernt wird, die Dateien jedoch verbleiben, reichen Sie bitte einen Fehler gegen dieses Paket ein.

Eine Alternative ist die Verwendung snap, bei der sich die Anwendung vollständig in ihrer eigenen Umgebung befindet.

* (Tatsächlich ist dies eine der wichtigsten Möglichkeiten, wie Windows-Anwendungen Malware installieren, indem Malware auf Anwendungen "gepackt" wird, die Sie installieren möchten, und diese dann beim Deinstallieren nicht entfernt werden.)

tu-Reinstate Monica-dor duh
quelle
2
Ich denke, die gestellte Frage ist, warum bei einer Deinstallation keine Benutzerdaten entfernt werden, die mit der Anwendung erstellt wurden ("habe nichts entfernt, was ich zuvor gemacht habe"), und in dieser Antwort wird dies einfach als Axiom im ersten Satzpaar angegeben, anstatt es erklären oder rechtfertigen.
ShreevatsaR
2
"Es ist einfach, die Konfigurationsdateien selbst zu rm-R zu machen." Das setzt voraus, dass Sie wissen, wo sie alle sind. Könnten sie nicht irgendwo sein? Grundsätzlich gehe ich davon aus, dass alle Installationsvorgänge permanent sind. Ich sehe keinen Sinn darin, eine Option zum Entfernen für Paketmanager bereitzustellen. Sie müssen immer von vorne anfangen, wenn Sie Software nicht mehr benötigen. Bin ich hier zu fatalistisch?
Nacht - Reinstate Monica
1
" Könnten sie nicht irgendwo sein? " Technisch ja. In Wirklichkeit werden sich wahrscheinlich 95% der Dateien an einem der wenigen traditionellen Speicherorte befinden. Sehr wenige Anwendungen schreiben Dateien an völlig unlogische, nicht traditionelle Speicherorte. Normalerweise müssen Sie nur einige bekannte Verzeichnisse überprüfen. Oft können Sie auch Informationen über die Software nachschlagen, um zu erfahren, in welchen Verzeichnissen die Dateien gespeichert sind. Sie können sogar eine VM starten, die Software installieren und sehen, wo Dateien geschrieben werden, wenn Sie dies wünschen. Alles in allem klingt es so, als ob es viel schwieriger ist zu finden, was gelöscht werden soll, als es ist.
VLAZ
2
"Könnten sie nicht irgendwo sein?" Wenn Sie nichts an den Konfigurationsdateien geändert haben, werden diese bei Verwendung entfernt --purge. Wenn Sie taten in ihnen etwas ändern, wissen Sie natürlich , wo sie sind.
technical_difficulty
3
"Und nur, wenn sie nicht vom Benutzer geändert wurden " - sind Sie sicher? Zumindest in Debian (und daher in allen Paketen, die Ubuntu unverändert einpackt) löscht das Löschen eines Pakets seine gesamte (systemweite) Konfiguration, unabhängig davon, ob der Systemadministrator sie geändert hat oder nicht (siehe Richtlinienabschnitt zum Konfigurationsverhalten ). . Dies setzt nicht die Regel außer Kraft, dass alles, was sich in diesem Bereich /homebefindet, gesperrt ist, sodass die benutzerspezifische Konfiguration erhalten bleibt.
Stephen Kitt
13

sudo apt remove Bei einer normalen Deinstallation einer Anwendung über das Software Center werden nur die normalen Paketdateien deinstalliert und die Konfiguration bleibt erhalten, sodass bei einer späteren Neuinstallation des Pakets in der Regel der vorherige Status der Anwendung wiederhergestellt wird.

sudo apt purge oder sudo apt remove --purge deinstalliert stattdessen ein Paket und entfernt anschließend restliche systemweite Konfigurationsdateien. Sie können diese auch verwenden, um die Restkonfiguration eines zuvor nur entfernten Pakets zu löschen.

Der Paketmanager löscht jedoch niemals Benutzerdaten oder Benutzerkonfigurationsdateien, die während der Laufzeit der Anwendung erstellt werden. Diese Dateien werden nicht nachverfolgt und der Benutzer ist selbst dafür verantwortlich, sie aus seinem Ausgangsverzeichnis zu entfernen, wenn er sie nicht behalten möchte. (Theoretisch könnte ein Paket ein Nachentfernungsskript enthalten, das allgemeine Speicherorte für Benutzerdaten auf Dateien überprüft, die möglicherweise erstellt wurden. Dies sollte jedoch normalerweise nicht der Fall sein.)

Byte Commander
quelle
5
Ein Paket, dessen Entfernungsskript Dinge aus den Home-Verzeichnissen der Benutzer löscht oder diese sogar untersucht, ist Malware und sollte nicht in die Repositorys von reparablen Distributionen aufgenommen werden.
R .. GitHub STOP HELPING ICE
0

In Windows haben Sie immer eine Spur des invasiven Programms in der Registrierung, das manuell entfernt werden muss. Alles, was mit AV zu tun hat, bevölkert die Win-Architektur stark. Außerdem benötigt Windows eine Drittanbieter-App, um ein Programm vollständig zu entfernen. Ccleaner und Revo gehören dazu.

In Ubuntu entfernt apt purge fast alles, wenn nicht sogar alles. Eine manuelle Suche im Synaptic Package Manager zeigt den gesamten Löschvorgang an. Es kann doppelt überprüft werden, indem Sie apt purge ausführen oder umgekehrt, indem Sie es in Synaptic suchen.

Sie müssen mit dieser App umsichtig und präzise umgehen, sie ist ein heißer Ort.

Mikemecanic
quelle
"In Windows haben Sie immer eine Spur des invasiven Programms in der Registrierung, das manuell entfernt werden muss." Na ja, nicht IMMER! Aber es ist ein Problem.
Laurence Payne