Meilleure méthode de compression?

43

Je veux compresser un dossier de 16 Go, mais quelle est la meilleure méthode? tar.gz? tar.bz2 rar? 7z? Est-ce que l'archive serait plus petite si j'ai d'abord compressé dans une méthode, puis copié l'archive compressée dans un nouveau dossier, puis recompressé dans une autre méthode? Je dois le faire tenir sur un DVD (sortie peut-être 8,5 Go, ne me souviens pas), mais en mettant "4370 Mo", le fichier compressé a une part de 2,5 Go.

BTW, quelle est la méthode de compression par défaut sur Ubuntu?

    
posée Amanda 05.01.2013 - 17:14
la source

3 réponses

62

La valeur par défaut est gz . Les meilleurs résultats que j'obtiens avec 7z cependant.

Voici les résultats pour un conteneur de virtualbox de 1,4 Go:

  

Meilleure compression - taille en Mo:

7z 493
rar 523
bz2 592
lzh 607
gz 614
Z 614
zip 614
.arj 615
lzo 737
zoo 890

Source

  

Installer

 sudo apt-get install p7zip-full
    
réponse donnée Rinzwind 05.01.2013 - 17:29
la source
12

Cette question est très ancienne, mais peut-être que quelqu'un trouve cette solution utile:

Utilisez rzip , après tar . Il compresse d'abord 900 Mo de blocs de données volumineux en utilisant une méthode de dictionnaire, puis transmet les données nettoyées à bzip2 . Il est beaucoup plus rapide que les autres outils de compression puissants ( bzip2 , lzma ) et certains fichiers sont encore mieux compressés que bzip2 ou lzma .

Oui, gz est l'outil de compression par défaut sous Linux. Il est rapide et malgré son âge, il donne encore de très bons résultats en compressant des fichiers texte comme le code source. Un autre outil standard est bzip2 , bien qu'il soit beaucoup plus lent.

Ajout: lrzip est plus récent et étend le principe de rzip. Il prend même en charge des tailles de bloc illimitées et un choix de méthodes de compression (LZMA, Bzip2, Gzip, LZO, ZPAQ ou aucune). LZMA est la norme. Pour la sauvegarde ou si vous partagez beaucoup de données avec d'autres utilisateurs Linux / BSD, cela peut s'avérer très pratique.

    
réponse donnée user258532 19.05.2014 - 13:22
la source
1

J'opte pour un LZMA . Il a le plus petit octet de surcharge et a un fort taux de compression. Comparaison entre ZIP et LZMA: J'ai généré deux fichiers seq.txt avec du code PHP

$s = '0123456789'; $str = ''; for ($i=0; $i < 1000000; $i++) $str .= $s[$i%10].($i%10==9 ? "\n":""); file_put_contents('seq.txt', $str);

qui contient des blocs répétés de 0,9 chiffres ~ 1 Mo de données et rnd.txt avec du code PHP

$s = '0123456789'; $str = ''; for ($i=0; $i < 1000000; $i++) $str .= $s[rand(0,9)].($i%10==9 ? "\n":""); file_put_contents('rnd.txt', $str);

qui contient des blocs aléatoires de 0,9 chiffres ~ 1 Mo de données.

Résultats de la compression:

  • seq.txt, rnd.txt - 1100000 octets
  • seq.txt.zip - 2502 octets
  • rnd.txt.zip - 515957 octets
  • seq.txt.lzma - 257 octets
  • rnd.txt.lzma - 484939 octets

Taux de compression:

  • ZIP - & gt; "seq.txt" - & gt; 99.772%
  • ZIP - & gt; "rnd.txt" - & gt; 53,094%
  • LZMA - & gt; "seq.txt" - & gt; 99.976%
  • LZMA - & gt; "rnd.txt" - & gt; 55.914%

Ainsi, LZMA a compressé les données séquentielles de 0,2% plus efficacement que les fichiers ZIP et les données aléatoires de 2,8% plus efficacement que ZIP.

Bien sûr, LZMA gagne!

    
réponse donnée Agnius Vasiliauskas 04.11.2017 - 14:04
la source

Lire d'autres questions sur les étiquettes