Debian アーカイブミラーの構築

ミラーすべきかどうか

私たちはすべての新しいミラーに感謝しますが、 ミラーメンテナ志望の方々は、 自身のミラーを開始する前に以下の質問に答えられるかどうか確認してください。

ミラーの対象

メインのミラーページにミラーできるアーカイブのリストがあります。

ミラーサイズについてのより正確な情報については、ミラーサイズ ページを参照してください。

debian-security/ アーカイブには Debian セキュリティチームによりリリースされる、セキュリティ更新が置かれます。 これは誰しも関心をもつ対象となるでしょうが、セキュリティ更新は散発的に起こるので、 最新を保つのに頻繁なミラー処理 (あるいは push ミラー) が要求されるため、推奨しません。Debian では、代わりに security.debian.org の高い可用性を保つのにあらゆる努力をします。

ミラーのサイズについての正確な情報については、ミラーサイズのページを見てください。

どこからミラーするのか

ftp.debian.org が Debian パッケージの正当な場所で、 そこからミラーするのがベストだと考える人が多くいますが、 これは正しくありません

ftp.debian.org は内部の Debian サーバから更新しているサーバのうちの一つに過ぎません。 そのアドレスは単一のサーバに目下割り当てられており、主に後方互換性のためにまだ存在します。

公式ミラーは、ここからミラーするのに適切な場所であることを意味します。

ミラー全リストにあるサーバのうち、 Type: Push-PrimaryType: Push-Secondary タグがあるものがミラー元として適切です。 その中からネットワーク的、地理的に近いものを使用してください。

ミラー処理がなされている限り、異なる Push-Primary のミラーサーバの間に実質的な違いはありません。言い換えれば、 多くの人が ftp.debian.org を使う (残念ながらそうなっています) と、 提供された帯域を活かせずに無駄にしているということになります。

米国のミラー管理者は、ftp.us.debian.org (Push-Primary ミラーである、米国での公式ミラーアドレス) からミラーすべきです。 ただし、このアドレスは複数のマシンのラウンドロビンのエイリアスでもあるので、 そのうちのどれが最適かを確認して、その特定の1つからミラーするのが普通です。
こうすることの良い面は、2段階の rsync を行うとの失敗のリスクを 避けられることです (それぞれの段階は、 その時間差の間に、競合状態を引き起こすことになる異なるデータを持つ 異なるマシンを見に行く可能性があります)。 悪い面は、このことでパフォーマンスがさまざまなな単一サイトに集中する というものですが、これは現時点では一般に私たちのミラーネットワークに つきものです。

どうやってミラーするのか

推奨するミラー方法は、次の2種類の形式で利用可能な、ftpsync というスクリプトセットを使用する方法です。

強く推奨するミラー用のプロトコルは rsync です。

wget やその他の FTP ベースのミラーツールを用いて Debian をミラーするのは控えるようお願いします。 これらのツールでも可能なように思われるかもしれませんが、 これらには様々な問題 (ハードリンクを検出できない、部分的なミラーをするのが大変、など) があります。

匿名 rsync

アーカイブのミラーには ftpsync スクリプトセット の使用を推奨します。中にある README ファイルに従ってミラーを構築してください。

あなた自身のスクリプトを使う場合、サポートしなければならない 最低限の機能は次のとおりです:

部分的なミラー

既に Debian アーカイブのサイズは巨大になっているので、必要な一部だけのミラーをしたいという人もいます。 何か除外する場合は、アーキテクチャを除外してください。

推奨の ftpsync の場合は、ARCH_EXCLUDE 変数を編集することで可能になります。

project/, doc/ その他のサブディレクトリについてはできるだけ除外しないようにしてください。 これらは通常、サイズは小さく、それでいてユーザにとって有益です。 特に、project/trace はミラーに問題があった場合非常に役に立ちます。

その他の専用スクリプトも使用することはできますが、通常は不要でしょうし、 公式ミラーに使うのはお勧めできません。

いつミラーするのか

メインのアーカイブは1日4回更新されます。 ミラーは通常 3:00、9:00、15:00 及び 21:00 (ともに UTC) 頃に更新を始めますが、 これは決まっているわけではなく、これに執着すべきでもありません。

ミラー更新はメインのアーカイブミラーの数時間後に行うべきです。 ミラー元のサイトが project/trace/ サブディレクトリにタイムスタンプファイルを残しているか確認してください。 タイムスタンプファイルはそのサイトのような名前で、 その内容は最後のミラー更新完了時刻です。(安全を見て) これから数時間とってミラーしてください。

毎日のミラー作業を自動化するのに最も簡単なのは cron です。詳細は man crontab してください。

注: あなたのサイトが push 機構を採用する場合にはこの項目はまったく気にする必要がありません。

push トリガーによるミラー

push ミラーとは、私たちが開発した、 アーカイブへの変更がミラーに行き渡るまでの時間を最小にとどめるミラー方法です。 上流のミラーが SSH トリガーを用いて下流のミラーに更新を開始させます。 データを押し込むこと (push)ができるのは、通常、 変数データを使用しない安全なトリガー (引き金) のみです。したがって、 ミラープロセスの残りの部分は、cron ジョブのような単なるpullとなります。

push 型のミラー作業は (ftp.us.debian.org のように DNS ラウンドロビンの別名となっているような場合に)、 複数のサーバを同期させ続けるのに必要です。また、私たちは第 1 層、 第 2 層のミラーに対してこれを使用します。 ただし、この方法は準備にやや手間がかかるので 私的なミラーで広くは行われていません。

この仕組みについて、さらに突っ込んだ説明や、どうして安全なのか、 push ミラーの構築方法については、完全な説明を参照してください。

追加の推奨設定

Debian ミラーを HTTP から利用できるようにする場合は、Apache の設定の <Directory /path/to/your/debian/mirror> ブロック内に以下を加えてください (恐らく Apache を使っているでしょう)。 /path/to/your/debian/mirror には実際にミラーを置いているディレクトリが入ります:

   Options +Indexes +SymlinksIfOwnerMatch
   IndexOptions NameWidth=* +SuppressDescription

これによりディレクトリインデクスが有効になり、symlink 追跡が効くようになります。ディレクトリインデクスでファイル名が切られなくなり、 (ほとんど存在しない) 説明は表示されなくなります。

Apache 1.3.x においては、以下のオプションを追加することもできます。

   DirectoryIndex .

このオプションは Apache 2.x では追加しないでください。

ミラーリストにミラーを追加するには

ミラーが構築できたら、Debian に登録してミラーリストに追加してもらうようにしてください。手続きは簡単なウェブフォームから行うことができます。

問題や疑問があれば、mirrors@debian.org 宛にお願いします。