1 487
contributi
m (→CheckInstall: deb da sorgenti: aggiunto Box) |
m (→CheckInstall: deb da sorgenti: aggiunto Box) |
||
Riga 1: | Riga 1: | ||
==Introduzione== | ==Introduzione== | ||
Dopo | 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 12: | Riga 13: | ||
==CheckInstall: deb da sorgenti== | ===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 38: | Riga 39: | ||
'''-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. | ||
'''Nota Bene:''' | |||
Non ridistribuite il pacchetto cos� creato: � solo per uso personale (per motivazioni uguali a quella precedente)! | 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)! | |||
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 75: | Riga 68: | ||
Output d'esempio: | Output d'esempio: | ||
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: | ||
Ora possiamo scegliere cosa fare: | Ora possiamo scegliere cosa fare: | ||
Y mantiene il pacchetti installato | |||
n Rimuove il pacchetto segnalato | |||
p Rimuove il pacchetto segnalato e tutti i pacchetti da lui trattenuti | |||
s Salta la domanda | |||
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 112: | Riga 94: | ||
Deborphan | |||
# apt-get install deborphan | # apt-get install deborphan | ||
Questo programma, genera una lista di pacchetti 'orfani'. | Questo programma, genera una lista di pacchetti 'orfani'. | ||
Riga 122: | Riga 104: | ||
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 � | 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: | ||
# deborphan | # deborphan | ||
o | o | ||
# deborphan --libdevel | # deborphan --libdevel | ||
� 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: | ||
# apt-get --purge remove `deborphan` | # apt-get --purge remove `deborphan` | ||
# apt-get --purge remove `deborphan --libdev` | # apt-get --purge remove `deborphan --libdev` | ||
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 | |||
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': | ||
# dpkg --purge `COLUMNS=300 dpkg -l "*" | egrep "^rc" | cut -d\ -f3` | # dpkg --purge `COLUMNS=300 dpkg -l "*" | egrep "^rc" | cut -d\ -f3` | ||
Ecco una breve spiegazione dei comandi: | Ecco una breve spiegazione dei comandi: | ||
dpkg --purge listapacchetti | |||
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` | |||
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 | |||
dpkg -l "*" 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 | |||
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: | |||
per evitare problemi, lasciarla installata. | � sconsigliabile rimuovere l'inglese, in quanto � la lingua di default del sistema... | ||
per evitare problemi, lasciarla installata. | |||
Riga 183: | Riga 161: | ||
Una volta fatto questo, lanciando il comando | Una volta fatto questo, lanciando il comando | ||
# localepurge | |||
verranno eliminati i locales non necessari!!! | verranno eliminati i locales non necessari!!! | ||
Riga 189: | Riga 167: | ||
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: | |||
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): | |||
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 196: | Riga 174: | ||
Total disk space freed by localepurge: 111718K | Total disk space freed by localepurge: 111718K | ||
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 206: | Riga 186: | ||
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 214: | Riga 194: | ||
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: | ||
$ ls -a | $ ls -a | ||
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: | ||
$ rm -r nome_dir | $ rm -r nome_dir | ||
Riga 234: | Riga 210: | ||
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! | ||
contributi