comprimir archivo de tamaño largo en archivo xz de tamaño limitado múltiple

1

Tengo archivos de tamaño de 28 GB.

Quiero comprimir usando .xz LZMA , con archivos .xz de archivos de tamaño 1G (1024MB). .

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

¿Cómo hacerlo en macOS ?

EDIT

sh-3.2# xz -ek9vfc Centos\ 7\ 1511\ 64bits_20170629\(with_dukto\).vdi
xz: Compressed data cannot be written to a terminal
xz: Try 'xz --help' for more information.
sh-3.2# 

SEGUNDA EDICIÓN

USANDO

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

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

Aquí la salida.

# ls -al Centos\ 7\ 1511\ 64bits_20170629\(with_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# 

Aquí la ayuda

# 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 <[email protected]> (in English or Finnish).
XZ Utils home page: <http://tukaani.org/xz/>
sh-3.2# 
    
pregunta Chepe Questn 16.08.2017 - 20:33

2 respuestas

1

Utilice split .

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

Esto dividirá yourFile.vdi en trozos comprimidos de 1GB, con el sufijo aa-zz.

Para volver a ensamblar, haz cat yourFile.vdi.xz.* > yourFile.xz

7-zip es MÁS capaz, pero menos ubicuo. Usted querrá realizar una comprobación de sus copias de seguridad y verificarlas de vez en cuando. Echa un vistazo a un paquete GUI de p7zip. Le permitirá seleccionar niveles de compresión y tamaños de volumen de 1 GB ... Si lo hace en un trabajo por lotes sin supervisión, p7zip está más sucio. Puedo encontrar uno de mis recortes si lo necesitas.

Lo bueno de xz es que puedes asignar n núcleos a un trabajo. Creo que es la bandera -T . Recuerde que nice a 20 si pretende usar ese mac para algo que no sea un pisapapeles grande si usa todos los núcleos a la vez.

    
respondido por el user2497 18.08.2017 - 13:37
-2

Si es un archivo de texto, puede usar la división del comando del terminal para dividir su archivo inicial en archivos más pequeños y luego comprimirlos en un archivo por lotes. La página man en split le dirá cómo determinar el tamaño de los archivos más pequeños. El comando dividir creará tantos archivos de salida como sea necesario en función del tamaño que se le indique a cada archivo. El uso de la compresión por lotes hace que este tiempo sea bastante eficiente.

    
respondido por el jmh 16.08.2017 - 22:17

Lea otras preguntas en las etiquetas