2011,08,07 iwaim zsync で Vine Linux インストールイメージの差分ダウンロード <description> Vine Linux 6 のベータ版から、<a href="http://zsync.moria.org.uk/">zsync</a> を使ったインストールイメージの差分ダウンロードができるようになっています。zsync を使えば、Vine Linux 6.0 の CD と DVD のインストールイメージを効率良く取得できたり、すでに Vine Linux 6 ベータ版のインストールイメージを持っている人が、Vine Linux 6.0 のインストールイメージを効率良く取得することができます。 <h2>zsync とは</h2> <p><a href="http://zsync.moria.org.uk/">zsync</a> は、Colin Phippsさんによって開発されたファイル転送プログラムです。rsync と同様のアルゴリズムを採用しています。rsync はデータの同期を目的として設計されていますが、zsync はファイルの配布を目的として設計されています。</p> <p>zsync を使うことで、ファイルの新しい差分のみをダウンロードすることができるので、日々更新される ISO イメージなどのファイルのダウンロードに効果を発揮します。</p> <p>zsync は、Vine Linux 5 以降の VinePlus の plus カテゴリで提供されていますので、Synaptic などを使って容易にインストールすることができます。以降、zsync はすでにインストールしているものとして解説を続けます。;-)</p> <h2>使い方</h2> <p>zsync を使ってファイルの差分をダウンロードする方法を実例を挙げて簡単に解説します。zsyncmake によるコントロールファイル (.zsync ファイル) の作成については解説しませんが、manpage や README などを読めば簡単にわかると思います。</p> <h3>Vine Linux 6 RC 版の DVD イメージを基に Vine Linux 6.0 を入手する</h3> <p>Vine Linux ユーザの皆さんの中には、Vine Linux 6 RC 版のインストールイメージを入手し、開発を手伝ってくださった方も多いのではないでしょうか。そのような方々は、昨日リリースされた Vine Linux 6.0 のインストールイメージをより効率的に入手することができます。</p> <p>Vine Linux 6 RC2 の DVD イメージ i686 版をお持ちの方は、お好みの端末で次のコマンドを実行してみてください。実行するディレクトリは DVD イメージのファイルが置かれている場所です。</p> <pre class="screen"> $ zsync -i Vine60rc2-DVD-i686.iso http://ftp.jaist.ac.jp/pub/Linux/Vine/Vine-6.0/IMAGES/Vine60-DVD-i686.iso.zsync </pre> <p>はい。これで終わりです。DVD イメージを全部ダウンロードするよりもかなり速い時間でダウンロードが終了したと思います。私は手元に Vine60b2-DVD-i686.iso しかなかったのでそちらを使ってやってみました。</p> <pre class="screen"> $ 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 $ </pre> <p>checksum についても出力結果をみれば判るように、zsync がチェックしてくれているので安心です。(心配な方は Vine60-DVD-i686.iso.sha1sum を入手してチェックしましょう)</p> <p>処理の流れは簡単に書くと次のようになります。</p> <ol> <li>zsync のコントロールファイルをダウンロードする</li> <li>-i オプションで渡した基となるファイルを解析し、ダウンロードしたいファイルと合致している部分を求める</li> <li>差分のみをダウンロードし、1つのファイルとする</li> <li>checksum を計算し、整合性チェックを行う</li> </ol> <p>私の場合はベータ版のイメージだったため、75.8% しか一致していませんでしたが、それでも非常に効率良くダウンロードできました。RC版のイメージをお持ちの方はもっと効率的にダウンロードできたのではないでしょうか。</p> <h3>DVD イメージを基に CD イメージを入手する</h3> <p>Vine Linux 6.0 の場合、同一アーキテクチャであれば、DVD 版で提供されている RPM パッケージ CD 版で提供されている RPM パッケージには、同じパッケージ名であれば同じファイルが提供されています。そのため、すでに DVD イメージをお持ちの方が zsync を使えば CD イメージも効率良くダウンロードすることができます。もちろん、その逆でも同様です。</p> <p>実際のコマンド例は……RC版の場合の例を参考に考えればいいので、特にいりませんよね? :-p (あるいは ML やフォーラムで質問してください!)</p>