Chi come me, spesso installa e rimuove programmi di ogni tipo (solo per testare la velocità di scaricamento di un nuovo peer client o qualche giochetto FSP) incapperà di certo nell'amara constatazione di aver bruciato quasi tutto lo spazio disponibile nella partizione riservata alla nostra distribuzione preferita. Apt non è la soluzione finale a questo problema ma aiuta di certo a tenere tutto il sistema il più snello possibile e ci da la possibilità di disfarci di vecchie librerie e pacchetti obsoleti. Con questo programma e le sue varie interfacce grafiche (Synaptic, Adept, etc.) è possibile installare e rimuovere software e aggiornare un intera distribuzione.
In questa guida utilizzeremo la forza di APT assieme a quella di altri geniali programmi; infine illustrerò delle pipe ideali per la pulizia dei file di configurazione.
Illustriamo brevemente le principali mansioni che svolge apt-get da riga di comando:
sudo apt-get update | Risincronizza la lista dei pacchetti con i server della distribuzione. |
sudo apt-get install nomepacchetto | Ci permette di installare uno specifico pacchetto; il programma automaticamente trascinerà nell'installazione tutte le dipendenze necessarie. |
sudo apt-get upgrade | Installa le versioni più aggiornate di tutti i pacchetti presenti nel sistema. |
sudo apt-get dist-upgrade | Dipende dalla distribuzione. In generale funziona come "apt-get upgrade" elettivamente per i pacchetti più importanti. |
Vediamo inoltre nello specifico i principali comandi per la rimozione di pacchetti e la pulizia della cache:
sudo apt-get remove nomepacchetto | Rimuove uno specifico pacchetto |
sudo apt-get remove --purge nomepacchetto | Rimuove il pacchetto e il suo file di configurazione (cartella /etc ) |
sudo apt-get autoremove | Rimuove tutti i pacchetti che erano stati installati in precedenza e che ora non sono più necessari. Il comando è di solito suggerito dal sistema stesso. |
sudo apt-get autoclean | rimuove tutti i pacchetti contenuti in /var/cache/apt/archives e in /var/cache/apt/archives/partial (eccezione fatta per i file di lock) |
sudo apt-get clean | rimuove tutti i pacchetti che non possono più essere scaricati, perché ormai rimossi dai repository. |
Gli ultimi 5 comandi danno una bella sfoltita a tutta l'installazione ma si può fare un piccolo passo avanti e unire le capacità di apt-get con quelle di deborphan.
Deborphan è un piccolo programma presente nei repository sia di LinuxMint che di Ubuntu. Lanciato da riga di comando mostra un elenco di librerie 'orfane', cioè non più nominate da nessun altro pacchetto e quindi non necessarie. Mentre se passiamo il risultato del comando ad apt-get (utilizzando i backtick che reindirizzano il risultato di un comando in un altro), quest'ultimo rintraccia il pacchetto e lo elimina.
L'operazione va però eseguita più volte.
sudo apt-get remove --purge `deborphan` |
|
sudo apt-get remove --purge `deborphan --libdev` | rimuove anche le librerie di sviluppo |
Oltre ai comandi sopra elencati ne suggerisco altri 3 per chi come me è ossessionato dall'ordine e dalla pulizia.
(1) Debfoster: è un programma che tiene traccia di tutti i pacchetti installati. Durante la prima esecuzione chiede all'utente - pacchetto per pacchetto - se intende mantenerlo o no. Per ognuno indica le eventuali dipendenze. In generale è utile per rendere più snello un sistema dopo un upgrade di distribuzione.
(3) Consiglio in ultimo una pipe che ci permette di eliminare tutti i file di configurazione non eliminati in precedenza, collegati ad un determinato pacchetto (utile per chi come me ricorda circa 30 secondi dopo di aggiungere l'opzione
--purge
al comando apt-get remove).La stringa è la seguente:
sudo dpkg --purge
`COLUMNS=300 dpkg -l | egrep "^rc" | cut -d' ' -f3`
La prima parte:
dpkg --purge listapacchetti
rimuove i file di configurazione di tutti i pacchetti indicati. La lista dei pacchetti è ottenuta tramite il comando (seconda parte) passato con i backtick (``) e attraverso delle pipe ( "|" che si occupano, in sintesi, di passare l'output di un comando come l'input di un altro).
seconda parte:
`COLUMNS=300 dpkg -l | egrep "^rc" | cut -d' ' -f3`
Nessun commento:
Posta un commento