enchufado
   RSS
#
Binary deltas (GNU/Linux) 2009-01-12 22:08:43

Todo esto surge a raíz de que rsync no gestiona las diferencias a nivel de archivo. Es decir, sólo detecta si 2 archivos (el original y la copia que tiene guardada) son iguales o no con distintos métodos (tamaño, suma de comprobación o hash, fecha de creación/modificación...) para decidir si mantiene la copia que ya posee o hace una nueva.

Hay aplicaciones para calcular los llamados 'deltas' (partes distintas) entre dos archivos, ya sean de texto plano o binarios. Nos interesan éstos últimos, puesto que para los archivos de texto plano ya estan diff y patch.

Le he estado echando un ojo a xdelta. Hay otros (p.ej. bsdiff), pero sólo probé este.

# Creamos 2 archivos binarios distintos y comprobamos que lo sean.
superdell:/home/jors# echo "hola" > test.txt
superdell:/home/jors# echo "hola" > test2.txt
superdell:/home/jors# echo "adios" >> test2.txt
superdell:/home/jors# gzip test.txt test2.txt
superdell:/home/jors# diff test.txt test2.txt

Los ficheros binarios test.txt.gz y test2.txt.gz son distintos

# Generamos el patch.
superdell:/home/jors# xdelta3 -e -s test.txt.gz test2.txt.gz patch
# Parcheamos el archivo viejo (test.txt.gz) creando uno nuevo (test3.txt.gz) en base al parche (patch).
superdell:/home/jors# xdelta3 -d -s test.txt.gz patch test3.txt.gz

Hay una comparación más interesante y completa de aplicaciones de este tipo en este foro.

PD. BackupPC tiene en su roadmap implementarlo (eso sí, no pone cuándo), y no se cómo está el panorama en otros sistemas de gestión de backups.


Comentarios (2)


Volver al indice

login, admin, form, register