Dlaczego programy nie odinstalowują całkowicie (usuwają wszystkie swoje pliki) po ich usunięciu?

12

W Ubuntu lub dowolnym Linuksie, kiedy decyduję się usunąć program, a następnie zainstalować go ponownie, zauważam, że nie usunął niczego, co wcześniej zrobiłem, przez co jest to dla mnie trochę bezcelowe, ponieważ lubię świeżo instalować rzeczy . Ilekroć decyduję się na ponowną instalację, jest tak jak przed usunięciem programu. Dlaczego to?

Jestem przyzwyczajony do odinstalowywania czegoś podobnego do Windowsa lub Androida, ponieważ całkowicie usuwa wszystko, a jedynym prawdziwym sposobem na odzyskanie tych danych jest albo zapisanie go gdzieś, albo jeśli dają mi możliwość zalogowania się, aby go odzyskać, to istnieje sposób, aby to zrobić również w systemie Linux?

Czasami usuwam go z centrum oprogramowania Ubuntu i używam sudo apt-get --purge remove [application].

Używam Ubuntu 18.10, nie mam nic do odinstalowania, jestem ciekawy.

SonicStarMan
źródło
1
Użyj purgezamiast remove.
Pilot6
1
Android ma możliwość synchronizacji danych z kontem Google. Czy to rozumiesz przez „zaloguj się, aby go odzyskać”? Nie widziałem tej opcji w systemie Windows (jeszcze).
Tu-Reinstate Monica-dor duh
9
Czy naprawdę wierzysz, że Windows usuwa wszystko. Moje doświadczenie jest wręcz przeciwne. A bałagan pozostawiony przez odinstalowane aplikacje w rejestrze systemu Windows jest po prostu okropny.
Ister
2
Większość (dobrych) aplikacji Windows oferuje opcję usunięcia daty użytkownika lub zachowania jej, ale spora część z nich nie dotknie twoich osobistych rzeczy.
T. Sar
@ t-sar Czy możesz przytoczyć przykład tego? Dosłownie nigdy nie widziałem oferty aplikacji Windows do niszczenia danych użytkownika.
Tu-Reinstate Monica-dor duh

Odpowiedzi:

26

To nie do końca prawda. Żadna operacja pakietowa nie powinna w żadnym wypadku usuwać danych użytkownika.

Przyczyna tego jest prosta: aplikacja nie jest właścicielem danych. Ty robisz.

Po pierwsze, na marginesie, poza ekranem logowania Ubuntu, jeśli aplikacja prosi o zalogowanie się , prawie na pewno nie ma danych na twoim komputerze . Proces logowania najprawdopodobniej jest powiązany z mechanizmem uwierzytelniania online, który zapewnia dostęp do danych przechowywanych gdzie indziej . Android i iOS mają (ograniczoną) możliwość synchronizowania niewielkiej ilości danych użytkownika i danych konfiguracyjnych dla aplikacji z serwerami „w chmurze”, ale to niekoniecznie znika po odinstalowaniu aplikacji.

Wszystkie systemy operacyjne (w tym Windows * i Android) zależą od skryptów usuwania . Zakładają one, że chcesz, aby oprogramowanie zniknęło, ale zachowaj konfigurację, aby móc je później zainstalować ponownie. --purgeOpcja apttylko usuwa pliki konfiguracyjne .

Jeśli dokonujesz modyfikacji poza własnymi danymi (/ home), zakładamy, że wiesz, co robisz, więc system nadal zachowuje się zgodnie z konfiguracją. Samemu łatwo jest rm -Rkonfigurować pliki konfiguracyjne, nie jest łatwo odzyskać swoją spersonalizowaną wersję rzeczy z powrotem tak, jak je skonfigurowałeś. Więc te skrypty mają tendencję do bycia ostrożnym.

Skrypty te przyjmują różne założenia dotyczące tego, co zostało zainstalowane i są często pisane przez ludzi, którzy mogą popełniać błędy. Czasami oprogramowanie robi coś specjalnego, szczególnie gdy oprogramowanie ma zależności .

My (deweloperzy Ubuntu) zrobić zrobić testy na systemach testowych. Instalujemy oprogramowanie do czystej instalacji Ubuntu, a następnie uruchomić apt removei apt --purge removei sprawdzić, czy system powrócił do oczekiwanego (zainstalowany fabrycznie) państwa.

Jeśli widzisz sytuację, w której pakiet jest zainstalowany, konfiguracja nie jest modyfikowana, a następnie pakiet jest usuwany, ale pliki pozostają, a następnie zgłoś błąd dotyczący tego pakietu.

Alternatywą jest użycie snap, które mieści aplikację całkowicie w jej własnym środowisku.

* (w rzeczywistości jest to jeden z najlepszych sposobów instalowania złośliwego oprogramowania przez aplikacje Windows poprzez „nakładanie” złośliwego oprogramowania na aplikacje, które zdecydujesz się zainstalować, a nie usuwanie ich podczas odinstalowywania).

tu-Reinstate Monica-dor duh
źródło
2
Myślę, że zadane pytanie brzmi: dlaczego odinstalowanie nie usuwa danych użytkownika utworzonych za pomocą aplikacji („nie usuną niczego, co wcześniej stworzyłem”), a ta odpowiedź po prostu podaje je jako aksjomat w pierwszej parze zdań zamiast wyjaśnienie lub uzasadnienie.
ShreevatsaR
2
„Łatwo jest samemu uruchomić pliki konfiguracyjne” Czy to? To zakłada, że ​​wiesz, gdzie oni wszyscy są. Czy nigdzie nie mogą być? Zasadniczo zakładam, że wszystkie operacje instalacji są trwałe. Nie widzę sensu nawet oferowania opcji usuwania menedżerom pakietów. Zawsze musisz zacząć od zera, jeśli chcesz usunąć oprogramowanie. Czy jestem tu zbyt fatalistą?
Nacht - Przywróć Monikę
1
Czy nie mogą być nigdzie? ” Technicznie tak. W rzeczywistości prawdopodobnie 95% plików będzie znajdować się w jednej z niewielu tradycyjnych lokalizacji. Bardzo niewiele aplikacji zapisuje pliki w całkowicie nielogicznych, nietradycyjnych lokalizacjach. Zwykle wystarczy sprawdzić kilka dobrze znanych katalogów. Często możesz także wyszukać informacje o oprogramowaniu, aby dowiedzieć się, które katalogi mają swoje pliki. Możesz nawet uruchomić maszynę wirtualną, zainstalować oprogramowanie i zobaczyć, gdzie zapisuje pliki, jeśli chcesz. Podsumowując, brzmi to tak, jakby o wiele trudniej było znaleźć coś do usunięcia niż jest.
VLAZ
2
„Czy nie mogą być nigdzie?” Jeśli nic nie zmieniłeś w plikach konfiguracyjnych, zostaną one usunięte, jeśli używasz --purge. Jeśli zrobił coś zmienić w nich, to oczywiście wiem, gdzie są.
Technical_difficulty
3
„I tylko jeśli nie zostały zmodyfikowane przez użytkownika ” - czy jesteś pewien? Przynajmniej w Debianie (a zatem we wszystkich pakietach, które Ubuntu pobiera bez zmian), czyszczenie pakietu usuwa całą jego konfigurację (systemową), niezależnie od tego, czy administrator systemu ją zmodyfikował (zobacz rozdział dotyczący zachowania konfiguracji ) . Nie zastępuje to zasady, że wszystko /homejest niedostępne, więc konfiguracja specyficzna dla użytkownika zostaje zachowana.
Stephen Kitt
13

sudo apt remove lub odinstalowanie aplikacji normalnie z Centrum oprogramowania po prostu odinstaluje zwykłe pliki pakietu i pozostawi konfigurację, tak że późniejsza ponowna instalacja pakietu zazwyczaj przywróci poprzedni stan aplikacji.

sudo apt purgelub sudo apt remove --purgezamiast tego odinstaluje pakiet i dodatkowo usunie resztkowe pliki konfiguracji całego systemu. Można ich również użyć do wyczyszczenia resztkowej konfiguracji wcześniej usuniętego pakietu.

Menedżer pakietów nigdy nie usunie danych użytkownika ani plików konfiguracyjnych użytkownika, które są tworzone podczas działania aplikacji. Pliki te nie są śledzone, a użytkownik jest odpowiedzialny za ich usunięcie z katalogu domowego, jeśli nie chce ich zachować. (Teoretycznie pakiet może zawierać skrypt po usunięciu, który sprawdza typowe lokalizacje danych użytkownika w poszukiwaniu plików, które mógł utworzyć, ale zwykle tak nie jest)

Bajt Dowódca
źródło
5
Pakiet, którego skrypt usuwania usuwa rzeczy z domowych katalogów użytkowników, a nawet sprawdza, jest złośliwym oprogramowaniem i nie powinien być akceptowany w repozytoriach repozytoriów.
R .. GitHub ZATRZYMAJ LÓD
0

W systemie Windows w rejestrze zawsze znajduje się ślad programu inwazyjnego, który należy usunąć ręcznie. Wszystko, co jest związane z AV, mocno zapełnia architekturę Win… Ponadto system Windows wymaga aplikacji innej firmy, aby całkowicie usunąć program. Wśród nich są Ccleaner i Revo.

W Ubuntu apt purge usuwa prawie wszystko, jeśli nie wszystkie. Ręczne wyszukiwanie w Menedżerze pakietów Synaptic pokazuje cały proces usuwania. Można to sprawdzić dwukrotnie, uruchamiając apt purge lub odwrotnie, przeszukując go w Synaptic.

Musisz być ostrożny i precyzyjny, korzystając z tej aplikacji, jest to gorące miejsce.

Mikemekanik
źródło
„W systemie Windows w rejestrze zawsze znajduje się ślad programu inwazyjnego, który należy usunąć ręcznie”. Cóż, nie ZAWSZE! Ale to jest problem.
Laurence Payne