1 760
contributi
m (→CheckInstall: deb da sorgenti: aggiunto Box) |
(controllata e debianizzata ;-)) |
||
Riga 1: | Riga 1: | ||
{{debianized}} | |||
==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... | ||
Magari abbiamo passato questi periodi installando e disintallando applicazioni, provando programmi e configurazioni...ed il sistema risente un po' di queste 'esperienze'... | Magari abbiamo passato questi periodi installando e disintallando applicazioni, provando programmi e configurazioni...ed il sistema risente un po' di queste 'esperienze'... | ||
In questo HowTo vedremo di analizzare una soluzione molto comoda (sicuramente molto di pi� di quella classica di formattare e ricominciare da capo) per rimettere in sesto la nostra amata Debian. | In questo HowTo vedremo di analizzare una soluzione molto comoda (sicuramente molto di pi� di quella classica di formattare e ricominciare da capo) per rimettere in sesto la nostra amata Debian. | ||
==Prevenire � meglio che curare== | ==Prevenire � meglio che curare== | ||
Riga 13: | Riga 14: | ||
==CheckInstall: deb da sorgenti== | |||
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... | ||
Riga 39: | Riga 40: | ||
'''-y, --default''' Accetta i valori di default (Modalit� non interattiva) | '''-y, --default''' Accetta i valori di default (Modalit� non interattiva) | ||
'''--pkgname=name''' Imposta il nome del pacchetto | '''--pkgname=name''' Imposta il nome del pacchetto | ||
'''--pkgversion=version''' Imposta la versione | '''--pkgversion=version''' Imposta la versione | ||
'''-A, --arch, --pkgarch=arch''' Imposta l'architettura | '''-A, --arch, --pkgarch=arch''' Imposta l'architettura | ||
'''--pkgrelease=release''' Imposta la release version | '''--pkgrelease=release''' Imposta la release version | ||
'''--pkggroup=group''' Imposta il gruppo a cui il pacchetto deve appartenere (doc, games, net...) | '''--pkggroup=group''' Imposta il gruppo a cui il pacchetto deve appartenere (doc, games, net...) | ||
'''--pakdir=directory''' Dove salvare il pacchetto | '''--pakdir=directory''' Dove salvare il pacchetto | ||
'''--maintainer=email_addr''' Il maintainer del pacchetto | '''--maintainer=email_addr''' Il maintainer del pacchetto | ||
'''--dpkgflags=flags''' Eventuali flag da passare a dpkg | '''--dpkgflags=flags''' Eventuali flag da passare a dpkg | ||
'''--bk''' Esegue un Backup dei file che verranno sovrascritti | '''--bk''' Esegue un Backup dei file che verranno sovrascritti | ||
Una volta completato il processo, il pacchetto verr� automaticamente installato. | Una volta completato il processo, il pacchetto verr� automaticamente installato. | ||
{{Box|Nota Bene|Nel file di controllo del pacchetto non vengono segnate eventuali dipendenze, sostituzioni e/o conflitti, in quanto lo scopo di checkinstall � quello di tenere traccia dei file generati, e non di creare un pacchetto Debian ufficiale... | |||
Nel file di controllo del pacchetto non vengono segnate eventuali dipendenze, sostituzioni e/o conflitti, in quanto lo scopo di checkinstall � quello di tenere traccia dei file generati, e non di creare un pacchetto Debian ufficiale... | Non ridistribuite il pacchetto cos� creato: � solo per uso personale (per motivazioni uguali a quella precedente)!}} | ||
Non ridistribuite il pacchetto cos� creato: � solo per uso personale (per motivazioni uguali a quella precedente)! | |||
Questa � la premessa per poter avere un sistema pulito, senza file 'orfani' che gironzolano per il sistema... | Questa � la premessa per poter avere un sistema pulito, senza file 'orfani' che gironzolano per il sistema... | ||
==Debfoster== | ==Debfoster== | ||
Riga 68: | Riga 77: | ||
Output d'esempio: | Output d'esempio: | ||
<pre> | |||
libxml-libxml-perl is keeping the following 3 packages installed: | libxml-libxml-perl is keeping the following 3 packages installed: | ||
libxml-libxml-common-perl libxml-namespacesupport-perl libxml-sax-perl | libxml-libxml-common-perl libxml-namespacesupport-perl libxml-sax-perl | ||
Keep libxml-libxml-perl? [Ynpsiuqx?], [H]elp: | Keep libxml-libxml-perl? [Ynpsiuqx?], [H]elp:</pre> | ||
Ora possiamo scegliere cosa fare: | Ora possiamo scegliere cosa fare: | ||
Y mantiene il pacchetti installato | |||
n Rimuove il pacchetto segnalato | '''Y''' mantiene il pacchetti installato | ||
p Rimuove il pacchetto segnalato e tutti i pacchetti da lui trattenuti | |||
s Salta la domanda | '''n''' Rimuove il pacchetto segnalato | ||
i Visualizza informazioni sul pacchetto | |||
? Uguale a i | '''p''' Rimuove il pacchetto segnalato e tutti i pacchetti da lui trattenuti | ||
u Ripropone la domanda precedente | |||
q Esce senza | '''s''' Salta la domanda | ||
x Esce e rimuove i pacchetti selezionati | |||
h Visualizza la guida ai comandi | '''i''' Visualizza informazioni sul pacchetto | ||
'''?''' Uguale a i | |||
'''u''' Ripropone la domanda precedente | |||
'''q''' Esce senza | |||
'''x''' Esce e rimuove i pacchetti selezionati | |||
'''h''' Visualizza la guida ai comandi | |||
Riga 94: | Riga 114: | ||
Deborphan | ==Deborphan== | ||
<pre> | |||
# apt-get install deborphan | # apt-get install deborphan | ||
</pre> | |||
Questo programma, genera una lista di pacchetti 'orfani'. | Questo programma, genera una lista di pacchetti 'orfani'. | ||
Riga 104: | Riga 124: | ||
Attenzione se si hanno programmi compilati da sorgente (in modo classico o con checkinstall): le dipendenze di quei pacchetti sono saranno controllate, e si potrebbe incorrere in problemi di esecuzione di questi programmi! | Attenzione se si hanno programmi compilati da sorgente (in modo classico o con checkinstall): le dipendenze di quei pacchetti sono saranno controllate, e si potrebbe incorrere in problemi di esecuzione di questi programmi! | ||
Opzione interessante � --libdev , che genera una lista delle librerie di sviluppo (quelle che finiscono con -dev) non necessarie! | Opzione interessante � '''--libdev''', che genera una lista delle librerie di sviluppo (quelle che finiscono con -dev) non necessarie! | ||
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> | |||
# deborphan | # deborphan | ||
</pre> | |||
o | o | ||
<pre> | |||
# deborphan --libdevel | # deborphan --libdevel | ||
</pre> | |||
� 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> | |||
# apt-get --purge remove `deborphan` | # apt-get --purge remove `deborphan` | ||
# apt-get --purge remove `deborphan --libdev` | # apt-get --purge remove `deborphan --libdev` | ||
</pre> | |||
L'opzione --purge ha la funzione di rimuovere anche i file di configurazione. | L'opzione --purge ha la funzione di rimuovere anche i file di configurazione. | ||
File di Configurazione | ==File di Configurazione== | ||
Eliminando i file di configurazione si libera spazio, e si mantiene pi� pulita la directory /etc | Eliminando i file di configurazione si libera spazio, e si mantiene pi� pulita la directory /etc | ||
Con il comando successivo � possibile rimuovere i file di configurazione che sono stati lasciati nel sistema da quei pacchetti non rimossi con l'opzione '--purge': | Con il comando successivo � possibile rimuovere i file di configurazione che sono stati lasciati nel sistema da quei pacchetti non rimossi con l'opzione '--purge': | ||
<pre> | |||
# dpkg --purge `COLUMNS=300 dpkg -l "*" | egrep "^rc" | cut -d\ -f3` | # dpkg --purge `COLUMNS=300 dpkg -l "*" | egrep "^rc" | cut -d\ -f3` | ||
</pre> | |||
Ecco una breve spiegazione dei comandi: | Ecco una breve spiegazione dei comandi: | ||
dpkg --purge listapacchetti | <pre>dpkg --purge listapacchetti</pre> | ||
Rimuove i file di configurazione di tutti i pacchetti indicati in | Rimuove i file di configurazione di tutti i pacchetti indicati in | ||
`COLUMNS=300 dpkg -l "*" | egrep "^rc" | cut -d\ -f3` | <pre>`COLUMNS=300 dpkg -l "*" | egrep "^rc" | cut -d\ -f3`</pre> | ||
Genera la lista dei pacchetti che non sono stati rimossi correttamente (cio� dei quali non sono stati rimossi i file di configurazione) | Genera la lista dei pacchetti che non sono stati rimossi correttamente (cio� dei quali non sono stati rimossi i file di configurazione) | ||
In dettaglio: | In dettaglio: | ||
COLUMNS=300 Modifica la larghezza delle righe, evitando cos� il troncamento dei nomi dei pacchetti | <pre>COLUMNS=300</pre> Modifica la larghezza delle righe, evitando cos� il troncamento dei nomi dei pacchetti | ||
dpkg -l "*" Elenca tutti i pacchetti disponibili | <pre>dpkg -l "*"</pre> Elenca tutti i pacchetti disponibili | ||
egrep "^rc" Visualizza solo quelle righe che iniziano con "rc" (stato che indica che il pacchetto � stato rimosso ma sono ancora presenti i file di configurazione) | egrep "^rc" Visualizza solo quelle righe che iniziano con "rc" (stato che indica che il pacchetto � stato rimosso ma sono ancora presenti i file di configurazione) | ||
cut -d\ -f3 Restituisce solo il nome del pacchetto | <pre>cut -d\ -f3</pre> Restituisce solo il nome del pacchetto | ||
Localepurge: rimuoviamo le lingue che non ci interessano! | ==Localepurge: rimuoviamo le lingue che non ci interessano!== | ||
Spesso, non sono necessarie tutte le lingue che un pacchetto installa.. | Spesso, non sono necessarie tutte le lingue che un pacchetto installa.. | ||
Di solito ne bastano due: | Di solito ne bastano due: | ||
* '''en''' (lingua generale) | |||
* '''it_IT''' (lingua dell'utilizzatore) | |||
Tra le varianti va scelta quella che viene usata nel proprio sistema (nel mio caso it_IT@euro e en_US) | Tra le varianti va scelta quella che viene usata nel proprio sistema (nel mio caso it_IT@euro e en_US) | ||
Quindi, quelle superflue, potrebbero essere tranquillamente rimosse, liberando un po' di spazio inutile! | Quindi, quelle superflue, potrebbero essere tranquillamente rimosse, liberando un po' di spazio inutile! | ||
NOTA BENE | {{Box|NOTA BENE|� sconsigliabile rimuovere l'inglese, in quanto � la lingua di default del sistema... | ||
� sconsigliabile rimuovere l'inglese, in quanto � la lingua di default del sistema... | per evitare problemi, lasciarla installata.}} | ||
per evitare problemi, lasciarla installata. | |||
Riga 161: | Riga 185: | ||
Una volta fatto questo, lanciando il comando | Una volta fatto questo, lanciando il comando | ||
# localepurge | <pre># localepurge</pre> | ||
verranno eliminati i locales non necessari!!! | verranno eliminati i locales non necessari!!! | ||
Riga 167: | Riga 191: | ||
Ma non solo! quando si installer� uno o pi� pacchetti, a questi verranno automaticamente rimosse le localizzazioni che non erano state selezionate durante la configurazione del programma. | Ma non solo! quando si installer� uno o pi� pacchetti, a questi verranno automaticamente rimosse le localizzazioni che non erano state selezionate durante la configurazione del programma. | ||
Nota | {{Box|Nota|Per chi avesse dei dubbi sull'efficacia di questa utility, ecco le statistiche sullo spazio liberato sul mio laptop (su cui ho appena installato Debian): | ||
Per chi avesse dei dubbi sull'efficacia di questa utility, ecco le statistiche sullo spazio liberato sul mio laptop (su cui ho appena installato Debian): | <pre> | ||
knio:/home/maxer# localepurge | knio:/home/maxer# localepurge | ||
localepurge: Disk space freed in /usr/share/locale: 109778K | localepurge: Disk space freed in /usr/share/locale: 109778K | ||
Riga 174: | Riga 198: | ||
Total disk space freed by localepurge: 111718K | Total disk space freed by localepurge: 111718K | ||
</pre>}} | |||
==La cache di apt-get== | |||
La cache di apt-get | |||
Quando scarichiamo un pacchetto, questo viene salvato in /var/cache/apt/archives in modo da rendere pi� veloce il download in caso di reinstallazione, oppure per permettere il salvataggio di questi su cd (in caso di connessioni lente o a consumo). | Quando scarichiamo un pacchetto, questo viene salvato in /var/cache/apt/archives in modo da rendere pi� veloce il download in caso di reinstallazione, oppure per permettere il salvataggio di questi su cd (in caso di connessioni lente o a consumo). | ||
Riga 186: | Riga 208: | ||
Vediamoli in dettaglio: | Vediamoli in dettaglio: | ||
* apt-get clean | |||
Rimuove tutti i pacchetti contenuti in /var/cache/apt/archives e in /var/cache/apt/archives/partial (eccezione fatta per i file di lock) | Rimuove tutti i pacchetti contenuti in /var/cache/apt/archives e in /var/cache/apt/archives/partial (eccezione fatta per i file di lock) | ||
* apt-get autoclean | |||
Rimuove tutti i pacchetti che non possono pi� essere scaricati (perch� rimossi dai repository Debian, versioni non pu� scaricabili in quanto 'superate',...) | Rimuove tutti i pacchetti che non possono pi� essere scaricati (perch� rimossi dai repository Debian, versioni non pu� scaricabili in quanto 'superate',...) | ||
Riga 194: | Riga 216: | ||
Home | ==Home== | ||
Nella vostra home vengono creati i file di configurazione delle applicazioni! | Nella vostra home vengono creati i file di configurazione delle applicazioni! | ||
niente di strano, se non fosse che occupano spazio, spesso senza un motivo! | niente di strano, se non fosse che occupano spazio, spesso senza un motivo! | ||
per vedere questi file/directory di configurazione � necessario usare ls seguito dalla opzione -a: | per vedere questi file/directory di configurazione � necessario usare ls seguito dalla opzione -a: | ||
<pre> | |||
$ ls -a | $ ls -a | ||
</pre> | |||
Cos� facendo verranno mostrati i file/directory nascosti (in pratica quelli con un punto davanti). | Cos� facendo verranno mostrati i file/directory nascosti (in pratica quelli con un punto davanti). | ||
Una volta individuati dei file/directory appartenenti ad applicazioni non pi� presenti nel sistema, o non pi� utilizzate dal vostro utente, si pu� procedere alla rimozione con: | Una volta individuati dei file/directory appartenenti ad applicazioni non pi� presenti nel sistema, o non pi� utilizzate dal vostro utente, si pu� procedere alla rimozione con: | ||
<pre> | |||
$ rm -r nome_dir | $ rm -r nome_dir | ||
</pre> | |||
Riga 210: | Riga 236: | ||
Conclusione | ==Conclusione== | ||
Queste sono le tecniche base per tenere pulita una Debian, e sono quelle che applico regolarmente alle mie macchine... | Queste sono le tecniche base per tenere pulita una Debian, e sono quelle che applico regolarmente alle mie macchine... | ||
Diciamo che si avvertono i miglioramenti, soprattutto per quanto riguarda lo spazio risparmiato, che permette una miglior organizzazione dei dati all'interno del disco! | Diciamo che si avvertono i miglioramenti, soprattutto per quanto riguarda lo spazio risparmiato, che permette una miglior organizzazione dei dati all'interno del disco! | ||
---- [[User:MaXeR|MaXeR]] |
contributi