7zip
est plus un compacteur (comme PKZIP) qu'un compresseur. Il est disponible pour Linux, mais il ne peut créer des archives compressées que dans des fichiers normaux. Par exemple, il ne peut pas compresser un flux. Il n'est pas en mesure de stocker la plupart des attributs de fichier Unix tels que la propriété, les ACL, les attributs étendus, les liens physiques ...
Sous Linux, en tant que compresseur , vous utilisez xz
le même algorithme de compression que 7zip
(LZMA2). Vous pouvez l'utiliser pour compresser des archives tar.
Comme pour gzip
et bzip2
, il existe une variante parallèlepixz
qui peut exploiter plusieurs processeurs pour accélérer la compression ( xz
peut également le faire de manière native depuis la version 5.2.0 avec l' -T
option). La pixz
variante prend également en charge l' indexation d' une tar
archive compressée, ce qui signifie qu'elle est capable d'extraire un seul fichier sans avoir à décompresser le fichier dès le début.
Stéphane Chazelas
la source
lrzip est ce que vous cherchez vraiment , surtout si vous compressez le code source!
Citant le fichier README:
lrzip fonctionne d'abord en recherchant et en supprimant toute redondance de données longue distance avec un algorithme basé sur rzip, puis en compressant les données non redondantes.
Con Kolivas fournit un exemple fantastique dans la liste de diffusion Linux Kernel ; dans lequel il compresse une archive de 10,3 Go de quarante publications de noyau Linux jusqu'à 163,9 Mo (1,6%), et le fait plus rapidement que xz. Il n'utilisait même pas l'algorithme de second passage le plus agressif!
Je suis sûr que vous obtiendrez d’excellents résultats en compressant d’énormes quantités de code source :)
Exemple (utilisation de l'option par défaut pour les autres options):
Ultra compression, chien lent:
Pour les dossiers, il suffit de changer
lrzip
pourlrztar
la source
lrzip
fonctionne également très bien pour les sauvegardes destar/cpio/pax
arborescences de fichiers système édités, car celles-ci contiennent généralement beaucoup de redondances à longue distance, ce quilrzip
est vraiment très bon pour la compression.lrzip
etpixz
sur un fichier texte de 19 Go. Les deux ont pris environ une demi-heure pour le compresser (sur une machine hexa-core), mais lelrz
fichier était deux fois plusxz
petit (2,7 contre 4,4 Go). Donc, un autre vote pour cette réponse à la place.Si vous recherchez une réduction de taille maximale, quelle que soit la vitesse de compression,
LZMA
constitue probablement la meilleure option.Lorsque l'on compare les différentes compressions, le compromis est généralement le temps par rapport à la taille.
gzip
tend à se comprimer et à se décompresser relativement rapidement tout en offrant un bon taux de compression.bzip2
est un peu plus lent quegzip
le temps de compression et de décompression, mais donne des taux de compression encore plus élevés.LZMA
a le temps de compression le plus long, mais donne les meilleurs rapports avec un taux de décompression supérieur à celui debzip2
.Sources: http://bashitout.com/2009/08/30/Linux-Compression-Comparison-GZIP-vs-BZIP2-vs-LZMA-vs-ZIP-vs-Compress.html
http://tukaani.org/lzma/benchmarks.html
la source
zpaq
oupaq8l
. Cependant, ils sont si lents qu'ils ne sont pas pratiques pour la plupart des usages du monde réel.sudo apt-get install zpaq
, j'ai fait quelques tests, selon wiki , qui indique que l'application serait la plus récente en 2009, mais elle perd toujours pour kgb (qui utilise PAQ6), mais kgb est BEAUCOUP plus lent ...zpaq pvc/usr/share/doc/zpaq/examples/max.cfg file.zpaq file.tar
compresse plus quekgb -9
(réponse mise à jour) Si le temps n'a pas d'importance, utilisez ZPAQ v1.10 (ou une version plus récente), par exemple:
zpaq pvc/usr/share/doc/zpaq/examples/max.cfg file.zpaq file.tar
(l'emplacement du fichier max.cfg peut varier, consultez la liste de fichiers du paquet installé)zpaq
effectivement compressé plus quekgb -9 newFileName.kgb yourFileName.tar
.Ceci est basé sur l'ancien algorithme PAQ6 , et est très lent ...
J'ai testé avec tous les autres compresseurs comme 7zip, lrzip, bzip2, kgb .. et zpaq les plus compressés!
Si cela
kgb
vous intéresse toujours: (comme c'était mon choix initial sur cette réponse, je garde donc les informations ici):Ubuntu 14.04 a kgb 1.0b4 , exécutez-le
sudo apt-get install kgb
pour l'installer.Vous trouverez ci-dessous une version de Windows que vous pouvez essayer d’exécuter / compiler
kgb
sous Linux, mais j’ai échoué.La version 2 bêta 2 est disponible sur SourceForge , mais aucun fichier binaire Linux n'est disponible. Vous pouvez essayer de l'exécuter en console avec
wine kgb2_console.exe -a7 -m9
(la méthode-a6 -m9
semble être équivalente à la meilleure méthode de 1.0b4, elle-a7
est nouvelle en 2 beta2). Bien que j'aie eu une meilleure stabilité en installant .NET 2.0 avec winetricks et en courantwine "KGB Archiver 2 .net.exe"
(je n'aime pas trop le faire, alors je vais rester avec Linux 1.0b4 natif qui a presque le même résultat que 2 beta2).En tout cas, la version 2 beta2 mérite sérieusement une version native de Linux aussi! Peut-être que quelque chose peut être accompli avec MinGW, voyez ceci , mais cette commande échoue quand même mal:
i586-mingw32msvc-g++ kgb2_console.cpp -o kgb
. Peut-être essayer de le compiler avecdmcs
(Mono)? voir cette astuce .la source
7zip n'est pas une technologie unique, mais supporte plusieurs méthodes de compression différentes (voir wikipedia 7z à ce sujet).
Une série de tests a été réalisée avec différents outils spécialement pour les fichiers source C. Je ne sais pas quels outils existent pour Linux s'ils existent toujours. Cependant, vous pouvez noter que le meilleur algorithme était PPM avec modifications (PPMII, puis PPMZ).
Si vous êtes intéressé par les outils, vous pouvez naviguer sur le site, il est en russe mais google translate peut vous aider. Il existe un grand dépôt de fichiers binaires , que vous pouvez utiliser (ou ne pourrez pas) sous Linux avec wine, si vous en avez vraiment besoin.
la source