jigdo をつかって Debian CD イメージをダウンロードする

jigsaw (糸鋸) ダウンロード、あるいは短く jigdo は、将来 Debian CD イメージを配布する主となる方法として考えられたものです。 現在のところシステムは動作していますが、ダウンロードマネージャアプリケーションがまだ完成していないため、快適に使うことができるものにはなっていません。


なぜ直接ダウンロードするより jigdo の方がよいのでしょうか?

なぜならば、速いからです。様々な理由から、通常の Debian アーカイブをミラーしているサイトより CD イメージをミラーしているサイトの方が遙かに少ないのです。この結果、CD イメージをミラーからダウンロードしようとした場合、それがあなたの所から遠いだけでなく、 特にリリース直後は過負荷になっている可能性が高くなります。

さらに、いくつかの種類のイメージは完全な .iso としてはダウンロードできません。我々のサーバに、 それを提供するだけの十分なスペースがないからです。

もちろん、「通常の」Debian ミラーは CD イメージをおいていません。それでは jigdo がどうやってそこからダウンロードするのかと言うと、jigdo は CD 中の全部のファイルを個別にダウンロードするのです。 次にダウンロードしたファイルを一つのファイルに集めて、CD イメージと全く同じものを作成します。 ただし、これらは裏で自動的に行われるので、あなたのすべきことは、 ダウンロードツールに処理する ".jigdo" ファイルの場所を教えることだけです。

jigdo のホームページに、更に詳しい情報が掲載されています。 jigdo の開発への協力者はいつでも大歓迎です。

jigdo を使ってイメージをダウンロードする手順を教えてください

  • jigdo-lite を含むパッケージをダウンロードします。jigdo-lite は jigdo のホームページから、GNU/Linux、Windows、Solaris の各プラットフォーム向けのものが提供されています。 パッケージには、jigdo-lite スクリプトが同封されています。 FreeBSD については、/usr/ports/ftp/jigdo からインストールするか、 pkg_add -r jigdo で入手してください。
  • jigdo-lite スクリプトを実行します。処理する ".jigdo" ファイルの URL を聞かれるので、それに答えます (好みに応じてコマンドラインから URL を与えることもできます)。
  • 下記の場所からダウンロードしたい「.jigdo」 ファイルを選び、その URL を jigdo-lite のプロンプトに入力します。 ひとつの「.jigdo」ファイルがひとつの「.iso」 CD/DVD イメージに対応します。
  • 初めて使う場合には、「Files to scan」と尋ねられたら、 単にリターンキーを押してください。
  • 「Debian mirror」と尋ねられたら、 「http://ftp.XY.debian.org/debian/」 と入力してください。ここで「XY」は、 2 文字の国コードです (たとえば、usdeuk などです。日本は jp です。 利用可能な ftp.XY.debian.org の一覧を参照してください)。
  • スクリプトの出力する指示に従ってください。 すべてが上手くいけば、スクリプトは作成したイメージのチェックサムを計算して、それがもとのイメージと同じであることを報告し、終了します。

この手順の詳細な説明は Debian jigdo mini-HOWTO をご覧下さい。この HOWTO には、jigdo の先進的な機能、例えば古い CD イメージを最新版にアップグレードする (新しいイメージの全体ではなく、 変更箇所のみをダウンロードする) などの説明も含まれています。

イメージをダウンロードして、CD に焼いた後は、インストールのための詳しい情報を見るようにしてください。

公式イメージ

公式の安定版 (stable)リリース用 jigdo ファイル

インストールの前に必ずドキュメントを一読してください。 インストール前にどれか 1 つだけ文書を読むのであればインストール Howto を読んでください。インストールプロセスを一通り説明しています。 その他の役立つ文書として以下のものがあります。

公式のテスト版 (testing)ディストリビューション用 torrent ファイル


.jigdo ファイルの中身を検索する

どの CD/DVD イメージに求めるファイルが入っていますか? この文章の後ろにある検索ボックスで .jigdo ファイルに書かれているファイルの一覧から検索することができます。 いくつかの単語で検索すれば、ファイル名の一部にマッチするに違いありません。 その結果を任意のアーキテクチャで絞るには、例えば「_i386」のように加えます。 全アーキテクチャ共通のパッケージを見るには、「_all」を加えます。

CD/DVD イメージにどんなファイルが入っていますか? もし任意の Debian CD/DVD に含まれるファイルの一覧が必要なら、 その CD/DVD イメージに対応した .jigdo ファイルをここで紹介する一覧の中から探して、 それぞれの URL の後にある「list contents」をクリックします。Debian .jigdo ファイル一覧


よくある質問

jigdo で proxy サーバを使うようにするにはどうすればいいのでしょう?

~/.jigdo-lite ファイル (または Windows 版の場合は jigdo-lite-settings.txt) をテキストエディタで開いて、"wgetOpts" で始まる行を探します。この行では、以下のオプションが使えます。

-e ftp_proxy=http://LOCAL-PROXY:PORT/
-e http_proxy=http://LOCAL-PROXY:PORT/
--proxy-user=USER
--proxy-passwd=PASSWORD

ここで、使っている proxy サーバにあわせて上記を適切な値に書き換えてください。 最後の二つのオプションは、proxy でパスワード認証を行っている場合に限り、必要になります。 オプションは、wgetOpts の行の最後の、'に追加してください。 オプションはすべて、この wgetOpts の行に一行で書く必要があります。

別の方法として、Linux では例えば ~/.bashrc/etc/environment ファイル中で http_proxy または ftp_proxy 環境変数を設定するようにしても OK です。

あ痛ぁ! スクリプトがエラーで落ちてしまいました。これまでダウンロードした何百 MB は無駄になってしまうんですか?

もちろん、「こういうことは起こってはならない」(tm) のですが、様々な理由から大きな ".iso.tmp" ファイルはすでに作成されているのに、jigdo-lite は問題を発見してダウンロードを再開するよう繰り返し伝えてくる、という状態になることがあります。 この場合、試せることが幾つかあります。

  • 単にリターンキーを押してダウンロードを再開してみてください。 たぶん一部のファイルがタイムアウトやその他の一時的なエラーでダウンロードできなかったのでしょう。 再試行で不足するファイルをダウンロードさせられるかもしれません。
  • 別のミラーを試してみてください。一部の Debian ミラーサイトは更新の同期が多少狂っています。 別のミラーは、あなたが指定したミラーではすでに消されたファイルをまだ持っているかもしれませんし、 指定したミラーにまだない更新済みのファイルを持っていることもあります。
  • イメージの不足部分を rsync を使って回復してみてください。まず、ダウンロードしようとしているイメージの正しい rsync URL を見つける必要があります。rsync イメージアクセスを提供しているサーバを安定版 (stable)テスト版 (testing) から選び、正しいパスとファイル名を決めます。ディレクトリの内容一覧は、 rsync rsync://cdimage.debian.org/debian-cd/ コマンドで得られます。
    次に、jigdo-lite の一時ファイルをリネームして ".tmp" 拡張子を削除し、リモートの URL とローカルのファイル名の両方を以下のように rsync に与えます。 rsync rsync://server.org/path/binary-i386-1.iso binary-i386-1.iso
    rsync の --verbose--progress スイッチで状態情報を得られます。また、--block-size=8192 で速度が改善されるかもしれません。試してみてください。
  • これらすべてが失敗したとしても、ダウンロードしたデータはまだ失われたわけではありません。 Linux では、.tmp ファイルを loop ファイルシステムとしてマウントすることで、 それまでにダウンロードしたファイルにアクセスできますし、 またそれを新しい jigdo ファイルからイメージを作成する際に再利用することもできます。 (例えば、ダウンロードに失敗したのが毎週作成のスナップショットだった場合、 最新のスナップショットを作成する際に、このファイルを利用できます)。 具体的には、まず失敗したダウンロード結果の置かれたディレクトリで root になって、以下のコマンドを実行してください。 mkdir mnt; mount -t iso9660 -o loop *.tmp mnt
    次に、新規のダウンロードは別のディレクトリを使って行い、"Files to scan" プロンプトがでたときに mnt ディレクトリを指定してください。