FSTAB(5) FreeBSD ファイルフォーマットマニュアル FSTAB(5)
名称
fstab − ファイルシステムに関する静的情報 |
書式
#include <fstab.h> |
解説
fstab ファイルは、さまざまなファイルシステムについて記述した情報を格納し ます。 fstab はプログラムによって読み出されるだけで、書き込みはされませ ん。このファイルを適切に作成、保守するのはシステム管理者の責務です。各 ファイルシステムは個別の行に記述されます。各々の行のフィールドはタブまた はスペースによって区切られます。 fsck(8), mount(8), umount(8) が fstab を 通じて必要な処理を連続して繰り返すため、 fstab のレコードの順序は重要な意 味を持ちます。 第 1 フィールド (fs_spec) はマウントされるブロック型スペシャルデバイス、 またはリモートのファイルシステムを表します。 ufs 形式のファイルシステムで は、特殊ファイル名はブロック型特殊ファイル名であり、キャラクタ型特殊ファ イル名ではありません。プログラムがキャラクタ型特殊ファイル名を必要とする 場合、そのプログラムが特殊ファイル名の中の最後の ‘‘/’’ の後ろに ‘‘r’’ を 追加することでキャラクタ特殊ファイル名を作成する必要があります。 第 2 フィールド (fs_file) はファイルシステムのマウントポイントを表しま す。スワップパーティションでは、このフィールドには ‘‘none’’ と記述すべき です。 第 3 フィールド (fs_vfstype) はファイルシステムの形式を表します。システム はさまざまなファイルシステム形式をサポートできます。ルート、 /usr および /tmp のファイルシステムだけはカーネルに静的に組み込まれている必要がありま す。他のすべてのファイルシステムはマウント時に自動的にロードされます (例 外 : UFS 系 - FFS, LFS は現在のところデマンドロードはできません)。いまだ に他のファイルシステムも同様に静的に組み込むのを好む人もいるようです。 第 4 フィールド (fs_mntops) は、ファイルシステムに関連するマウントオプ ションを表します。これはコンマで区切られたオプションのリストとして記述さ れます。これは少なくともマウントの形式 (以下の fs_type 参照) を含み、加え てファイルシステム形式に特有のいくつかの追加のオプションを含みます。指定 可能なオプションフラグに関しては、 mount(8) ページおよび mount_nfs(8) 等 のファイルシステム固有のページの、オプションフラグ (−o) を参照してくださ い。 ‘‘userquota’’ および ‘‘groupquota’’ オプションの双方、またはいずれかが指 定されている場合、ファイルシステムは自動的に quotacheck(8) コマンドによっ て処理され、ユーザおよびグループクォータが quotaon(8) で有効にされます。 デフォルトでは、ファイルシステムのクォータは関連するファイルシステムの ルートに置かれた quota.user および quota.group というファイルで管理されま す。これらのデフォルトは、クォータオプションの直後に等号とデフォルトに代 わる絶対パス名を置くことで変更することができます。従って、 /tmp のユーザ クォータファイルを /var/quotas/tmp.user に置く場合、そのファイルの場所は 以下のように指定されます。 userquota=/var/quotas/tmp.user ‘‘noauto’’ オプションが指定されている場合、ファイルシステムはシステム起動 時に自動的にマウントされません。サードパーティタイプのネットワークファイ ルシステム (ベースシステムに含まれない追加ソフトウェアがサポートするタイ プ) がシステム起動時に自動的にマウントされるようにするには、 extra_netfs_types rc.conf(5) 変数を使用し、 rc(8) 起動スクリプトのネット ワークファイルシステムタイプのリストを拡張する必要があります。 マウント形式は fs_mntops フィールドから取り出され、 fs_type フィールドに 個別に保存されます ( fs_mntops フィールドからは削除されません)。 fs_type が ‘‘rw’’ または ‘‘ro’’ ならば、 fs_file フィールドで指定されたファイルシ ステムは、読み書き可能、または読み出し専用で指定の特殊ファイルに正常にマ ウントされます。 fs_type が ‘‘sw’’ ならば、特殊ファイルはシステムのリブー ト処理の最後に swapon(8) コマンドによってスワップ領域の一部として使用され ます。 fs_spec と fs_type 以外のフィールドは使用されません。 fs_type が ‘‘xx’’ と指定されている場合、このエントリは無視されます。これは、現在使用 されていないディスクパーティションを表すのに便利です。 第 5 フィールド (fs_freq) は、どのファイルシステムがダンプされる必要があ るか決定するために dump(8) コマンドによって使用されます。第5フィールドが 与えられていない場合は 0 が返され、 dump コマンドはそのファイルシステムを ダンプする必要がないと見なします。 第 6 フィールド (fs_passno) は、リブート時にファイルシステムのチェックが 行われる順序を決定するために fsck(8) プログラムによって使用されます。ルー トファイルシステムは fs_passno に 1、他のファイルシステムは fs_passno に 2 が指定されているべきです。1つのドライブ内のファイルシステムは逐次的に チェックされますが、異なるドライブ上のファイルシステムは、ハードウェアの 並列性を利用して同時にチェックされます。第6フィールドが与えられていないか 0 の場合、0 が返され、 fsck(8) コマンドはそのファイルシステムをチェックす る必要がないと見なします。 #define FSTAB_RW "rw" /* 読み書き可能デバイス */ |
#define |
FSTAB_RQ |
"rq" |
/* クォータ付き読み書き可能デバイス */ |
|||
#define |
FSTAB_RO |
"ro" |
/* 読み出し専用デバイス */ |
|||
#define |
FSTAB_SW |
"sw" |
/* スワップデバイス */ |
|||
#define |
FSTAB_XX |
"xx" |
/* 完全に無視 */ |
struct fstab { |
char |
*fs_spec; |
/* ブロック型スペシャルデバイス名 */ |
|||
char |
*fs_file; |
/* ファイルシステムのパスのプレフィックス */ |
|||
char |
*fs_vfstype; |
/* ufs,nfs などのファイルシステム形式 */ |
|||
char |
*fs_mntops; |
/* -o に準拠したマウントオプション */ |
|||
char |
*fs_type; |
/* fs_mntops から FSTAB_* のコピー */ |
|||
int |
fs_freq; |
/* ダンプ周期の日数 */ |
|||
int |
fs_passno; |
/* 並列 fsck のパス番号 */ |
}; fstab のレコードを適切に読み出すには、 getfsent(3), getfsspec(3), getfstype(3), getfsfile(3) ルーチンを使用します。 |
関連ファイル
/etc/fstab
fstab ファイルは /etc に存在します。 関連項目 |
getfsent(3), getvfsbyname(3), dump(8), fsck(8), mount(8), quotacheck(8), quotaon(8), swapon(8), umount(8) |
歴史
fstab ファイルフォーマットは 4.0BSD から登場しました。 FreeBSD 10.0 June 5, 1993 FreeBSD 10.0 |