Pulire Debian: differenze tra le versioni

m
versioni compatibili e verificata
(→‎Localepurge: rimuoviamo le lingue che non ci interessano: aggiornamento per Jessie, nuova versione con alcuni cambiamenti)
m (versioni compatibili e verificata)
Riga 1: Riga 1:
{{Versioni compatibili}}
{{Versioni compatibili|Wheezy|Jessie|Testing_2016|Unstable_2016}}
== Introduzione ==
== Introduzione ==
Dopo qualche mese di utilizzo di una Linux box, spesso si notano dei sostanziali rallentamenti.
Dopo qualche mese di utilizzo di una Linux box, spesso si notano dei sostanziali rallentamenti.
Riga 12: Riga 12:
Checkinstall è una utilità che permette di creare dei pacchetti Debian partendo da sorgenti.
Checkinstall è una utilità che permette di creare dei pacchetti Debian partendo da sorgenti.
Attenzione, però: non sono pacchetti completi, ma semplicemente aiutano a tenere traccia dei file installati dal programma, facilitando l'aggiornamento e la rimozione dello stesso.
Attenzione, però: non sono pacchetti completi, ma semplicemente aiutano a tenere traccia dei file installati dal programma, facilitando l'aggiornamento e la rimozione dello stesso.
Iniziamo con l'installazione:
Iniziamo con l'installazione. Con [[privilegi di amministrazione]] è sufficiente:
<pre>
<pre>
# apt-get install checkinstall
# apt-get install checkinstall
Riga 93: Riga 93:
Per visualizzare una lista dei pacchetti 'orfani', è sufficiente lanciare il seguente comando:
Per visualizzare una lista dei pacchetti 'orfani', è sufficiente lanciare il seguente comando:
<pre>
<pre>
# deborphan
$ deborphan
</pre>
</pre>


Riga 110: Riga 110:
Altre parole chiave da inserire insieme all'opzione <code>--guess</code> si trovano elencate nella pagina di manuale di Deborphan.<br/>
Altre parole chiave da inserire insieme all'opzione <code>--guess</code> si trovano elencate nella pagina di manuale di Deborphan.<br/>
Infine, naturalmente:
Infine, naturalmente:
<pre># deborphan --guess-all</pre>
<pre>
ricercherà pacchetti 'orfani' in tutto il sistema.
$ deborphan --guess-all
</pre>
ricercherà pacchetti 'orfani' in tutto il sistema. Aggiungere l'opzione ''--guess-all'' potrebbe generare molti falsi positivi, pertanto si sconsiglia di utilizzarla direttamente con un comando di rimozione, senza prima accertarsi delle funzionalità di ciascun pacchetto restituito.


Se poi vi interessa sapere in che sezione si trova il pacchetto 'orfano' e la sua dimensione potete aggiungere:
Se poi vi interessa sapere in che sezione si trova il pacchetto 'orfano' e la sua dimensione potete aggiungere:
<pre># deborphan -sz --guess-all</pre>
<pre>
$ deborphan -sz --guess-all
</pre>


Un'altra opzione molto interessante è quella che consente di  elencare i file di configurazione dei pacchetti disinstallati rimasti sul sistema:
Un'altra opzione molto interessante è quella che consente di  elencare i file di configurazione dei pacchetti disinstallati rimasti sul sistema:
Riga 129: Riga 133:
Naturalmente l'output di Deborphan va vagliato con attenzione: solo voi potete sapere se i pacchetti elencati sono realmente inutili. In questo senso vi consiglio di segnarvi, prima di iniziare le "grandi pulizie", le dipendenze dei pacchetti che avete installato manualmente onde evitare di rimuoverle accidentalmente.
Naturalmente l'output di Deborphan va vagliato con attenzione: solo voi potete sapere se i pacchetti elencati sono realmente inutili. In questo senso vi consiglio di segnarvi, prima di iniziare le "grandi pulizie", le dipendenze dei pacchetti che avete installato manualmente onde evitare di rimuoverle accidentalmente.


È possibile fare in modo che apt-get legga la lista dei pacchetti generata da Deborphan:
È possibile fare in modo che [[apt-get]] legga la lista dei pacchetti generata da Deborphan:
<pre>
<pre>
# apt-get purge `deborphan`
# apt-get purge $(deborphan)
# apt-get purge `deborphan --libdev`
# apt-get purge $(deborphan --libdev)
</pre>
</pre>


Il comando ''"apt-get purge"'' ha la funzione di rimuovere il pacchetto specificato e anche tutti i suoi file di configurazione.
Il comando <code>apt-get purge</code> ha la funzione di rimuovere il pacchetto specificato e anche tutti i suoi file di configurazione.


== Cruft ==
== Cruft ==
Riga 154: Riga 158:
Eliminando i file di configurazione si libera spazio, e si mantiene più pulita la directory <code>/etc</code>.
Eliminando i file di configurazione si libera spazio, e si mantiene più pulita la directory <code>/etc</code>.


Con il seguente comando è possibile rimuovere i file di configurazione che sono stati lasciati nel sistema dai pacchetti non rimossi attraverso il comando ''"apt-get purge"'' :
Con [[dpkg]] è possibile rimuovere i file di configurazione che sono stati lasciati nel sistema dai pacchetti non rimossi attraverso il comando <code>apt-get purge</code> :


<pre>
<pre>
# dpkg --purge `dpkg -l | egrep "^rc" | cut -d' ' -f3`
# dpkg --purge $(dpkg -l | egrep "^rc" | cut -d' ' -f3)
</pre>
</pre>


Ecco una breve spiegazione dei comandi:
Ecco una breve spiegazione dei comandi:


<pre>dpkg --purge listapacchetti</pre>
<pre>
dpkg --purge listapacchetti
</pre>


rimuove i file di configurazione di tutti i pacchetti indicati. La lista dei pacchetti è ottenuta tramite il comando:
rimuove i file di configurazione di tutti i pacchetti indicati. La lista dei pacchetti è ottenuta tramite il seguente comando, racchiuso tra <code>$(...)</code> :


<pre>`dpkg -l | egrep "^rc" | cut -d' ' -f3`</pre>
<pre>
dpkg -l | egrep "^rc" | cut -d' ' -f3
</pre>


che genera la lista dei pacchetti che non sono stati rimossi completamente (cioè dei quali non sono stati rimossi i file di configurazione).
che genera la lista dei pacchetti che non sono stati rimossi completamente (cioè dei quali non sono stati rimossi i file di configurazione).
Riga 175: Riga 183:
;<code>cut -d' ' -f3</code>: Restituisce solo il nome del pacchetto: usa come delimitatore (<code>-d</code>) di campo uno spazio (<code>' '</code>) e prende solo il terzo campo (<code>-f3</code>, ''field'' in inglese).
;<code>cut -d' ' -f3</code>: Restituisce solo il nome del pacchetto: usa come delimitatore (<code>-d</code>) di campo uno spazio (<code>' '</code>) e prende solo il terzo campo (<code>-f3</code>, ''field'' in inglese).


Stesso risultato si ottiene con l'uso di <code>aptitude</code>:
Stesso risultato si ottiene con l'uso di [[aptitude]]:


<pre>
<pre>
# aptitude search ~c
$ aptitude search "~c"
</pre>
</pre>
trova i pacchetti che hanno lasciato il file di configurazione nel sistema quando sono stati rimossi.
trova i pacchetti che hanno lasciato il file di configurazione nel sistema quando sono stati rimossi.


<pre>
<pre>
# aptitude purge ~c
# aptitude purge "~c"
</pre>
</pre>
elimina tali file, previa conferma.
elimina tali file, previa conferma.


Se si vuol cancellare i file di configurazione dei pacchetti rimossi ad ogni avvio del sistema, basta eseguire con i permessi di [[root]]:
Se si vuol cancellare i file di configurazione dei pacchetti rimossi ad ogni avvio del sistema, basta eseguire con i permessi di [[root]]:
<pre># crontab -e</pre>
<pre>
# crontab -e
</pre>
e inserire le righe:
e inserire le righe:
<pre>
<pre>
PATH=/bin:/usr/bin:/sbin
PATH=/bin:/usr/bin:/sbin
@reboot if [ `dpkg -l | egrep "^rc" | wc -l` -ne 0 ]; then dpkg --purge `dpkg -l | egrep "^rc" | cut -d' ' -f3` >/dev/null 2>&1; fi  
@reboot if [ "$(dpkg -l | egrep "^rc" | wc -l)" != 0 ]; then dpkg --purge $(dpkg -l | egrep "^rc" | cut -d' ' -f3) >/dev/null 2>&1; fi  
</pre>
</pre>
bisogna aggiungere necessariamente la directory <code>/sbin</code> alla variabile PATH e questa deve precedere ogni [[cronjob]].<br/>
bisogna aggiungere necessariamente la directory <code>/sbin</code> alla variabile PATH e questa deve precedere ogni [[cronjob]].<br/>
Riga 302: Riga 312:
{{Autori
{{Autori
|Autore=[[User:MaXeR|MaXeR]]
|Autore=[[User:MaXeR|MaXeR]]
|Verificata_da=:[[Utente:marcomg|marcomg]] 11:24, 28 set 2014 (CEST)
|Estesa_da=
|Estesa_da=
:[[Utente:MadameZou|MadameZou]] 20:36, 8 feb 2010 (CET)
:[[Utente:MadameZou|MadameZou]] 20:36, 8 feb 2010 (CET)
:[[Utente:S3v|S3v]] 15:44, 9 ott 2012 (CEST) (Log)
:[[Utente:S3v|S3v]] 15:44, 9 ott 2012 (CEST) (Log)
:[[Utente:marcomg|marcomg]] 11:24, 28 set 2014 (CEST)  
:[[Utente:marcomg|marcomg]] 11:24, 28 set 2014 (CEST)  
|Verificata_da=
:[[Utente:marcomg|marcomg]]
:[[Utente:HAL 9000|HAL 9000]] 21:20, 10 apr 2016 (CEST)
|Numero_revisori=2
|Numero_revisori=2
}}
}}


[[Categoria:Apt]]
[[Categoria:Apt]][[Categoria:Ottimizzazione del sistema]]
[[Categoria:Ottimizzazione del sistema]]
3 581

contributi