Vine Linux Magazine
zsync で Vine Linux インストールイメージの差分ダウンロード

筆者: iwaim
発行日: 2011,08,07

Vine Linux 6 のベータ版から、zsync を使ったインストールイメージの差分ダウンロードができるようになっています。zsync を使えば、Vine Linux 6.0 の CD と DVD のインストールイメージを効率良く取得できたり、すでに Vine Linux 6 ベータ版のインストールイメージを持っている人が、Vine Linux 6.0 のインストールイメージを効率良く取得することができます。

zsync とは

zsync は、Colin Phippsさんによって開発されたファイル転送プログラムです。rsync と同様のアルゴリズムを採用しています。rsync はデータの同期を目的として設計されていますが、zsync はファイルの配布を目的として設計されています。

zsync を使うことで、ファイルの新しい差分のみをダウンロードすることができるので、日々更新される ISO イメージなどのファイルのダウンロードに効果を発揮します。

zsync は、Vine Linux 5 以降の VinePlus の plus カテゴリで提供されていますので、Synaptic などを使って容易にインストールすることができます。以降、zsync はすでにインストールしているものとして解説を続けます。;-)

使い方

zsync を使ってファイルの差分をダウンロードする方法を実例を挙げて簡単に解説します。zsyncmake によるコントロールファイル (.zsync ファイル) の作成については解説しませんが、manpage や README などを読めば簡単にわかると思います。

Vine Linux 6 RC 版の DVD イメージを基に Vine Linux 6.0 を入手する

Vine Linux ユーザの皆さんの中には、Vine Linux 6 RC 版のインストールイメージを入手し、開発を手伝ってくださった方も多いのではないでしょうか。そのような方々は、昨日リリースされた Vine Linux 6.0 のインストールイメージをより効率的に入手することができます。

Vine Linux 6 RC2 の DVD イメージ i686 版をお持ちの方は、お好みの端末で次のコマンドを実行してみてください。実行するディレクトリは DVD イメージのファイルが置かれている場所です。

$ zsync -i Vine60rc2-DVD-i686.iso http://ftp.jaist.ac.jp/pub/Linux/Vine/Vine-6.0/IMAGES/Vine60-DVD-i686.iso.zsync

はい。これで終わりです。DVD イメージを全部ダウンロードするよりもかなり速い時間でダウンロードが終了したと思います。私は手元に Vine60b2-DVD-i686.iso しかなかったのでそちらを使ってやってみました。

$ zsync -i Vine60b2-DVD-i686.iso http://ftp.jaist.ac.jp/pub/Linux/Vine/Vine-6.0/IMAGES/Vine60-DVD-i686.iso.zsync
#################### 100.0% 577.1 kBps DONE      

reading seed file Vine60b2-DVD-i686.iso: ******(略)*****Read Vine60b2-DVD-i686.iso. Target 75.8% complete.      ******
downloading from http://ftp.jaist.ac.jp/pub/Linux/Vine/Vine-6.0/IMAGES/Vine60-DVD-i686.iso:
#################### 100.0% 1581.7 kBps DONE      

verifying download...checksum matches OK
used 1113714688 local, fetched 355550137
$ 

checksum についても出力結果をみれば判るように、zsync がチェックしてくれているので安心です。(心配な方は Vine60-DVD-i686.iso.sha1sum を入手してチェックしましょう)

処理の流れは簡単に書くと次のようになります。

  1. zsync のコントロールファイルをダウンロードする
  2. -i オプションで渡した基となるファイルを解析し、ダウンロードしたいファイルと合致している部分を求める
  3. 差分のみをダウンロードし、1つのファイルとする
  4. checksum を計算し、整合性チェックを行う

私の場合はベータ版のイメージだったため、75.8% しか一致していませんでしたが、それでも非常に効率良くダウンロードできました。RC版のイメージをお持ちの方はもっと効率的にダウンロードできたのではないでしょうか。

DVD イメージを基に CD イメージを入手する

Vine Linux 6.0 の場合、同一アーキテクチャであれば、DVD 版で提供されている RPM パッケージ CD 版で提供されている RPM パッケージには、同じパッケージ名であれば同じファイルが提供されています。そのため、すでに DVD イメージをお持ちの方が zsync を使えば CD イメージも効率良くダウンロードすることができます。もちろん、その逆でも同様です。

実際のコマンド例は……RC版の場合の例を参考に考えればいいので、特にいりませんよね? :-p (あるいは ML やフォーラムで質問してください!)