Thursday, May 21, 2009

Continuing Broken rsync

$ ls -lah|grep nanggar
-rwxrwxrwx 1 root root 675M 2009-05-04 02:20 nanggar-alternate-i386.iso
-rwxrwxrwx 1 root root 675M 2009-05-04 03:26 nanggar-cdlive-i386.iso
-rwxrwxrwx 1 root root 334M 2009-05-20 18:22 .nanggar-cdlive-i386.iso.ThN6oe

$ dd if=nanggar-cdlive-i386.iso of=2nd-part bs=1M skip=334
$ mv nanggar-cdlive-i386.iso nanggar-cdlive-i386.iso.prev
$ mv .nanggar-cdlive-i386.iso.ThN6oe nanggar-cdlive-i386.iso
$ cat 2nd-part >> nanggar-cdlive-i386.iso
$ rsync -avP .
Why does it matter? Because we still need old, same parts from previous iso to prevent rsync redownload them again. But how to force rsync to know that old part was already downloaded? By putting them into the same iso of course.

Old iso consists of two parts: O1 and O2. New iso consists of two parts: N1 and N2. N1 has been downloaded into dotfile, while N2 is to be checked against O2, and we only need N2 vs O2 difference. So we need to create temporary iso, which consists of N1 (=dotfile) and O2, to enable rsync delta algorithm.

I hope this idea is clear enough.

No comments: