Perché i programmi non vengono disinstallati completamente (rimuovendo tutti i loro file) quando li rimuovo?


12

In Ubuntu, o in qualsiasi Linux, quando decido di rimuovere un programma e successivamente reinstallarlo, noto che non ha rimosso nulla di ciò che avevo creato in precedenza, rendendolo quindi un po 'inutile per me, poiché mi piace installare spesso roba fresca . Ogni volta che decido di reinstallarlo è proprio come prima di rimuovere il programma. Perchè è questo?

Sono abituato a disinstallare qualcosa di simile a Windows o Android in quanto rimuove completamente tutto e l'unico modo reale per recuperare quei dati sarebbe salvarli da qualche parte, o se mi danno un'opzione per accedere per recuperarli, è c'è un modo per farlo anche su Linux?

A volte lo rimuovo dal centro software di Ubuntu e lo uso sudo apt-get --purge remove [application].

Sto usando Ubuntu 18.10, non ho nulla da disinstallare in questo momento, sono solo curioso.


1
Usa purgeinvece di remove.
Pilota 6

1
Android ha la possibilità di sincronizzare i dati con un account Google. È questo che intendi per "accedi per recuperarlo"? Non ho ancora visto quell'opzione su Windows.
tu-Reinstate Monica-dor duh,

9
Credi davvero che Windows rimuova tutto. La mia esperienza è al contrario. E il casino lasciato dalle applicazioni disinstallate nel registro di Windows è semplicemente orribile.
Ister,

2
La maggior parte delle (buone) applicazioni Windows ti offre un'opzione per cancellare la tua data utente o tenerla in giro, ma un bel po 'di loro non toccherà le tue cose personali.
T. Sar,

@ t-sar Puoi citare un esempio di questo? Non ho mai visto un'offerta di applicazioni Windows per distruggere i dati degli utenti.
tu-Reinstate Monica-dor duh,

Risposte:


26

Non è del tutto vero. Nessuna operazione di pacchetto dovrebbe rimuovere i dati dell'utente, mai, in nessun caso.

Il ragionamento è semplice: l'applicazione non possiede i dati. Tu fai.

Innanzitutto, a parte la schermata di login di Ubuntu, se un'applicazione ti chiede di accedere , i tuoi dati non sono quasi certamente sul tuo computer . Il processo di accesso è molto probabilmente correlato a un meccanismo di autenticazione online per fornire accesso ai dati memorizzati altrove . Android e iOS hanno la capacità (limitata) di sincronizzare piccole quantità di dati utente e di configurazione per applicazioni con server "cloud", ma ciò non necessariamente scompare dopo la disinstallazione di un'applicazione.

Tutti i sistemi operativi (inclusi Windows * e Android) dipendono dagli script di rimozione . Questi presumono che tu voglia che il software vada via, ma mantieni la configurazione in modo da poterlo installare nuovamente in un secondo momento. L' --purgeopzione per aptrimuovere semplicemente i file di configurazione .

Se stai apportando modifiche al di fuori dei tuoi dati (/ home), supponiamo che tu sappia cosa stai facendo in modo che il tuo sistema continui a comportarsi secondo la tua configurazione. È facile da rm -Rsoli i file di configurazione, non è così facile ripristinare la versione specifica delle cose nel modo in cui le hai impostate. Quindi questi script tendono a errare dal lato della cautela.

Questi script fanno varie ipotesi su ciò che è stato installato e sono spesso scritti da umani che possono commettere errori. A volte il software fa qualcosa di speciale, in particolare quando il software ha dipendenze .

Noi (gli sviluppatori di Ubuntu) facciamo fare test sui sistemi di test. Installiamo il software in una nuova installazione di Ubuntu, e poi corriamo apt removee apt --purge removee verificare che il sistema ha restituito allo stato previsto (pre-installato).

Se vedi una situazione in cui è installato un pacchetto, non vengono apportate modifiche alla configurazione e il pacchetto viene quindi rimosso ma i file rimangono, quindi si prega di presentare un bug per quel pacchetto.

Un'alternativa è usare snap, che ospita l'applicazione interamente nel proprio ambiente.

* (in effetti, questo è uno dei modi migliori in cui le applicazioni Windows installano malware, "trasferendo" il malware sulle applicazioni che scegli di installare e quindi non rimuovendole quando le disinstalli.)


2
Penso che la domanda posta sia il motivo per cui una disinstallazione non rimuove i dati utente creati utilizzando l'applicazione ("non ha rimosso nulla di ciò che ho fatto in precedenza"), e questa risposta indica semplicemente come un assioma nella prima coppia di frasi, anziché spiegarlo o giustificarlo.
ShreevatsaR il

2
"È facile rm -R i file di configurazione da soli" È vero? Ciò presuppone che tu sappia dove sono tutti. Non potrebbero essere da nessuna parte? Praticamente suppongo che tutte le operazioni di installazione siano permanenti. Non vedo nemmeno il punto di fornire un'opzione di rimozione per i gestori di pacchetti. Devi sempre ricominciare da capo se vuoi che il software scompaia. Sono troppo fatalista qui?
Nacht - Ripristina Monica il

1
" Non potrebbero essere da nessuna parte? " Tecnicamente sì. In realtà, probabilmente il 95% dei file si troverà in una delle poche posizioni tradizionali. Pochissime applicazioni scriveranno file in posizioni non tradizionali completamente illogiche. Quindi, di solito devi solo controllare alcune directory ben note. Spesso puoi anche cercare informazioni sul software per sapere quali directory hanno i suoi file. Puoi anche accendere una VM, installare il software e vedere dove scrive i file, se lo desideri. Tutto sommato, stai facendo sembrare che sia molto più difficile trovare cosa cancellare di quanto non sia.
VLAZ,

2
"Non potrebbero essere da nessuna parte?" Se non hai modificato nulla nei file di configurazione, verranno rimossi se lo usi --purge. Se fatto cambiare qualcosa in loro, è, ovviamente, sapere dove sono.
tecnica

3
"E solo se non sono stati modificati dall'utente " - sei sicuro? Almeno in Debian (e quindi, in tutti i pacchetti che Ubuntu inserisce senza modifiche), l'eliminazione di un pacchetto cancella tutta la sua configurazione (a livello di sistema), indipendentemente dal fatto che l'amministratore di sistema lo abbia modificato (vedere la sezione dei criteri sul comportamento della configurazione ) . Questo non sostituisce la regola secondo cui qualsiasi cosa /homeè vietata, quindi viene mantenuta la configurazione specifica dell'utente.
Stephen Kitt,

13

sudo apt remove o la disinstallazione di un'applicazione normalmente dal Software Center disinstallerà semplicemente i normali file del pacchetto e lascerà indietro la configurazione, in modo che la reinstallazione del pacchetto in seguito ripristini quasi sempre il precedente stato dell'applicazione.

sudo apt purgeo sudo apt remove --purgeinvece disinstallerà un pacchetto e successivamente rimuoverà ulteriormente i file di configurazione residui a livello di sistema. Puoi anche usarli per eliminare la configurazione residua di un pacchetto rimosso solo in precedenza.

Il gestore pacchetti non eliminerà mai i dati utente o i file di configurazione dell'utente, che vengono creati durante il runtime dell'applicazione. Quei file non vengono tracciati e l'utente è responsabile di pulirli dalla loro directory home, se non li vogliono conservare. (Teoricamente un pacchetto potrebbe contenere uno script post-rimozione che controlla i percorsi dei dati utente comuni per i file che potrebbe aver creato, ma che normalmente non dovrebbe essere il caso)


5
Un pacchetto il cui script di rimozione elimina elementi o addirittura esamina le directory home degli utenti è un malware e non dovrebbe essere accettato nei repository di distro affidabili.
R .. GitHub smette di aiutare ICE il

0

In Windows, nel registro è sempre presente una traccia del programma invasivo che deve essere rimosso manualmente. Tutto ciò che riguarda AV, popola pesantemente l'architettura Win ... Inoltre, Windows richiede un'app di terze parti per rimuovere completamente un programma. Ccleaner e Revo sono tra questi.

In Ubuntu, apt purge rimuove quasi tutto, se non tutti. Una ricerca manuale in Synaptic Package Manager mostra l'intero processo di eliminazione. Può essere ricontrollato eseguendo apt purge o inversamente, cercandolo in Synaptic.

Devi essere prudente e preciso usando quell'app, è un posto caldo dove stare.


"In Windows, hai sempre qualche traccia del programma invasivo nel registro che deve essere rimosso manualmente." Bene, NON SEMPRE! Ma è un problema.
Laurence Payne,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.