Tuesday, November 13, 2007

Jigdo dan rsync

Bila kita telah memiliki sebuah ISO image, lalu kita ingin mengambil ISO versi lebih baru, dan perbedaan antar ISO tersebut relatif sedikit, maka kita dapat memakai dua utilitas yang sangat membantu menghemat bandwidth (dan tentu saja waktu): jigdo dan rsync.

Contoh kasus yang dapat menggambarkan kedua utilitas tersebut:
a. ISO alternate Blankon2 (yang merupakan turunan Ubuntu 7.10)
ISO ini terdiri atas banyak file .deb, .udeb, dan beberapa file lain. Dengan memanfaatkan ISO sebelumnya yang telah di-mount loopback, maka proses pembangunan ISO berikutnya akan memanfaatkan file per file yang telah ada di ISO sebelumnya, dan mengambil sisanya dari server. Pada kasus ini jigdo dapat dipakai.

b. ISO desktop Blankon2 (live CD)
ISO ini terdiri dari satu buah file besar yang berisi image sistem pre-installed, yang akan di-mount loopback ketika di-boot dari CD. Ketika isi (paket-paket dan file-file) di dalam image tersebut berubah, maka jigdo tidak berdaya karena perbedaan tersembunyi dan baru terungkap setelah sistem dijalankan. Pada kasus ini rsync ternyata masih mampu membantu.

$ rsync -avz --progress --partial cdimage.blankonlinux.or.id::jahitan/daily-live/20071113/konde-desktop-i386.iso .
receiving file list ...
1 file to consider
konde-desktop-i386.iso
690331648 100% 585.21kB/s 0:19:11 (xfer#1, to-check=0/1)

sent 184360 bytes received 73517005 bytes 60634.61 bytes/sec
total size is 690331648 speedup is 9.37
Pada contoh di atas terlihat bahwa rsync meningkatkan efisiensi transfer data sampai 9x lebih.

3 comments:

Harry said...

wow, rsync memang keren.

Trims sharing infonya pak :)

msdarmawan said...

Pak, kalo sy donlot dvd iso repo, dan ternyata ada yg salah di dalamnya [md5sumnya beda], bisa nggak pake metode rsync atau jigdo untuk mengupdate isinya? kalo pake jigdo perintahnya gimana ya pak ? makasih...

andika said...

@msdarmawan: rsync pasti bisa dipakai untuk memperbaiki, kalau jigdo belum tentu bisa, karena jigdo sangat bergantung kepada ketersediaan file .jigdo dan .list yang sesuai dengan iso tersebut.

Untuk memakai jigdo, silahkan lihat http://wiki.ubuntu-id.org/BlankOn/Infrastruktur/Jigdo

ps: memakai rsync maupun jigdo untuk memperbaiki iso perlu free space sedikit lebih besar dari ukuran iso tersebut, walaupun katakanlah bagian yang rusak hanya 1% dari iso