current.jp.FreeBSD.org という計算機は, もちろん web や ftp 等のサービスを提供しているわけですが, 提供されている中身自体,つまり SNAPSHOTs の作成等もこの計算機 (もちろん 1 台です)でやっています. ここでは,この計算機の動作環境について簡単に説明します.
もちろん,FreeBSD を用いています.ただ,稼働させているバージョンについては, 過去からいくつかの変化がありました.
サービスを開始する(1999年9月)以前に, 試験的に(個人の計算機上で)運用していた際には, 当時の 4-current を用いていました. しかし,実際にサービスを運用することになった時点で「さすがに -current でサービス計算機を作るのは不安だ」という判断から, 当時の 3-stable 上で運用することになりました.つまり, 3-stable 上で 3-stable/4-current の SNAPSHOTs を作成していたことになります.
しかし,1999 年 10 月頭に -current へ入った signal 回りの変更によって, この状態をかえなければならない状態になります.というのも, 当時の 3-stable 上では 4-current の binary が実行できないため, SNAPSHOTs 作成ができなくなってしまったからです.数日後,4-current へ OS を変更することによって,無事元の SNAPSHOTs 作成ができるようになりました.
OS の version 変更,というのは,普通に考えれば,そう大変な作業ではありません. しかし,current.jp.FreeBSD.org が設置されている場所は,普段人がいない場所, であるため,全ての作業を完全にリモートで実行するか,現地に誰かが行く, という作業が必要になります.このため,1999 年 10 月の変更の後は, あまり大きな変更を行えない状態にありました.
時はかわって 2000 年 7 月, current.jp.FreeBSD.org を運用している計算機の更新作業が行われました. 更新の主な目的は,disk 容量の増加,新しい OS への変更 (その当時における最新の 5-current が用いられました)です.IPv6 サービスや, ISO image 提供など,この計算機更新によって, より多くのサービスを提供できることになりました. また,計算機の console を serial 側に変更することによって, 仮に reboot した場合でも,遠隔地から serial 経由で操作することにより, 稼働する OS の変更をやりやすくする,といった改善も行われました. 2000 年 10 月中旬に起きた「make release を実行すると, boot floppy 作成時に kernel が停止してしまう」問題の際にも, この serial console が活躍しました(本来は活躍しない方が良いわけですけども).
現在では,(たまたま) 2000 年 9 月下旬ころの 5-current が用いられています. しかし「-current でありながら,安定した version を使いたい」 という current.jp.FreeBSD.org の持つ矛盾を解消することは, とても難しい問題です.そもそも,現状が本当に安定しているかどうか, ということすらはわかりません.また,先の事例のように 「どうしても OS の version を変更しなければならない」 という状況になることも考えられます.今後も, 状況を見て適宜 OS の変更を行いつづけることになるでしょう.
OS 以外の各種ツールは,基本的に全て ports を用いてインストールされています. また,適宜 /usr/ports 以下を更新し,古くなった物は新しくしています. ちなみに,最近の 4-stable 以降では,weekly script で「古い ports がどれか」 をチェックしてくれる機構があります(default では無効ですので,利用する場合は, /etc/periodic.conf 等を用いて有効にする必要があります)ので, これを利用すると便利でしょう. 各種サービスを提供する際に用いられているツールは,以下の通りです.
もちろん,これらの構成は「現時点」のものです. これからも必要に応じて適宜 update,あるいは変更し続けることになると思います. 逆に,そうし続けなければ, 常に変化し続けている FreeBSD の SNAPSHOTs 作成はできないでしょう.