Ho cercato in rete queste informazioni e ho trovato diverse linee di comando, come queste:
sudo apt-get remove application
sudo apt-get remove application*
sudo apt-get remove --purge application
sudo apt-get remove --purge application*
sudo apt-get purge application
sudo apt-get purge application*
Quindi, qual è il modo corretto? È necessario usare quel "*"?
Dopo di che, ho anche trovato questi comandi:
sudo updatedb
sudo locate application
sudo rm -rf (file/folder name)
apt-get remove packagename
rimuoverà i binari, ma non i file di configurazione o di dati del pacchetto packagename
. Inoltre lascerà intatte le dipendenze installate con esso al momento dell'installazione.
apt-get purge packagename
o apt-get remove --purge packagename
rimuoverà circa tutto ciò che riguarda il pacchetto packagename
, ma non le dipendenze installate con esso al momento dell'installazione. Entrambi i comandi sono equivalenti.
Particolarmente utile quando si vuole 'ricominciare tutto da capo' con un'applicazione perché si è incasinata la configurazione. Tuttavia, non rimuove i file di configurazione o dati che risiedono nelle directory home degli utenti, di solito in cartelle nascoste. Non c'è un modo semplice per rimuovere anche quelli.
apt-get autoremove
rimuove i pacchetti orfani, cioè i pacchetti installati che erano installati come dipendenza, ma non lo sono più. Usatelo dopo aver rimosso un pacchetto che aveva installato dipendenze che non vi interessano più.
aptitude remove packagename
o aptitude purge packagename
(allo stesso modo)tenteranno anche di rimuovere altri pacchetti che erano richiesti da packagename
ma che non sono richiesti da nessun altro pacchetto. Nota che aptitude
ricorda le informazioni sulle dipendenze solo per i pacchetti che ha installato.
E ne esistono molti altri. Si possono usare comandi dpkg
di livello inferiore (avanzati), o strumenti GUI come Muon, Synaptic, Software Center, ecc. **Non c'è un solo modo corretto di rimuovere applicazioni o eseguire altri compiti interagendo con la gestione dei pacchetti.
L'elenco che hai trovato è solo un esempio. Assicuratevi di capire i significati e di provare ciò che vuole fare prima di accettare l'azione (è necessario premere Y
prima che esegua effettivamente le azioni come proposto).
La versione con l'asterisco nella domanda è probabilmente sbagliata; apt-get
accetta un'espressione regolare e non un pattern glob come la shell. Quindi cosa succede con
sudo apt-get remove application*
è il seguente:
La shell cerca di espandere application*
guardando i file nella directory corrente. Se (come accade normalmente) non trova nulla, restituisce il pattern glob inalterato (supponendo che bash
abbia un comportamento predefinito qui --- zsh
darà errore).
apt-get
rimuoverà i pacchetti il cui nome contiene una stringa che soddisfa l'espressione regolare application*
, cioè applicatio
seguita da un numero arbitrario di n
: applicatio
, application
, applicationn
, libapplicatio
, ecc.
Per vedere come questo può essere pericoloso, provate (senza root per doppia sicurezza) apt-get -s remove "wine*"
(-s
simulerà la cosa invece di farla) --- dirà che sta per rimuovere tutti i pacchetti che hanno "win" nel loro nome e i dipendenti, quasi l'intero sistema...
Probabilmente, il comando che si intendeva è proprio
sudo apt-get remove "^application.*"
(notare le virgolette e il punto) che rimuoverà tutti i pacchetti il cui nome inizia con applicazione
.
Questi comandi,
sudo updatedb # <-- updates the locate database (index). harmless
sudo locate application # <-- locates the file 'application'. harmless
sudo rm -rf (file/folder name) # <-- removes files/dirs recursively. dangerous.
sono completamente al di fuori dello scopo della gestione dei pacchetti. Non rimuovere file appartenenti a pacchetti senza usare il gestore dei pacchetti! Si farà confusione ed è il modo sbagliato di fare le cose.
Se non sapete a quale pacchetto appartiene un file, provate questo:
dpkg -S /path/to/file
Puoi tranquillamente usare sudo apt-get remove --purge application
o sudo apt-get remove applications
il 99% delle volte. Quando usi il flag purge
, rimuove semplicemente anche tutti i file di configurazione. Il che può essere o meno quello che vuoi, a seconda che tu voglia reinstallare l'applicazione. Il flag application*
corrisponderà a tutte le applicazioni che iniziano con application
, che di solito sono plugin, funzionalità aggiuntive, ecc. dell'applicazione principale che state rimuovendo.
sudo apt-get remove gedit*
rimuoverà gedit
, gedit-plugins
e gedit-common
. Di solito non è necessario farlo, perché la maggior parte dei plugin/programmi associati dipendono dall'applicazione principale, e saranno automaticamente rimossi (o segnati per la rimozione) quando disinstalli l'applicazione principale.
Il tuo ultimo comando è solo per rimuovere gli avanzi di applicazioni che sono note per avere disinstallatori disordinati, e sta solo rimuovendo qualsiasi residuo dell'applicazione.
Dipende dall'applicazione che volete rimuovere. Assicuratevi sempre di controllare le sue dipendenze prima di dare il comando yes. Quando si rimuove qualcosa da linea di comando, a volte mostrerà una manciata di librerie che non sono più necessarie. Queste possono essere rimosse con apt-get autoremove.
Attenzione che usando comandi come sudo apt-get remove --purge applicationname può rimuovere alcune dipendenze che sono necessarie per altre applicazioni e, come tali, potrebbero rompere il vostro sistema.
Se volete farlo nel modo più sicuro, potete sempre rimuoverlo usando solo il software center o apt-get remove applicationname. Se le dipendenze non sono più necessarie, rilasciate apt-get autoremove più tardi.