3 votes

Compresser un fichier de grande taille en plusieurs fichiers xz de taille limitée

J'ai des fichiers de taille 28Go.

Je veux compresser en utilisant .xz LZMA, avec des fichiers de taille 1G (1024Mo) en .xz...

MyFile.vdi -> MyFile00.xz, MyFile01.xz, MyFile02.xz...

Comment faire sur macOS?

ÉDITION

sh-3.2# xz -ek9vfc Centos\ 7\ 1511\ 64bits_20170629\(avec_dukto\).vdi
xz: Les données compressées ne peuvent pas être écrites dans un terminal
xz: Essayez `xz --help' pour plus d'informations.
sh-3.2# 

DEUXIÈME ÉDITION

UTILISATION

# xz -ek9vfc Centos\ 7\ 1511\ 64bits_20170629\(avec_dukto\).vdi

# xz -e9vfc < Centos\ 7\ 1511\ 64bits_20170629\(avec_dukto\).vdi | split -b 1024m - Centos\ 7\ 1511\ 64bits_20170629\(avec_dukto\).vdi.xz

Voici la sortie.

# ls -al Centos\ 7\ 1511\ 64bits_20170629\(avec_dukto\).vdi*
-rw-------@ 1 _unknown  _unknown  17470324736 Jun 29 23:47 Centos 7 1511 64bits_20170629(with_dukto).vdi
-rw-r--r--  1 _unknown  _unknown   3898588580 Aug 22 22:19 Centos 7 1511 64bits_20170629(with_dukto).vdi.xz
-rw-r--r--  1 _unknown  _unknown   1073741824 Aug 23 12:15 Centos 7 1511 64bits_20170629(with_dukto).vdi.xzaa
-rw-r--r--  1 _unknown  _unknown   1073741824 Aug 23 13:44 Centos 7 1511 64bits_20170629(with_dukto).vdi.xzab
-rw-r--r--  1 _unknown  _unknown   1073741824 Aug 23 18:17 Centos 7 1511 64bits_20170629(with_dukto).vdi.xzac
-rw-r--r--  1 _unknown  _unknown    677363108 Aug 23 21:44 Centos 7 1511 64bits_20170629(with_dukto).vdi.xzad
sh-3.2# 

Voici l'aide

# xz -h
Usage: xz [OPTION]... [FILE]...
Compress or decompress FILEs in the .xz format.

  -z, --compress      force compression
  -d, --decompress    force decompression
  -t, --test          test compressed file integrity
  -l, --list          list information about .xz files
  -k, --keep          keep (don't delete) input files
  -f, --force         force overwrite of output file and (de)compress links
  -c, --stdout        write to standard output and don't delete input files
  -0 ... -9           compression preset; default is 6; take compressor *and*
                      decompressor memory usage into account before using 7-9!
  -e, --extreme       try to improve compression ratio by using more CPU time;
                      does not affect decompressor memory requirements
  -T, --threads=NUM   use at most NUM threads; the default is 1; set to 0
                      to use as many threads as there are processor cores
  -q, --quiet         suppress warnings; specify twice to suppress errors too
  -v, --verbose       be verbose; specify twice for even more verbose
  -h, --help          display this short help and exit
  -H, --long-help     display the long help (lists also the advanced options)
  -V, --version       display the version number and exit

With no FILE, or when FILE is -, read standard input.

Report bugs to  (in English or Finnish).
XZ Utils home page: 
sh-3.2#

2voto

user2497 Points 253

Utilisez split.

Exemple: xz -e9vfc < yourFile.vdi | split -b 1024m - yourFile.vdi.xz.

Cela va diviser votreFile.vdi en morceaux compressés de 1 Go, suffixés par aa-zz.

Pour reconstituer, faites cat yourFile.vdi.xz.* > yourFile.xz

7-zip est PLUS capable, mais moins omniprésent. Vous voudrez vérifier vos sauvegardes et le vérifier de temps en temps. Jetez un œil à un package GUI de p7zip. Cela vous permettra de sélectionner des niveaux de compression et des tailles de volume de 1 Go... Si vous le faites dans un travail par lots non supervisé, p7zip est plus compliqué. Je peux trouver l'un de mes extraits de code si vous en avez besoin.

Une chose agréable à propos de xz, cependant, est que vous pouvez assigner n cœurs à un travail. Je crois que c'est le drapeau -T. N'oubliez pas de mettre nice à 20 si vous comptez utiliser ce mac pour autre chose qu'un gros presse-papiers si vous utilisez tous les cœurs en même temps.

-2voto

Natsfan Points 12853

Si vous avez un fichier texte, vous pouvez utiliser la commande terminal split pour diviser votre fichier initial en fichiers plus petits puis les compresser tous dans un fichier de lot. La page man sur split vous indiquera comment déterminer la taille des fichiers plus petits. La commande split créera autant de fichiers de sortie que nécessaire en fonction de la taille que vous lui avez indiquée pour chaque fichier. L'utilisation de la compression par lot rend cela assez efficace en termes de temps.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X