Nov 102011
 

Ho recentemente scoperto un altro utile pacchetto per GNU/Linux, Littleutils .

Littleutils include un ricercatore di file duplicati (repeats), ottimizzatori di immagine (opt-jpg opt-png opt-gif recomp-jpg), strumenti per rinominare file (lowercase uppercase), ricompressori di archivi (to-bzip to-7zip to-lzma), un programma di utilità per file temporanei (tempname), sono tutti piccoli programmi che fanno solo 1 cosa, in perfetto stile Unix, quindi non aspettatevi programmi complessi, ma questi piccoli gioielli sono in grado di farvi risparmiare tempo per alcuni lavori specifici.

Installazione

Il software non è disponibile come pacchetto nelle distribuzioni che uso (Debian, Ubuntu e CentOS), quindi questo è un piccolo elenco di operazioni che si possono seguire per costruirlo dai sorgenti:

Installare littleutils: Ubuntu 11.04 (32-bit)

Queste istruzioni sono state testate con littleutils 1.0.24 e Ubuntu 11.04 (32-bit, desktop edition).

  1. Scaricate l’ultima versione di littleutils nella vostra directory di Download.
  2. Aprite un terminale (Applications -> Accessories -> Terminal)
  3. Spostate il download in una directory migliore: sudo mv ~/Downloads/littleutils-1.0.24.tar.bz2 /usr/local/src/
  4. Utilizzate l’account di root con: sudo su
  5. Installate le dipendenze: apt-get install gifsicle pngcrush lzip libpng12-0 libpng12-dev libjpeg-progs p7zip-full
  6. Scompattate littleutils: cd /usr/local/src && tar jxvf littleutils-1.0.24.tar.bz2 && cd littleutils-1.0.24
  7. Configurate ed installate littleutils: ./configure && make && make install && make install-extra

Installare littleutils: CentOS 6.0 (32-bit)

Queste istruzioni sono state testate con littleutils 1.0.24 e CentOS 6.0 (32-bit, configurazione “Basic server” ).

  1. Collegatevi come utente root.
  2. Abilitate il repository rpmforge : cd /usr/local/src/ && wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm && rpm -i rpmforge-release-0.5.2-2.el6.rf.i686.rpm
  3. Installate le dipendenze : yum install gcc libpng libpng-devel gifsicle pngcrush p7zip lzip
  4. Scaricate l’ultima versione di littleutilscd /usr/local/src; wget http://downloads.sourceforge.net/project/littleutils/littleutils/1.0.24/littleutils-1.0.24.tar.bz2?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Flittleutils%2F
  5. Scompattate littleutils: tar jxvf littleutils-1.0.24.tar.bz2 && cd littleutils-1.0.24
  6. Configurate ed installate  littleutils: ./configure && make && make install && make install-extra
Thanks to the author of CW image optimizer for this.

Usare le utility

Questa è una panoramica dei programmi che si otterranno con questo pacchetto.

filedate
filedate – stampa la data di modifica dei file specificati

Esempio:

[root@linuxaria.com]# filedate /etc/ssh/*
/etc/ssh/moduli	2011-07-28 09:22:36
/etc/ssh/ssh_config	2011-07-28 09:22:36
/etc/ssh/sshd_config	2011-07-28 09:22:36
/etc/ssh/ssh_host_dsa_key	2011-10-26 03:18:28
/etc/ssh/ssh_host_dsa_key.pub	2011-10-26 03:18:28
/etc/ssh/ssh_host_key	2011-10-26 03:18:37
/etc/ssh/ssh_host_key.pub	2011-10-26 03:18:37
/etc/ssh/ssh_host_rsa_key	2011-10-26 03:18:28
/etc/ssh/ssh_host_rsa_key.pub	2011-10-26 03:18:28

filehash
filehash stampa i vari hash (MD5, SHA1, SHA224, SHA256, SHA384, e/o SHA512) i digest e (opzionalmente) le dimensioni dei file per i file specificati.

Opzioni principali:

-1     Include l'hash MD5 (128 bits) come parte dell'output di filehash.
-2    Include l'hash SHA1 (160 bits)  come parte dell'output di filehash.
-3     Include l'hash SHA224  come parte dell'output di filehash.
-4     Include l'hash SHA256  come parte dell'output di filehash.
-5     Include l'hash SHA384  come parte dell'output di filehash.
-6     Include l'hash SHA512  come parte dell'output di filehash.
-s     Include la dimensione del file come parte dell'output di filehash.

Esempio

[root@linuxaria.com]# filehash -s /etc/ssh/* 
/etc/ssh/moduli	125811	1c19eb605280ac13c556cc5b5960c10ca28a86e056c5dc10bae3e549de60c5e4
/etc/ssh/ssh_config	2117	1b0b70a71eeb7b0ae623f64b7f186471db2ff58544df5689772ef834c560ecb1
/etc/ssh/sshd_config	4108	1c081b298fcd03f37ea2b34b087e0d8d425ed1c00bb73f0106f5af23cbea29eb
/etc/ssh/ssh_host_dsa_key	668	57e9478137eba29b10b33b5e42280488f1b19640f9bcd4fb93a75a87582d5d7f
/etc/ssh/ssh_host_dsa_key.pub	611	02d524058d37405910ea90e106ad2f69320cfc6fc5c5761842f801eac52aa564
/etc/ssh/ssh_host_key	963	2b66ae9a07dd1b152ed82398dbe83a033b1e62aec1dbc63c641b0b8cc73b4ee6
/etc/ssh/ssh_host_key.pub	627	467bbbf0b2cddaffb8dca25cff0453618968eb1f164395b2be7e88a1cb1298e5
/etc/ssh/ssh_host_rsa_key	1675	832d4e537c1a05dc47316870340e9e1ef50e853d2874389c30a47f1420c054e4
/etc/ssh/ssh_host_rsa_key.pub	403	0bc05af3c11a683926a24a7b7c0afe723d1e8db8bc44d3c202bfbc2cd8b5fe3a

filemode
filemode stampa i permessi di accesso al file dei file specificati.

Esempio

[root@linuxaria.com]# filemode /etc/ssh/*
/etc/ssh/moduli	0600
/etc/ssh/ssh_config	0644
/etc/ssh/sshd_config	0600
/etc/ssh/ssh_host_dsa_key	0600
/etc/ssh/ssh_host_dsa_key.pub	0644
/etc/ssh/ssh_host_key	0600
/etc/ssh/ssh_host_key.pub	0644
/etc/ssh/ssh_host_rsa_key	0600
/etc/ssh/ssh_host_rsa_key.pub	0644

filenode
filenode stampa il numero di inode dei file specificati.

[root@linuxaria.com]# filenode /etc/ssh/*
/etc/ssh/moduli	28489
/etc/ssh/ssh_config	28612
/etc/ssh/sshd_config	28607
/etc/ssh/ssh_host_dsa_key	29013
/etc/ssh/ssh_host_dsa_key.pub	29014
/etc/ssh/ssh_host_key	29025
/etc/ssh/ssh_host_key.pub	29026
/etc/ssh/ssh_host_rsa_key	29011
/etc/ssh/ssh_host_rsa_key.pub	29012

fileown
fileown stampa (di default) il proprietario e/o (eventualmente) il gruppo dei file specificati.

[root@linuxaria.com]# fileown /etc/ssh/sshd_config 
root

filesize
filesize stampa la dimensione del file specificati in byte.

[root@linuxaria.com]# filesize /etc/ssh/sshd_config 
4108

lowercase
lowercase rinomina il nome dei file indicati in minuscolo. Se un percorso contenente informazioni è utilizzato con lowercase, solo la porzione del nome del file sarà rinominata.

Esempio:

[root@linuxaria.com]# touch TEst
[root@linuxaria.com]# lowercase TEst 
TEst moved to test

uppercase
Questo comando è l’opposto di lowercase, uppercase rinomina il nome dei file indicati in maiuscolo. Se un percorso contenente informazioni è utilizzato con uppercase, solo la porzione del nome del file sarà rinominata.

randomize
randomize stampa le linee di uno o più file in ordine casuale. Se nessun file è specificato, le linee sono prese da stdin.

Ricompressori

Littleutils comprende 5 programmi che possono essere usati per la conversione da un formato ad un altro archivio, la base è lo stesso da tutti, si converte un .Z, .gz, ed .bz2 in un formato di file diverso, quello che si vede nel nome del comando utilizzato:

I comandi sono: to-7zip, to-bzip, to-lzip, to-lzma, to-xz

Esempio:

[root@linuxaria.com]# tar -zcvf myssh.tar.gz /etc/ssh
/etc/ssh/
/etc/ssh/ssh_config
/etc/ssh/ssh_host_dsa_key
/etc/ssh/ssh_host_rsa_key
/etc/ssh/ssh_host_rsa_key.pub
/etc/ssh/sshd_config
/etc/ssh/moduli
/etc/ssh/ssh_host_key
/etc/ssh/ssh_host_key.pub
/etc/ssh/ssh_host_dsa_key.pub
 
[root@linuxaria.com]# to-xz myssh.tar.gz
myssh.tar.gz... done
 
[root@linuxaria.com]# to-bzip myssh.tar.gz 
myssh.tar.gz... done (warning: new file is not smaller)
 
[root@linuxaria.com]# ls -l myssh.tar.*
 
-rw-r--r-- 1 root root 18273 Nov 10 19:11 myssh.tar.bz2
-rw-r--r-- 1 root root 14161 Nov 10 19:09 myssh.tar.gz
-rw-r--r-- 1 root root 11864 Nov 10 19:10 myssh.tar.xz

Ottimizzazione delle immagini

C’è un altro grande gruppo di programmi di utilità in questo pacchetto, 3 programmi in grado di ottimizzare le immagini: opt-gif, opt-jpg and opt-png.

opt-gif ottimizza le immagini GIF senza perdita di qualità, eliminando le tavole di colori inutilizzate. Questa operazione viene eseguita utilizzando gifsicle, filesize, e tempname

opt-jpg ottimizza le immagini JPEG senza perdita di qualità. Questa operazione viene eseguita utilizzando una combinazione dei programmi filesize, jpegtran e tempname.

opt-png ottimizza le immagini PNG senza perdita di qualità, eliminando le voci delle tavole di colori inutilizzate e/o ottimizza l’algoritmo di filtraggio. Questa operazione viene eseguita utilizzando una combinazione dei programmi filesize, pngcrush, pngrecolor, pngstrip, e tempname.

Con queste utility è possibile risparmiare dal 5% al 15% della dimensione delle vostre immagini.

E se si utilizza WordPress come CMS vi suggerisco di controllare il plugin CW Image Optimizer .
CW Image Optimizer è un plugin per WordPress che automaticamente e senza perdita di qualità ottimizza le immagini mentre le caricate nel vostro blog. Si possono anche ottimizzare le immagini che avete già caricato in passato.

Conclusioni

In questo articolo ho mostrano alcune delle 31 piccole utility che sono incluse in questo pacchetto, un sacco di questi risultati possono essere raggiunti da altri comandi o combinazioni di essi, ma mi piacciono comandi specifici per fare solo una piccola cosa, e quindi penso che abbiano senso, sono una buona aggiunta nell’arsenale di ogni utente Linux.

Popular Posts:

Flattr this!

  2 Responses to “Littleutils, Una grande collezione di piccole utility”

  1. Very nice find. It’s in my toolbox now.

  2. Great Utilities…
    Will definitely try this…

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

*