FSTAB(5)

名前
fstab - ファイルシステムの静的な情報

書式
#include <fstab.h>

説明
このファイル fstab には様々なファイルシステムに関する情報が記述されている。 fstab ファイルはプログラムによって読みこまれるだけで書き込まれることはない。 このファイルを適切に作り、保守するのはシステム管理者の責任である。 それぞれのファイルシステムは一行単位で記述され、 各行のフィールドは TAB 文字もしくは空白 (spaces) で区切られる。 '#' で始まる行はコメントである。 fsck(8), mount(8), umount(8) などのプログラムは、 fstab ファイルを先頭から順に読み込んで処理するため、 fstab に記述されるレコード (ファイルシステム) の順序は重要である。 最初のフィールド (fs_spec) は、マウントしたいブロックスペシャルデバイス もしくはリモートファイルシステムを記述する。

通常のマウントでは、これはマウントされるブロックスペシャルデバイスノード (またはそれへのリンク) である。これは mknod(8) によって作成される。たとえば `/dev/cdrom' や `/dev/sdb7' といったものになる。 NFS マウントの場合は <host>:<dir> という書式になる。 たとえば `knuth.aeb.nl:/' などである。 procfs の場合は `proc' を使う。

デバイスを明示する代わりに、 マウントされる (ext2 または xfs) ファイルシステムを UUID とボリュームラベルで指定することもできる (e2label(8) または xfs_admin(8) を参照のこと)。 この場合は LABEL=<label> または UUID=<uuid> のように書く。 たとえば `LABEL=Boot' や `UUID=3e6be9de-8139-11d1-9106-a43f08d823a6' のようになる。 こうするとシステムはより強固になる。 SCSI ディスクを追加・削除してディスクデバイスの名前が変わっても、 ファイルシステムのボリュームラベルは変化しないからである。 2 番目のフィールド (fs_file) は、ファイルシステムのマウントポイントを記述する。 スワップパーティションの場合、 このフィールドは `none' と明記する必要がある。 マウントポイントに含まれている空白は、`\040' のようにエスケープできる。 3 番目のフィールド (fs_vfstype) は、ファイルシステムのタイプを記述する。 Linux では adfs, affs, autofs, coda, coherent, cramfs, devpts, efs, ext2, ext3, hfs, hpfs, iso9660, jfs, minix, msdos, ncpfs, nfs, ntfs, proc, qnx4, reiserfs, romfs, smbfs, sysv, tmpfs, udf, ufs, umsdos, vfat, xenix, xfs, 更にそれ以外の多くのファイルシステムタイプをサポートする。 詳細は mount(8) を参照すること。 稼働中のカーネルが現在サポートしているファイルシステムについては、 /proc/filesystems を見よ。 エントリ swap はスワップに使われるファイルまたはパーティションを表す。 swapon(8) を参照。 エントリ ignore により、その行は無視される。 これは現在使用されていないディスクパーティションを表示するのに役立つ。 4 番目のフィールド (fs_mntops) は、 ファイルシステム毎のマウントオプションを記述する。 これはカンマで区切られたオプションのリストである。 少なくともマウントのタイプを書く必要がある。 加えてファイルシステムのタイプに応じた 適切なオプションが書かれていることが多い。 NFS 以外のファイルシステムで使用可能なオプションについては、 mount(8) を参照のこと。 nfs 固有のオプションについては nfs(5) を参照のこと。 どのようなファイルシステムにも適用できるオプションは、 ``noauto'' ("mount -a" を実行したとき (ブート時など) にマウントしない), ``user'' (ユーザにマウントを許可する), ``owner'' (デバイスの所有者にマウントを許可する) である。 詳細は mount(8) を参照のこと。 5 番目のフィールド (fs_freq) は、これらのファイルシステムを dump(8) コマンドが ダンプする必要があるかを決定するために用いられる。 5 番目のフィールドがなければ、 0 が戻り値となり、 dump はそのファイルシステムをダンプする必要が無いとみなす。 6 番目のフィールド (fs_passno) は fsck(8) プログラムが用い、 ブート時にファイルシステムのチェックを実行する順序を 決定するために参照される。 ルートファイルシステムは fs_passno を 1 と明記する必要があり、 その他のパーティションは、 fs_passno を 2 とする必要がある。 1 つのドライブ中のファイルシステムは順番にチェックされる。 しかし、異なるドライブのファイルシステムは ハードウェアの並列性を役立たせる為に 同時にチェックされる。 6 番目のフィールドが存在しないか 0 である場合には 0 値が返り、 fsck はそのファイルシステムをチェックする必要がないとみなす。 fstab ファイルからレコードを読む正しい方法は、 getmntent(3) ルーチンを用いることである。

ファイル
/etc/fstab

関連項目
getmntent(3), mount(8), swapon(8), fs(5) nfs(5)

履歴
この fstab ファイルフォーマットの原型は 4.0BSD で導入された。