Pkg-cleaner

Da LinuxVar, il LUG della provincia di Varese.


Pkg-cleaner {{{versione}}}
Linguaggio: Bash scripting
Licenza: GPL
Requisiti:
Autore: Wolf
Mail: luigi.b@aliceposta.it
Homepage:  ???
TODO:
Download: Pkg-cleaner



Contenuti

Informazioni progetto

pkg-cleaner è uno script che va usato con i pacchetti Slackware, il suo utilizzo ottimale è abbinato a Swaret.
Sarà capitato a tutti coloro che scaricano i pacchetti di aggiornamento di Swaret nel proprio computer di dimenticarsi di fare pulizia delle versioni particolarmente vecchie ed inutili, e trovarsi poi con l'unica alternativa di visualizzare ed eliminare manualmente i paccheti in eccesso, operazione che magari viene rimandata per la sua noiosità, con il risultato di avere nel nostro computer un numero sempre maggiore di file inutili che riempiono spazio sui dischi fissi!
C'è però un altro problema, ovvero il fatto che non sempre l'ultima versione del pacchetto aggiornato va come vorremmo, così ci farebbe comodo avere anche quella prima per, eventualmente, downgradare, perciò ci potrebbe interessare eliminare i pacchetti non dalla penultima versione, ma dalla terzultima, o ancora prima....
pkg-cleaner fa questo per noi, automatizzando questo noioso compito, con delle impostazioni sicure che possono fare un backup dei file eliminati, addirittura fare soltanto una simulazione, pkg-cleaner può scrivere quanto fa in dei file di log, con i quali potremo fare delle verifiche prima di intraprendere azioni definitive sui file vecchi e così rendere ancora più sicure le nostre operazioni di cancellazione.


Installazione

Il metodo più semplice per l'installazione è il seguente:

Copiare pkg-cleaner in /usr/bin

# cp pkg-cleaner /usr/bin

Eventualmente verificare se è eseguibile, nel caso non lo fosse:

# chmod +x /usr/bin/pkg-cleaner

Potete consultare l'help con:

# pkg-cleaner --help


Quick start

Il metodo più semplice e più sicuro per usarlo è il seguente:

1 -  Entrate nella directory dove ci sono i pacchetti (per swaret tipicamente /var/swaret):

     # cd /var/swaret

2 -  Lanciate lo script senza opzioni:

     # pkg-cleaner

3 - Vedrete una scritta "Waiting..." durante la quale vengono processati i nomi
     dei pacchetti, poi vedrete dell'output veloce scorrere sulla vostra console, 
     quando avrà finito avrete tutti i pacchetti dal terzultimo in poi (di default 
     lascia solamente gli ultimi 2) in una sub-directory della directory corrente 
     di nome "pkg-cleaner-bck" e le operazioni eseguite nel file di log "pkg-cleaner-log".
     Potete fare le verifiche del caso visualizzando i log o direttamente i pacchetti 
     rimossi, alla fine potrete ad esempio salvare i vecchi pacchetti su di un supporto
     esterno, se lo volete, se invece la vostra intenzione è cancellarli definitivamente,
     lo potrete fare in modo sicuro sempre con lo script, lanciando:

     # pkg-cleaner --del-bck

     vi verrà chiesto in un messaggio di conferma se volete procedere e se volete scrivere sul file 
     di log  l'operazione.

Altri esempi

Nel caso si voglia cancellare direttamente i vecchi pacchetti:

# pkg-cleaner --del-files

(ci sarà un messaggio di conferma)
Nel caso si voglia preservare 3 versioni anzichè le ultime 2 di default:

# pkg-cleaner --copies=3 
Nel caso si voglia fare soltanto una simulazione:

# pkg-cleaner --sim
Nel caso si voglia fare una simulazione con però 4 copie preservate:

# pkg-cleaner --sim --copies=4 

(notare che "--copies=N" è l'unica opzione accettata in abbinamento a "--sim")
Nel caso non si voglia loggare le operazioni e si voglia cancellare direttamente 
i file, e in più lasciare soltanto l'ultima versione:

# pkg-cleaner --no-log --copies=1 --del-files

Come avete visto le opzioni sono miscelabili, vi rimando all'help dello script per più dettagli.

Un trick semplice, se volete visualizzare l'output con calma ancora prima di vederlo nel file di log,
potete usare una pipe con "less", esempio:

# pkg-cleaner | less

Note

Il mio inglese è veramente scarso, ho inserito i comandi e i commenti in inglese, ma l'help sarebbe stato troppo oneroso in termini di tempo, così l'ho fatto in italiano.
Se qualcuno trova errori o vuole convertire anche l'help in inglese me lo faccia sapere, anzi, in quest'ultimo caso si potrebbero lasciare ambedue le sezioni di help, una richiamabile in un modo e l'altra in un'altro (esempio: "--help-it" e "--help-en").

Prospettive future

Per quanto riguarda i pacchetti Slackware e l'uso di Swaret questo script dal punto di vista del codice dovrebbe andare già più che bene, lo ho testato e stratestato, un'idea sarebbe però quella di estendere gli algoritmi usati per poter fare pulizia di altri tipi di pacchetti, sia di altre distribuzioni che di tarball, questo però richiede sempre uno standard comune nei nomi degli stessi pacchetti.


Download

IMPORTANTE: il file che scaricherai si chiama Pkg-cleaner.sh per motivi di upload con questo sito, ti consiglio di rinominarlo in pkg-cleaner, oppure tieni conto del nuovo nome, maiuscola ed estensione comprese.

Strumenti personali