警告! この翻訳は古過ぎるため、原文を御覧ください。

push ミラー

push ミラーはミラー手法のひとつで、 アーカイブの変更がミラーに伝わる時間を最小にします。 マスターサーバはトリガ機構を使い、 更新が必要であることをクライアントに速やかに知らせます。

push ミラーでは、上流・下流の管理者が情報のやり取りを しなければならないので、ちょっとだけ設定が面倒です。利点は、 アーカイブが更新された段階で、上流側からミラー処理を開始できることです。 これによってアーカイブの変更は非常にすばやく伝播します。

手法の詳細

まず ssh に関する知識から。 ssh は別のマシンのアカウントへの接続を安全に行う手法です。 パスワードが平文で渡らないようにするだけでなく、 いったんあるマシンへの接続が行われれば、 基本的に将来も同じマシンへ接続していることが保証されます。 これによって man-in-the-middle 攻撃が防げます。

ssh の機能を用いると、あなたのマシンのユーザは、 別のマシンのユーザの公開鍵を自分の承認鍵ファイルへ登録できます。 デフォルトでは、その別のマシンのユーザ (受け取った公開鍵に対応する秘密鍵を持っている人) は、 これによってそのアカウントへのログイン権限を持つことになります。 しかし、承認鍵ファイルにテキストを追加すれば、 その鍵を使った人がアカウントで行えることを制限もできます。

よってミラーの下流側を守るため、上流側から与えられた鍵にテキストを追加し、 アカウントにアクセスしてくる人のできることをひとつに、 すなわちミラー更新プログラムを起動すること、に限るべきです。 もし誰か (悪意を持った第三者) が鍵を破ったとしても、 あなたのマシンでできることはミラープログラムの起動にとどまります。 またロックファイルが使われているので、 このプログラムをいくつも起動される心配もありません。

上流では rsync を設定して、指定した領域をミラーできる人を、 ユーザ名とパスワードによって制限します。これらは /etc/passwd とはまったく別のものですので、 push サーバが他人からアクセスされる心配はありません。 この設定では、ユーザ名とパスワードは平文です。 しかし、第三者ができることは Debian をそのサイトから ミラーすることだけですから、これはあまり問題にはならないでしょう。

push ミラーのクライアントを設定する

この設定を行うには、root ではない通常のユーザを用いてください。 ミラーの上流から受け取った ssh 公開鍵の内容を ~<user>/.ssh/authorized_keys に加えてください。

FTP アーカイブの push クライアントになるには、私たちが標準としている ftpsync スクリプトセットを用いてミラーを設定する必要があります。 ftpsync.conf.sample を ftpsync.conf にコピーして、 ミラーの上流から提供された情報をもとにあなたのシステムに合わせて書き換えてください。

push-primary クライアントサイト

push-primary クライアントミラー (Tier-1 ミラーとも呼ばれます) とは、 私たちのマスタアーカイブからのミラーを許可されている push クライアントです。

あなたのサイトの回線が (バンド幅とバックボーンへの接続の良好性の両面で) 非常に優れており、 またあなたのサイトから別のサイトへのミラーを行なわせてもよければ、 私たちに連絡してくれれば、あなたのサイトを push ミラーにするか考慮します。 しかし、あまり早い対応は期待しないでください。すでに私たちは かなりたくさんの Tier-1 ミラーを保有しているからです。

あなたのサイトを FTP アーカイブの push-primary とするにあたっては、 そのサイトに以下のファイルのいずれかが必要です。

あなたのサイトを WWW ページ群の push-primary とするにあたっては、 そのサイトに www-master.debian.org で使用されている SSH2 公開鍵が必要です。

push ミラーのサーバを設定する

Debian アーカイブのサイズは大きく、またミラーも多いため、 マスタアーカイブを全ミラーの上流ソースとすることは (つまり push サーバとすることは) 不可能です。 負荷は世界中に散らばっている多数の push ミラーに分散させるほうが はるかに効率的です。

push ミラーのサーバは、マスタアーカイブ (あるいは別の push サーバ) の push クライアントになり、 Debian アーカイブ全体のミラーを保有していなければなりません。

push サーバの設定に関する詳細 を見てください。