Post by s***@libero.itPer il resto, se non capisci vedi il post di gl:)
ed i manuali dei vari programmi
ok. provo a spiegarmi in modo diverso.
So che ci sono due tipi di compressione: a perdita di dati (jpeg/mpeg...) e
non a perdita di errore (Z,gz,bz2,rar,zip,lha...). In aggiunta gli archivi
non compressi (tar,cpio,dump...)
A me interessano i secondi, in particolare: compress, gzip e bzip2 (che
comprimono i file singoli).
E' molto comune che, quando si scaricano programmi, sorgenti in particolare,
vengono proposti i tar.gz e i tar.bz2
p.e.: ftp://ftp.kernel.org/pub/linux/kernel/v2.6/
linux-2.6.10.tar.bz2 34 MB Dec 24 22:38
linux-2.6.10.tar.gz 43 MB Dec 24 22:38
Come potete vedere la differenza è di BEN 9Mb.
Ora io (che uso slackware) ho pensato:
installpkg supporta i tgz (alias tar.gz)
e se trasformassi tutto in tbz2 (alias tar.bz2) e modifico installpkg (che è
uno script shell)?
E così ho fatto.
E ho fatto l'esperimento con un pacchetto a caso (piccolo in quanto
notoriamente bzip2 è più lento di gzip, propio per il suo grado di
compressione più elevato):
workbone-2.40-i386-3.tgz 12241 byte
workbone-2.40-i386-3.tar 30720 byte
workbone-2.40-i386-3.tar.bz2 12649 byte
Ergo: non mi conviene fare quello che stavo per fare (e pensare che potrebbe
essere stata una proposta per Patrick).
Ora la mia è solo una constatazione di fatto. Mi viene da pensare una cosa
(ci ho pensato solo ora, ho fatto la prova e ha funzionato).
Stesso esperimento con
linux-howtos-20050124-noarch-1.tgz 9083261byte
linux-howtos-20050124-noarch-1.tar 32450560byte
linux-howtos-20050124-noarch-1.tar.bz2 7349392byte
risparmio di 1,7Mb
che sia che bzip2 sia ottimizzato per la compressione di testi piuttosto che
quella dei binari?
ls 72608b
ls.gz 34651b
ls.bz2 34402b
Il risparmio c'è ma non è poi così alto, effettivamente.
Altra prova: slackware/ap/*tgz
du -sk = 46088
gzip -d *
du -sk = 135892
bzip2 *
du -sk = 39680
boh! (le prove le sto facendo man mano che scrivo)
L'ultima cosa che mi viene da pensare è che la compressione si fa vedere su
file grossi (mysql.tgz=6.7Mb mysql.tar.gz=5.5Mb)
Mah!!
Che strano il mondo della compressione
Matteo