13 liens privés
Pour décompresser plusieurs fichiers *.tar.gz
en une seule passe.
for f in *gz; do tar -xzf "$f"; done
J'entends beaucoup "Il faut utiliser zstd partout, maintenant !"
Alors non. Vraiment pas.
zstd est excellent, cela ne fait aucun doute. Il compresse aussi bien que gz, mais beaucoup plus vite.
Mais ce n'est pas pour autant que c'est la solution à tout.Si vous voulez une compression beaucoup plus rapide, lz4 et lzo sont imbattables et seront nettement plus rapides que zstd (c'est d'ailleurs ces algos qui sont utilisés dans la compression de RAM (zram)).
Si au contraire vous voulez faire du stockage à long terme, lzma (c'est à dire 7z et xz, qui utilisent tous deux cet algo) ou zpaq sont de biens meilleurs choix. Ils mettent beaucoup plus de temps à compresser et utilisent plus de mémoire vive, mais ils ont des taux de compression bien supérieurs à zstd.Donc choisissez judicieusement votre algo de compression en fonction de vos besoins : Allez-vous les décompresser souvent ? Ou bien allez-vous compresser/décompresser sur des machines avec peu de ressources (CPU, RAM) ?
Je compresse maintenant mon site ouaib avec brotli et les images en avif afin d’alléger encore un peu plus le blog. Petit tour de comment mettre ça en place.
zRAM est un module du noyau Linux présent depuis le noyau 2.6.37.
Il permet de compresser la RAM afin d'éviter de swapper sur le disque.
C'est plus performant de compresser/décompresser dans la RAM la RAM que d'écrire sur un disque mécanique ou SSD. Dans le cas du SSD, zRAM permet d'éviter d'user prématurément le SSD à cause des cycles d'écriture répétés lors du mécanisme de swapping.
Besoin d'archiver rapidement un répertoire sous Linux ? N'utilisez pas tar/gzip: Prenez tar/lzo !
Lzo compresse un peu moins bien que gzip, mais il est beaucoup plus rapide. Vraiment beaucoup.
Petit test rapide: Avec 1,1 Go de données sur un core-i7: - tar/gzip prend 40 secondes pour compresser. - tar/pigz prend 15 secondes. - tar/lzo ne prend que 3,7 secondes (!) (Pour une taille finale: tar/gz : 754 Mo, tar/lzo : 849 Mo). Donc si vous voulez compresser un répertoire pour gagner rapidement de la place ou en faire une copie avant de faire des opérations risquées dedans, tar/lzo est rapide comme l'éclair ! La syntaxe: tar --lzop -cvf archive.tar.lzo dossier/ ( Pour la décompression, c'est juste: tar xvf archive.tar.lzo )
Je cite ...
Vous voulez compresser des fichiers plus rapidement ?
Au lieu de faire :
tar cvfz archive.tgz dossier/
Faites :
tar cvf - dossier/ | pigz > archive.tgz
Exemple: Sur 1,1 Go de données, je passe de 46 secondes à 16 secondes (!). Pensez à installer pigz. Sa syntaxe est compatible avec gzip, il génère des fichiers compatibles, mais il est multi-coeurs (donc beaucoup plus rapide).
L'historique des algos de compression non-destructifs (LZW, LZ77, LZO, LZMA...)