2 mar 2011

Como partir un archivo comprimido en varias partes

A veces, cuando queremos subir algo a la red o queremos grabar una copia de seguridad en CD o en DVD, necesitamos limitar nuestros archivos comprimidos para que quepan en un espacio limitado, ya sea el límite impuesto por el servidor (ej:Megadownload) o el tamaño que permite el DVD. De mis épocas de windows recuerdo una herramienta llamada "Hacha", que, como todo lo windows, tenías que aceptar a ojo cerrado. Te bajabas un programa al que le dabas aceptar ad infinitum, rogabas a dios y, si todo salía bien, tenías un programa (y no un virus) que te hacía esto. Pues en Linux es más fácil aún y no tienes que encender veladoras a ningún santo. Se necesitan dos programas, el compresor (ej: tar, zip, 7za, etc...) y el split que es un programita que viene con la mayoría de las distribuciones actuales y no tan actuales.

En el ejemplo que trataremos aquí tomaremos un directorio backup/ y lo pasaremos por el compresor tar, para luego partirlo con el split en pedazos de 100 Megas cada uno. Esto lo hacemos de una pasada, desde la terminal, ejecutando:

tar -cvz – backup/ | split -d -b 100m – backup.tgz


Donde en castellano de toda la vida quiere decir: Creame un fichero .tgz de la carpeta backup/ [ tar -cvz – backup/ ]. Y pasale (operador | ) la salida (operador -) al split que partirá en partes de 100m (opción -b) añadiéndole como sufijo un dígito (opción -d) a cada pedazo del archivo.

Al final tendremos varios archivos de la forma backup.tgz00, backup.tgz01 ... etc. Podremos recuperar de ellos nuestros datos iniciales haciendo:
cat backup.tgz* | (tar xvz)


Que en pocas palabras quiere decir lo inverso a la explicación anterior: Concatena ( cat ) los ficheros partidos y pasalos (operador | ) al tar para que los descomprima.

Y listo! ya tenemos una copia del directorio backup/.

No hay comentarios.:

Mi camino recorrido