まず、
# /etc/rc.d/init.d/autofs start
とした際に最初に参照される /etc/auto.master であるが、
# auto.master
# Format of this file:
# mountpoint map
options
# For details of the format look at autofs(8).
/misc
/etc/auto.misc --timeout 60
/mnt/disk /etc/auto.disk
/net
/etc/auto.net
などとしている。ここで、/misc はデフォールトのまま、/mnt/disk 以下は、マップファイル(/etc/auto.disk)
# auto.disk
# This is an automounter map and it has the following format
# key [ -mount-options-separated-by-comma ] location
# Details may be found in the autofs(5) manpage
*
-fstype=ext2
:/dev/&
で、例えば /dev/sdb4 が /mnt/disk/sdb4 という感じで見えるようになる。Key としてワイルドカード (*) を指定すると、それが & として参照できるということである。従って、/mnt/disk/xxx には :/dev/xxx がマウントされる。もちろん、ワイルドカードを使わず、
sda4 -fstype=ext2 :/dev/sda4
と書いてももちろん良いが、こう書く場合にはマウントツリーが使いたくなる。つまり、さらに /mnt/disk/sda4/usr に :/dev/sda6 をマウントしたりしたくなるわけであるが、これができないということである。改善が望まれる。
次に、問題の /net であるが、マップファイル(/etc/auto.net)には
# auto.net
# This is an automounter map and it has the
following format
# key [ -mount-options-separated-by-comma
] location
# Details may be found in the autofs(5) manpage
*
-fstype=autofs,-Dhost=&
file:/etc/auto.netsub
とし、もう一段、マップファイル(/etc/auto.netsub)をかませる。マップオプションに -Dhost=& を加え、ワイルドカードの内容を host という環境変数に収納して、このもう一段したのマップファイルにエクスポートする。そこで、/net/foobar/..... とした際には host には foobar がセットされるわけである。
# auto.netsub
# This is an automounter map and it has the
following format
# key [ -mount-options-separated-by-comma
] location
# Details may be found in the autofs(5) manpage
*
-rw,soft,intr
${host}:/mnt/&
これで、例えば /net/foobar/sda4 とすると foobar:/mnt/sda4 が見えることになる。foobar 側で、/ 以下を全てエクスポートしている場合には、
* -rw,soft,intr ${host}:/&
としておけばよい。マウントオプションには、いつ落ちるかも知れない、リモートホストのディスクを NFS マウントする場合におきまりのオプション、soft と intr をつけておく。リモートホストがエクスポートしているディレクトリーがまちまちな場合に備えて、もう一段マップファイルをかませる実験もしてみたが、うまく行かなかった。暇ができたら(できそうもないが)、autofs のソースを眺めてみることにする。
使いにくいが、とにかく amd と違い、サポートされている機能は今の所正常に動作している。