2010-04-30

「手把手」使用 zsync 抓取新版的 ubuntu iso 下載完成後自動比對 sum

你有舊版的安裝檔 ,比方 10.04 有 beta 或 rc 版 到目前的正式版,你就可以利用舊有的檔案,來減少你所抓取正式版的時間。

它的原理是比對舊有的檔案,如果檔案有部份符合新版的話,等比對結束時候符合的部份會另存新檔案 檔案.part ,剩餘的檔案在重網路上下載,下載完成後舊檔案更名為 檔案.zs-old 你不要時可以砍掉,而 檔案.part 會更改為你下載的檔案。

假設 rc 、 正式版各 600mb 比對有 50% 相符,用 zsync 比對結束後他會抓取缺少的部份 300mb ,抓取完後會比對 sum 是否正確,你就不用自己在比對一次;你沒舊檔案也可以使用此方法抓取檔案哦,差別只在要抓取整個檔案。



首先安裝 zsync 才能使用
sudo aptitude install zsync

這裡以 ubuntu-10.04-desktop-i386.iso 你可以用兩種方法,第一種:把舊檔案改為跟所要抓取的檔案名稱一樣,第二種:直接使用舊檔當成輸入,在輸出成你要的檔案

先到 網頁上 尋找 ubuntu-10.04-desktop-i386.iso.zsync ,在檔案上按滑鼠右鍵把連結 copy 起來等會用到。



第一種: 我把 lucid-desktop-i386.iso ﹙它是我之前抓的每日編譯的 rc 版﹚改為 ubuntu-10.04-desktop-i386.iso
mv lucid-desktop-i386.iso ubuntu-10.04-desktop-i386.iso

現在利用 zsync 來抓檔,方法為 zsync 網址,你剛有 copy 的連結可以在 終端機按 滑鼠中鍵shift + insert 鍵 貼上網址。
zsync http://ftp.cse.yzu.edu.tw/pub/Linux/Ubuntu/ubuntu-cd/10.04/ubuntu-10.04-desktop-i386.iso.zsync

可以看出來 Read ubuntu-10.04-desktop-i386.iso. Target 81.1% complete. 有 81.1% 檔案是相同的,它只會從網路上抓取剩餘的部份,抓好後比對 verifying download...checksum matches OK ,如不是 OK 請在重新執行一次 zsync 。



比對完成後會產生一個 ubuntu-10.04-desktop-i386.iso.part 的檔案,你在下載過程中網路斷線,下次再下載時它會先比對 ubuntu-10.04-desktop-i386.iso ,再比對 ubuntu-10.04-desktop-i386.iso.part ,最後才抓取差異部份。下載完成時 也會多個 ubuntu-10.04-desktop-i386.iso.zs-old 這是舊檔,不要可以刪除。



第二種方式: zsync 網址 -i 輸入 -o 輸出 比對完成後一樣會產生一個 part 檔,不同的是下載完成不會產生 zs-old 檔了。
zsync http://tw.releases.ubuntu.com/lucid/ubuntu-10.04-desktop-i386.iso.zsync -i lucid-desktop-i386.iso -o ubuntu-10.04-desktop-i386.good.iso



你也可以跨版本 desktop to alternate 版本,我們可以看出相同部份只有 4% ,因為兩種採取的封裝方法不一樣。



zsync 用來抓安裝檔,真的還蠻好用的,你也可以用 ubuntu to kubuntu or xubuntu 等等,還是 32Bit to 64Bit , CD to DVD 通通都可以,我想你也可以先抓 DVD 版本 自用,朋友電腦沒 DVD 你也可以用 DVD to CD 的各個版本,我想幾乎能不用下載囉。

這也不是完全沒缺點,我覺得有兩個缺點
  1. 在比對時蠻秏資源的 CPU 通常會維持 100% ,到比對結束後在下載就會恢復。
  2. 硬碟空間要足夠大,如果 DVD to DVD 就要差不多 8G 了。

最後可以去看 Ubuntu 10.04 LTS Features ,新版有那些地方不同。