Logo address

インストールと実験

目次

2005/05/17 改訂
2004/10/17 改訂
2003/02/20

注意: 現在では fossil は Plan 9 の標準ファイルシステムになっている。起動の方法は、他のファイルシステムに依存しないで、独自に立ち上がるようになっている。それに従って設定の方法もここに述べた方法から変化している。現在の方法に関して、時間を見つけて追加したい。
(2007/08/27)

fossil が発表されたので、まず最初に fossil を家庭にある Plan 9 端末にインストールしてみることにした。既に venti と vac の組による過去の記録があったが、この際に捨てることにした。つまり完全に新たに venti + fossil のシステムを構築しなおすことにしたわけである。以下はその記録である。

準備

領域の確保

筆者の Plan 9 端末はいろいろな OS と混在している。/dev/sdD1 に 21GB の空き領域を作成できたので、ここを使用することにした。
term% disk/fdisk /dev/sdD1/data
cylinder = 8225280 bytes
>>> p
   p1                     0 513         (513 cylinders, 3.92 GB) HPFS
 * p2                   513 2051        (1538 cylinders, 11.78 GB) PLAN9
   empty               2051 4865        (2814 cylinders, 21.55 GB)
>>> a p3 2051 4865
>>> p
   p1                     0 513         (513 cylinders, 3.92 GB) HPFS
 * p2                   513 2051        (1538 cylinders, 11.78 GB) PLAN9
'  p3                  2051 4865        (2814 cylinders, 21.55 GB) EMPTY
>>> t p3 PLAN9
>>> w
>>> p
   p1                     0 513         (513 cylinders, 3.92 GB) HPFS
 * p2                   513 2051        (1538 cylinders, 11.78 GB) PLAN9
   p3                  2051 4865        (2814 cylinders, 21.55 GB) PLAN9
>>>
>>> q
Plan 9 パーティションを2個とると、あとからとった方は /dev/sdD1/plan9.1 として表示される。
term% ls -l /dev/sdD1
--rw-r----- S 0 arisawa arisawa    10486784 Sep 26 07:59 /dev/sdD1/9fat
--rw-r----- S 0 arisawa arisawa           0 Sep 26 07:59 /dev/sdD1/ctl
--rw-r----- S 0 arisawa arisawa 40020664320 Sep 26 07:59 /dev/sdD1/data
--rw-r----- S 0 arisawa arisawa  4145367552 Sep 26 07:59 /dev/sdD1/fs3
--rw-r----- S 0 arisawa arisawa  8335906304 Sep 26 07:59 /dev/sdD1/fs4
--rw-r----- S 0 arisawa arisawa  4219536384 Sep 26 07:59 /dev/sdD1/ntfs
--rw-r----- S 0 arisawa arisawa 12650480640 Sep 26 07:59 /dev/sdD1/plan9
--rw-r----- S 0 arisawa arisawa 23145937920 Sep 26 07:59 /dev/sdD1/plan9.1
-lrw------- S 0 arisawa arisawa           0 Sep 26 07:59 /dev/sdD1/raw
--rw-r----- S 0 arisawa arisawa   158720000 Sep 26 07:59 /dev/sdD1/swap
ここに fs3fs4/dev/sdD1/plan9 のなかのサブパーティションである。(各々第3版と4版のファイルが置かれている。)
/dev/sdD1/plan9.1 に以下のように venti と fossil ようのサブパーティション(arenaisectfossil)を作成した。この中の empty 0 2 はダミーである。isect0 から始めると文句を言われる。
term% disk/prep -r /dev/sdD1/plan9.1
  empty                  0 2           (2 sectors, 1.00 KB)
  isect                  2 1048578     (1048576 sectors, 512.00 MB)
  fossil           1048578 3145730     (2097152 sectors, 1.00 GB)
  empty            3145730 13631492    (10485762 sectors, 5.00 GB)
  arena           13631492 45206910    (31575418 sectors, 15.05 GB)
>>> q
term%
isect のサイズは、CD-ROM へのバックアップを採りやすいように決めればよい。足らなくなれば後で追加できる。
fossil に必要なサイズは大きくはない。これは単なる一時的な書き込みバッファである。後に述べる fossil console から snap -a でバッファ内データを venti に送ればバッファはクリアできる。しかしある程度大きくとらないと、現在の kfs のデータを fossil にコピーするときに不便である。(筆者は大量のデータを kfs に抱えているので、何回か小分けして venti に移した。)
結果は次のとおり。
term% ls -l /dev/sdD1*
--rw-r----- S 0 arisawa arisawa    10486784 Sep 26 07:59 /dev/sdD1/9fat
--rw-r----- S 0 arisawa arisawa 16166614016 Sep 26 07:59 /dev/sdD1/arena
--rw-r----- S 0 arisawa arisawa           0 Sep 26 07:59 /dev/sdD1/ctl
--rw-r----- S 0 arisawa arisawa 40020664320 Sep 26 07:59 /dev/sdD1/data
--rw-r----- S 0 arisawa arisawa  1073741824 Sep 26 07:59 /dev/sdD1/fossil
--rw-r----- S 0 arisawa arisawa  4145367552 Sep 26 07:59 /dev/sdD1/fs3
--rw-r----- S 0 arisawa arisawa  8335906304 Sep 26 07:59 /dev/sdD1/fs4
--rw-r----- S 0 arisawa arisawa   536870912 Sep 26 07:59 /dev/sdD1/isect
--rw-r----- S 0 arisawa arisawa  4219536384 Sep 26 07:59 /dev/sdD1/ntfs
--rw-r----- S 0 arisawa arisawa 12650480640 Sep 26 07:59 /dev/sdD1/plan9
--rw-r----- S 0 arisawa arisawa 23145937920 Sep 26 07:59 /dev/sdD1/plan9.1
-lrw------- S 0 arisawa arisawa           0 Sep 26 07:59 /dev/sdD1/raw
--rw-r----- S 0 arisawa arisawa   158720000 Sep 26 07:59 /dev/sdD1/swap
term%

arena のフォーマット

必要な領域を確保すれば、最初に venti の実行に必要な arena をフォーマットする。
term% venti/fmtarenas arena. /dev/sdD1/arena
clearing the partition
configuring /dev/sdD1/arena with arenas=31 for a total storage of bytes=16166273024 and directory bytes=65536
adding arena arena.0 at [335872,537206784)
adding arena arena.1 at [537206784,1074077696)
adding arena arena.2 at [1074077696,1610948608)
adding arena arena.3 at [1610948608,2147819520)
adding arena arena.4 at [2147819520,2684690432)
adding arena arena.5 at [2684690432,3221561344)
adding arena arena.6 at [3221561344,3758432256)
adding arena arena.7 at [3758432256,4295303168)
adding arena arena.8 at [4295303168,4832174080)
adding arena arena.9 at [4832174080,5369044992)
adding arena arena.10 at [5369044992,5905915904)
adding arena arena.11 at [5905915904,6442786816)
adding arena arena.12 at [6442786816,6979657728)
adding arena arena.13 at [6979657728,7516528640)
adding arena arena.14 at [7516528640,8053399552)
adding arena arena.15 at [8053399552,8590270464)
adding arena arena.16 at [8590270464,9127141376)
adding arena arena.17 at [9127141376,9664012288)
adding arena arena.18 at [9664012288,10200883200)
adding arena arena.19 at [10200883200,10737754112)
adding arena arena.20 at [10737754112,11274625024)
adding arena arena.21 at [11274625024,11811495936)
adding arena arena.22 at [11811495936,12348366848)
adding arena arena.23 at [12348366848,12885237760)
adding arena arena.24 at [12885237760,13422108672)
adding arena arena.25 at [13422108672,13958979584)
adding arena arena.26 at [13958979584,14495850496)
adding arena arena.27 at [14495850496,15032721408)
adding arena arena.28 at [15032721408,15569592320)
adding arena arena.29 at [15569592320,16106463232)
adding arena arena.30 at [16106463232,16166608896)

isect のフォーマット

次に isect をフォーマットする。
term% venti/fmtisect isect0 /dev/sdD1/isect
clearing the partition
configuring index section isect0 with space for index config bytes=65536
筆者は $home/venti に venti.conf を置いている。この内容は
index	main
isect	/dev/sdD1/isect
arenas	/dev/sdD1/arena
である。
term% cd $home/venti
term% venti/fmtindex venti.conf
configure index section in /dev/sdD1/isect
configure arenas in /dev/sdD1/arena
using 65495 buckets of 65495; div=65578
add arena arena.0 at [1048576,537903104)
add arena arena.1 at [537903104,1074757632)
add arena arena.2 at [1074757632,1611612160)
add arena arena.3 at [1611612160,2148466688)
add arena arena.4 at [2148466688,2685321216)
add arena arena.5 at [2685321216,3222175744)
add arena arena.6 at [3222175744,3759030272)
add arena arena.7 at [3759030272,4295884800)
add arena arena.8 at [4295884800,4832739328)
add arena arena.9 at [4832739328,5369593856)
add arena arena.10 at [5369593856,5906448384)
add arena arena.11 at [5906448384,6443302912)
add arena arena.12 at [6443302912,6980157440)
add arena arena.13 at [6980157440,7517011968)
add arena arena.14 at [7517011968,8053866496)
add arena arena.15 at [8053866496,8590721024)
add arena arena.16 at [8590721024,9127575552)
add arena arena.17 at [9127575552,9664430080)
add arena arena.18 at [9664430080,10201284608)
add arena arena.19 at [10201284608,10738139136)
add arena arena.20 at [10738139136,11274993664)
add arena arena.21 at [11274993664,11811848192)
add arena arena.22 at [11811848192,12348702720)
add arena arena.23 at [12348702720,12885557248)
add arena arena.24 at [12885557248,13422411776)
add arena arena.25 at [13422411776,13959266304)
add arena arena.26 at [13959266304,14496120832)
add arena arena.27 at [14496120832,15032975360)
add arena arena.28 at [15032975360,15569829888)
add arena arena.29 at [15569829888,16106684416)
add arena arena.30 at [16106684416,16166813696)
configured index=main with arenas=31 and storage=16165765120

fossil のフォーマット

/dev/sdD1/fossil をフォーマットする。
term% fossil/flfmt /dev/sdD1/fossil
diskThread 1205
diskThread done
diskThread 1206
fs->ehi 1 fs->elo 1 active=2
got fs source
got file root
diskThread done
term%
以上で準備完了。

実行

venti を実行する。

実験的に venti を実行してみよう。ウィンドウを作成し、スクロール可の状態にする。
term% venti/venti -h tcp!*!8088 -w -c $home/venti/venti.conf
configure index section in /dev/sdD1/isect
configure arenas in /dev/sdD1/arena
initialize 1048576 bytes of lump cache for 128 lumps
initialize 3072 bytes of index cache for 64 index entries
initialize 417792 bytes of disk block cache
sync arenas and index...
initialize write queue...
starting http server at tcp!*!8088
starting server
HTTP ポートとして 8088 を使用したのは、8080 が httpd によって使用済みだったからである。
tcp!*!8088 とした場合には、venti に関する情報が、外部から 8088 ポートを通じて入手できる。この情報はディスクの使用状態に関するもので、セキュリティの問題をもたらすとは思えないが、インターネット環境ではアクセス可能なクライアントを限定したほうがよいかもしれない。
ここでは venti を利用する fossil サーバのアドレスが指定されていない。その場合には、fossil サーバのアドレスが限定されない。限定するには -a オプションを使用する。

fossil の実行

まず最初に flproto を作成しておく。筆者は $home/venti に置いた。
term% cat flproto
fsys main config /dev/sdD1/fossil
fsys main venti pc
fsys main open -AWP
fsys main
create /active/adm adm sys d775
create /active/adm/users adm sys 664
users -w /active/adm/users                            # 注意1
srv -p fscons
srv fossil
注意1: users の仕様が変更されています。現在は
	user -w /active/adm/users
ではなく、単に
	users -w
です。(2004/10/17)

ここに
	fsys main venti pc
に現れる pc は筆者の Plan 9 端末の名称である。venti はここで動作している。つまり一般論として venti が動作しているコンピュータと fossil が動作しているコンピュータは異なっていても構わない。(今の場合には共に pc である。)
次の行
	fsys main open -AWP
-AWP は fossil を完全に無防備な状態で実行する事を意味している。最初の動作確認はここから始めたほうが分かりやすい。実際の運用はどのようにすべきかは後に議論する。
次の行
	create /active/adm adm sys d775
	create /active/adm/users adm sys 664
によって fossil に /adm//adm/users が作成される。これは一度だけ実行すればよいので、二回目からは外しておく。
	users -w /active/adm/users
/adm/users を初期化する(先の注意1を見よ)。これによって作成される /adm/users の内容は、最小構成である。
このもとで fossil を実行する。以下は筆者のメモである。
term% fossil/fossil -tc '. flproto'
nuser 4
diskThread 1240
fs->ehi 1 fs->elo 1 active=2
got fs source
got file root
nuser 0
prompt: user 'adm' is mandatory
user 'adm' is mandatory
この中で、fossil/fossil-t オプションは fossil を実行したウィンドウを fossil のコンソールとして使うことを意味している。(以下、このウィンドウを fossil コンソールと言うことにする。)
fossil の実行の成功を確認するにはディレクトリ /srv の中に fossil が生成している事を確認する。生成していれば
	term% mount /srv/fossil /n/fossil
のように、どこかに /srv/fossil をマウントする。(ここでは /n/fossil にマウントしている。)
	term% ls /n/fossil
を実行して
	/n/fossil/adm
	/srv/fscons
が表示されれば成功である。

注意: もしも /n/fossil/adm あるいは /srv/fscons が表示されないなら、fossil のコンソールから srv fossil あるいは srv -p fscons を実行してみるがよい。

/adm/users

ユーザ登録

/adm/users の形式が fossil で変更されている。
term% cat /n/fossil/adm/users
adm:adm:adm:sys
none:none::
noworld:noworld::
sys:sys::
term%
すなわち、ユーザ ID が数字から文字列になったのである。ここでは文字列としてユーザ名ものものが使用されているが、一般的に言えばユーザ名と異なる文字列であればよい。この問題はあとで議論するが、とりあえずユーザ ID とユーザ名を一致させておく方がよいであろう。したがって kfs などで使用されてきた /adm/users をそのままコピーするわけにはいかない。
	sed 's/^([^:]+):([^:]+)/\2:\2/' /adm/users >/n/fossil/adm/users
で変換できる。これまでのファイルシステムと同様に /n/fossil/adm/users を書き換えただけではその結果が fossil には反映しない。fossil コンソールで
	users
を実行する必要がある[注意2]。
注意2: 現在の仕様では
	users -r /active/adm/users
とします。(2004/10/17)

ユーザ名規則

マニュアル users(6) によるとユーザ名に使用できる文字は
	?, =, +, -, /, and :
を除く印字文字と書いてあるが /adm/users の書式を考えると、これら以外にコンマ(,) も禁止されているはずである。

fossil が提供するファイルの構造

fossil はその内部に複数のファイル木を持つことができる。fossil コンソールの命令
	fsys main config /dev/sdD1/fossil
に現れる main は fossil コンソールが管理するファイル木の名称である。マニュアルには記載されていないが、ソースコードを読む限り main は特別な名前である。他の名前を持つ木も作成できるが、main だけが以下に述べる users コマンドの対象となる。
各々の木の根から 3 つの枝が分かれている。
	/active
	/archive
	/snapshot
/active の下に読み書きのための通常のファイル木が続く。他方 /archive/snapshot には /active の過去の姿が映し出される。

fossil コンソール

fossil コンソールは多数のコマンドを持っている。詳しくはマニュアル fossilcons(8) を見ればよいが、運用上重要なコマンドを幾つか紹介する。

users

/n/fossil/adm/users への書き込みによって、直ちに fossil の動作がその内容を反映するわけではない。fossil コンソールから
	users         # 注意3
コマンドを投入する必要がある[ 注意3]。
注意3: 現在の仕様では
	users -r /active/adm/users
とします。(2004/10/17)

これまでのファイルサーバも kfs も同様な手順を要求していた。このことは面倒ではあるが、セキュリティを高めるための代価である。
users を実行すると(例えば)次のように読みとられたファイルとユーザ数が表示される。
	main: users
		file /active/adm/users
		nuser 17 len 258
	main:
既存のファイルシステムを fossil にコピーするには、(多分ユーザが登録されているので)この手順を踏む必要がある。

注: users はファイル木 main に作用する。他の名称のファイル木に対しては users は必要ない。

snap

snap コマンドは短期のスナップショットを撮る。結果は fossil に保存され、venti には保存されない。以下はその実行例である。
	main: snap
	cacheFlush: 43 dirty blocks
	cacheFlush: 14 dirty blocks
	cacheFlush: 13 dirty blocks
	cacheFlush: 2 dirty blocks
	cacheFlush: done
	main:
適当なウィンドウを開いてその結果をみてみよう。(/n/snap を前もって作成しておく。)
	term% mount /srv/fossil /n/snap main/snapshot
	term% ls /n/snap
	/n/snap/2003
もっと詳しくは(現在の筆者のシステムでは)
cpu% ls /n/snap/*/*/*
/n/snap/2003/0117/2346/adm
/n/snap/2003/0117/2346/usr
/n/snap/2003/0118/1127/adm
/n/snap/2003/0118/1127/usr
/n/snap/2003/0120/1410/adm
/n/snap/2003/0120/1410/usr
/n/snap/2003/0204/2321/adm
/n/snap/2003/0204/2321/usr
/n/snap/2003/0206/1435/adm
/n/snap/2003/0206/1435/usr
/n/snap/2003/0206/2307/adm
/n/snap/2003/0206/2307/usr
/n/snap/2003/0206/2307.1/adm
/n/snap/2003/0206/2307.1/usr
/n/snap/2003/0207/2350/adm
/n/snap/2003/0207/2350/usr
cpu%
となる。
	/n/snap/2003/0117/2346
は 2003 年1月17日の23時46分のスナップショットの意味である。この下にその時の fossil サーバの内容がファイルシステムの形式で納まっている。(筆者はまだ全面的に fossil には移行していない。現在の所、単に /usr 以下だけに fossil を利用している。)
2307.1 のように時刻あとに数字が付いているのは、1分以内に2度スナップショットを撮ったからである。

snap -a

snap コマンドに -a オプションを付加すると、長期的なスナップショットを撮る。結果は venti に保存され、それらはスナップショットとして参照できる。以下はその実行例である。
main: snap -a
cacheFlush: 5 dirty blocks
cacheFlush: 3 dirty blocks
cacheFlush: 2 dirty blocks
cacheFlush: 1 dirty blocks
cacheFlush: 1 dirty blocks
cacheFlush: 1 dirty blocks
cacheFlush: done
main: disk: io=10000 at 15.485ms
disk: io=10008 at 12.661ms
disk: io=10000 at 14.995ms
disk: io=10000 at 15.825ms
disk: io=10000 at 18.122ms
archive vac:822ea17ca5b0dfbeba30668d328153efb10df476
最後の vac の値は fossil がクラッシュした場合に必要になる重要な情報である。この情報は venti に記録され後で取り出すことができる。
snap -a の結果を見るには、(前もって /n/dump を作成しておき)
term% mount /srv/fossil /n/dump main/archive
term% ls /n/dump/*/*
/n/dump/2003/0118/adm
/n/dump/2003/0118/usr
/n/dump/2003/0119/adm
/n/dump/2003/0119/usr
term%
ここに
	/n/dump/2003/0118
は 2003年1月18日を意味している。同じ日に2度 snap -a を実行すると
	/n/dump/2003/0118.1
のようにピリオドの後の数字で区別される。

sync

fossil は書き込まれるデータをメモリにキャッシュしている。終了前に sync を実行しないと、次回に fossil を立ち上げたときに結果が反映されない。

clri

clir はファイル木の中の任意のファイルやディレクトリを消去する。すなわち /archive/snapshot の中のファイルやディレクトリも消去できる。(実際には参照の手がかりを捨てている)
Plan 9 のこれまでのファイルシステムではスナップショットを消せなかった。過去の記録を消せないファイルシステムはある意味では高いセキュリティを提供するが、重要な私的な情報をスナップショットにとってしまうと非常に困ることになる。いざとなれば消すことのできるスナップショットに変更されたのである。
/active を過去に戻せるのも面白いとは思うが、マルチユーザ環境ではそれは他の問題をもたらすのであろう。fossil ではサポートされていない。過去のスナップショットを /active にコピーすることによって、必要に応じて元に戻すことになる。

epoch

気楽に短期のスナップショットを撮ることができる。スナップショットをたくさん撮ると、ゴミだらけになる。そこで epoch が準備されている。
main: epoch
	low 1 hi 42
	1	clri /snapshot/2003/0117/2346
	4	clri /snapshot/2003/0118/1127
	13	clri /snapshot/2003/0120/1410
	16	clri /snapshot/2003/0204/2321
	21	clri /snapshot/2003/0206/1435
	29	clri /snapshot/2003/0207/2350
	40	clri /snapshot/2003/0212/1717
	41	clri /snapshot/2003/0213/2317
	8 snapshots found with epoch < 4294967295
	not setting low epoch
main: epoch -y 13
	low 1 hi 42
	1	clri /snapshot/2003/0117/2346
	4	clri /snapshot/2003/0118/1127
	2 snapshots found with epoch < 13
	old: epoch -y 1
	new: epoch -y 13
main: epoch
	low 13 hi 42
	cannot walk /snapshot/2003/0117/2346: snapshot has been deleted
	cannot walk /snapshot/2003/0118/1127: snapshot has been deleted
	13	clri /snapshot/2003/0120/1410
	16	clri /snapshot/2003/0204/2321
	21	clri /snapshot/2003/0206/1435
	29	clri /snapshot/2003/0207/2350
	40	clri /snapshot/2003/0212/1717
	41	clri /snapshot/2003/0213/2317
	6 snapshots found with epoch < 4294967295
	not setting low epoch
main:

終了

fossil を終了するには
  1. fossil コンソールから sync コマンド
  2. コンソールから kill fossil | rc
  3. コンソールから venti/sync -h pc
  4. コンソールから kill venti | rc
を実行する必要がある。ここに pc は筆者の venti サーバの名前である。他方 Plan 9 端末を終了するには
  1. fossil コンソールから sync コマンド
  2. コンソールから venti/sync -h pc
  3. コンソールから disk/ksync
を実行し、電源を切る。kfs と fossil と venti がミックスしている現在の筆者の環境ではいささか面倒である。

システム設定

fossil を一回だけの実験ではなく、恒常的に使用する場合には、使い心地の良いシステム設定が必要になる。以下に筆者が行っていることを紹介する。

termrc への登録

Plan 9 端末を立ち上げたときに venti と fossil が自動実行されるようにするには、/bin/termrc の中に
v=/usr/arisawa/venti
venti/venti -h tcp!*!8088 -w -c $v/venti.conf >[2] /dev/null &
sleep 5
fossil/fossil -c '. '$v/flproto
mount /srv/fossil /n/fossil
mount /srv/fossil /n/snap main/snapshot
mount /srv/fossil /n/dump main/archive
bind -c /n/fossil/usr /usr
を書き込む。これは筆者の例である。sleep 5 は筆者のシステムでのチューニングであり、Russ Cox は sleep 10 にしているそうな。筆者は現在の所 /usr に対してのみ fossil を使用しているので、bind -c /n/fossil/usr /usr としている。

flproto の設定

筆者の場合2回目からは次のようにしている。
fsys main config /dev/sdD1/fossil
fsys main venti pc
fsys main open -AW
fsys main
users /active/adm/users		# 注意4
srv fossil
srv -p fscons
注意4: 現在では
	users -r /active/adm/users
ですが、省いてもかまいません。(2004/10/17)

端末環境では open -AW 程度が使いやすいであろう。
A は認証を行わないオプションである。認証サーバを持たない場合にはこのオプションは必須である。持っていてもこのオプションは付けた方が無難である。(認証サーバがダウンしていたら fossil にアクセスできなくなりますからね。)
W は誰にでも chmodchgrp を許すオプションである。このオプションは端末を複数のユーザで共有している場合には使用すべきではない。しかし個人で独占している場合には問題はないであろう。
筆者は fossil のソースに手を加え reopen コマンドを追加して fossil コンソールから A,W,P のオプションをいつでも再設定できるようにしている。これはとても便利なのでベル研の正式版でも採用して欲しい。変更は 9fsys.c だけである。違いを比較できるよう変更後と変更前の2つの 9fsys.c をダウンロードできるようにしておく。変更後の 9fsys.c変更前の 9fsys.c。[注意5]
注意5: 現在では srv コマンドに A,P,W のオプションを付ける事ができるので、この問題は解決している。(2004/10/17)

namespace への登録

fossil は現在の所カーネルとの結びつきを持っていない*。従って /lib/namespace に fossil のマウントを登録する必要がある。(でないとネットワークからアクセスしたときに fossil が使用されない。) 以下は筆者の /lib/namespace の一部である。
# authentication
mount -a /srv/factotum /mnt

# we use fossil
mount /srv/fossil /n/fossil
bind -c /n/fossil/usr	/usr

# standard bin
bind /$cputype/bin /bin
bind -a /rc/bin /bin
* 現在はカーネルに組み込まれている。従ってここの作業は必要は無い。(2005/05/17)

fossil コンソールへのアクセス

/bin/termrc では fossil の実行に際し -t オプションを付けるわけにはいかない。この場合 fossil コンソールにアクセスするにはコンソールから
	con /srv/fscons
を実行すればよい。con を終了するには control+"\" を打つ[注意6]。
注意6: 日本語キーボードでは control + "]" である。(2004/10/17)