Debian CD イメージのミラーサイトになるには

Debian CD イメージのミラーサイトになるには、 インターネットへの確実な常時接続ができる Linux か Unix 系のマシンが必要です。Debian CD のミラーサイトには、様々なサイズの CD や DVD 用の .iso イメージ、jigdo 用のファイル (.jigdo.template)、BitTorrent ファイル (.torrent) と各イメージの MD5 チェックサム (MD5SUMS*) が置かれます。


マスターサイト

マスターサイトの URL は、以下に示しています - しかし、 可能ならより近くにある他のミラーサイトからミラーするよう考慮してください (ミラーリスト: HTTP/FTPrsync)。 リリース時期が近づくと、マスターサイトへの接続が制限されるかもしれません。

また、これらのディレクトリには、 非常に大量のデータが格納されているので注意してください。 一部のファイルを除外してサイズを減らすには、後述のセクションを読んでください。

HTTP/FTP を使ったミラーリングは推奨されません

ミラーの更新に FTP や HTTP を使うべきではありません。 これらの転送方法は非常に大きなファイルサイズが原因で、高い確率で失敗します。

さらに、HTTP と FTP にはダウンロードしたデータの完全性を検査する方法がないので、 ダウンロードの中断やデータの汚染を見落としがちです。

rsync を使ったミラーリングなら許容範囲です

rsync プログラムは、 ミラーリングに適したソリューションです。後に示す Debian 固有のミラーリングソリューションよりはやや効率が落ちますが、設定はより簡単です。 さらに、すべてのファイルが正しく転送されることが保証され、ファイルデータ同様、 メタデータ (タイムスタンプなど) も保持されます。

--include--exclude オプションの例は、ミラーからファイルを除外するのセクションを見てください。rsync ミラーのリストは別のページにあります。

最低限、オプション --times --links --hard-links --partial --block-size=8192 を使用してください。これにより、変更 時間、シンボリックリンクおよびハードリンクが保持され、ブロックサイズに 8192 バイトが使用されます (CD イメージに最適です)。変更時間とサイズが同 じなら、rsync はファイルをそのままにするため、 --times は事実上必須です。

jigdo-lite でのミラーリングは非推奨です

最近のバージョンの jigdo-lite プログラムは、複数イメージの一括ダウンロードをサポートしています。しかし、Debian CD のミラーを作成するのに jigdo-lite の使用はお薦めしません。 代わりに jigdo-mirror を使ってください。

jigdo-mirror を使ったミラーリングがお薦めです

実際には、jigdo-mirror を使って .iso ファイルをミラーし、その後で (.jigdo.template ファイルなど、他の種類のファイルもミラーしたければ) ディレクトリで rsync を実行して残りのものを取得することになります。このページにあるスクリプトは、 このような設定をする際に役立つと思います。

多くの人が「通常の」 Debian ミラー (debian/) を保守してい ます。あるいは、近くにそのようなミラーがあります。これはすなわち、CD イメージに含まれる .deb をすでに持っているということです。すると、なぜ 同じファイルを CD イメージに使えないのか? という明らかな疑問がわきます。

jigdo-mirror は「普通の」ミラーのファイルといくつか追加の jigdo テンプレートファイルを使用して Debian CD イメージを生成することを可能にするプログラムです。

まず最初に、jigdo テンプレートファイルが必要です。リンクは、jigdo の情報ページを見てください。 イメージを作成したい各アーキテクチャ用のファイルを取得してください。

プログラムを設定するため、~/.jigdo-mirror ファイルを作成します。これは一例です。

jigdoDir="/where/you/keep/mirrors/debian-cd/current/jigdo"
imageDir="/where/you/keep/mirrors/debian-cd/current/images"
tmpDir="/where/you/keep/mirrors/debian-cd/current/images"
debianMirror="file:/where/you/keep/mirrors/debian"
include='i386/|sparc/|powerpc/|source/'; exclude='-1\.'

変数 includeexclude はイメージを作成したいアーキテクチャの一覧を含んでいます (正規表現)。 さらに詳しい情報については、jigdo-mirror のマニュアルページかソース自体を見てください (多くのコメントがついたシェルスクリプトです)。

設定が終わったら、jigdo-mirror を実行するだけで勝手にすべてを実行してくれます。 このコマンドは出力が多く、おそらく時間もかかるので、それに対処する準備 をしておいた方がよいでしょう (screen の中で実行する、出力をファイルに リダイレクトするなど)。

プッシュミラーになるには

新しいイメージが利用可能になったときには、 マスターサイトはそのミラーにメッセージを送信して直ちに更新を開始させることができます。 この方法は各ミラーが次回の更新までの間に、新しいデータを「プル」してくるのではなく 「プッシュ」されるので、新しいイメージのリリースを素早く伝搬させられます。

あなたのミラーをこの更新システムの一部にしたいのであれば、このページを読んでください。

ミラーからファイルを除外する

Debian CD のミラーに必要なストレージの総量を減らすために、 一部のファイルをミラーから除外できます。以下では rsync のコマンドラインオプションについて説明していますが、 ミラーリングに別のツールを使っていても役に立つと思います。rsync では、--include--exclude オプションの出現順が考慮され、ファイルパターンにマッチする最初のオプション によってファイルを含むか否かが決定されます。

  • ソースコードを除外する: --exclude=source/
    これは、ソースコードを含むイメージがミラーされるのを防ぎます。 あるサーバにおいて GPL の下でライセンスされたプログラムのバイナリを提供し、 同じサーバにおいてそのプログラムのソースコードを提供しないのは不適切だ、 と考える人もいるので注意が必要です。
  • フルサイズのイメージを除外する: --include='*businesscard*.iso' --include='*netinst*.iso' --exclude='*.iso'
    全アーキテクチャで、フルサイズの CD/DVD イメージ一式をすべて除外します。 しかし、名刺サイズとネットインストールの .iso イメージはミラーします。これらの小さいイメージは、常にミラーするようおすすめします。 サイズが小さいこともあって、これらは非常に便利です!
  • 非 i386 アーキテクチャのフルサイズイメージを除外する: --include='*businesscard*.iso' --include='*netinst*.iso' --include='i386/**.iso' --exclude='*.iso'
    上と同じですが、i386 アーキテクチャ用の CD/DVD はすべて含みます
  • i386 用 CD の 1 から 3 を除いて、 フルサイズのイメージを除外する: --include='*netinst*.iso' --include='i386/**-[1-3].iso' --exclude='*.iso'
    DVD や片面 2 層 DVD のイメージまで入れてしまうと、i386 用のイメージ全部ではまだ容量が大きいかもしれません。このオプション設定では、 ネットインストールイメージと i386 用の CD の最初の 3 枚を除いたすべての .iso イメージを除外します。
  • i386 以外の全アーキテクチャを除外する: --exclude=alpha/ --exclude=arm/ --exclude=hppa/ --exclude=hurd/ --exclude=ia64/ --exclude=m68k/ --exclude=mips/ --exclude=mipsel/ --exclude=powerpc/ --exclude=s390/ --exclude=sh/ --exclude=sparc/
    i386 用のファイル一式だけを含み、他のアーキテクチャ用のあらゆる .jigdo.iso ファイルを含みません。

.iso イメージの命名規則と必要なサイズ

様々な種類の .iso イメージは、 ミラーの種類を制限可能にするため、名前で区別するようになっています。

  • *-businesscard.iso: サポートされているアーキテクチャそれぞれ 1 イメージにつき 50 MB です。
  • *-netinst.iso: 各アーキテクチャそれぞれ 1 イメージにつき 110 MB です。
  • *-dvd.iso (単層 DVD): i386 用にのみ複数のイメージがあり、それぞれ最大 4482 MB です。 sarge では i386 イメージの累計サイズが約 9000 MB です。
  • *-dldvd.iso (片面 2 層 DVD): 個別のイメージが最大 8106 MB なのを除いて上と同じです。 sarge では .iso イメージは利用できません。jigdo ファイルのみになります。
  • *.iso: 以上のパターンに当てはまらない .iso ファイルは、すべて CD イメージです。各アーキテクチャ毎に複数のイメージがあり、 それぞれ最大 650 MB です。すべてのイメージとアーキテクチャの累計は、Debian の完全なミラーのサイズと等しくなります (これを書いている時点で 100 GB です)。

私たちの一覧にミラーを登録する

あなたの CD イメージミラーをより多くの人にとって役に立つものとするために、こちらこちらのようなミラー一覧に登録できます。 しかし、フルイメージは非常に大きなファイルなので、 1 日あたり何ギガバイトものネットワークトラフィックが流れる原因となるかもしれません。

ミラー申請フォーム (CDImage-* フィールドが重要であることに注意してください) か、e-mail を debian-cd@lists.debian.org に送ることで自分のミラーを登録できます。

新しい CD イメージミラーをお待ちしています。ぜひご協力を!