/etc/fstab
ファイルは、種々のプログラムがファイルシステムのマウント状況を確認するために利用するファイルです。
ファイルシステムがデフォルトでどこにマウントされ、それがどういう順序であるか、マウント前に (整合性エラーなどの)
チェックを行うかどうか、という設定が行われます。 新しいファイルシステムに対する設定は以下のようにして生成します。
cat > /etc/fstab << "EOF"
# Begin /etc/fstab
# file system mount-point type options dump fsck
# order
/dev/<xxx>
/ <fff>
defaults 1 1
/dev/<yyy>
swap swap pri=1 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
devpts /dev/pts devpts gid=4,mode=620 0 0
tmpfs /dev/shm tmpfs defaults 0 0
# End /etc/fstab
EOF
<xxx>
、 <yyy>
、 <fff>
の部分はシステムに合わせて正しい記述に書き換えてください。 例えば hda2
、
hda5
、 ext3
といったものです。 上のファイルの6行分の記述内容の詳細は man 5 fstab により確認してください。
マウントポイント /dev/shm
は tmpfs
ファイルシステムを指し示すもので POSIX 共有メモリ (POSIX-shared
memory) を利用するためのものです。
この共有メモリを正しく動作させるためには、これをサポートする機能をカーネルに組み入れておく必要があります。
(詳しくは次節にて説明します。) POSIX 共有ライブラリを利用するソフトウェアは、今のところは非常に少ないことを覚えておいてください。
したがってマウントポイント /dev/shm
は設定しなくても構いません。
詳細については、カーネルのソース内にある Documentation/filesystems/tmpfs.txt
を参照してください。
MS-DOS や Windows において利用されるファイルシステム (例えば
vfat、ntfs、smbfs、cifs、iso9660、udf)
では、ファイル名称内に用いられた非アスキー文字を正しく認識させるために、マウントオプションとして 「iocharset」 を指定することが必要となります。
オプションに設定する値は利用するロケールとすることが必要で、カーネルが理解できる形でなければなりません。
またこれを動作させるために、対応するキャラクタセット定義 (File systems ->Native Language
Support にあります) をカーネルに組み入れるか、モジュールとしてビルドすることが必要です。 vfat や smbfs
ファイルシステムを用いるなら、さらに 「codepage」 オプションも必要です。
このオプションには、国情報に基づいて MS-DOS にて用いられるコードページ番号をセットします。 例えば USB
フラッシュドライブをマウントし ru_RU.KOI8-R をセットするユーザーであれば /etc/fstab
ファイルの設定は以下のようになります。
noauto,user,quiet,showexec,iocharset=koi8r,codepage=866
ru_RU.UTF-8 をセットするなら以下のように変わります。
noauto,user,quiet,showexec,iocharset=utf8,codepage=866
後者の設定では、カーネルが以下のようなメッセージを出力します。
FAT: utf8 is not a recommended IO charset for FAT filesystems,
filesystem will be case sensitive!
否定的な設定を勧めるメッセージですが、これは無視して構いません。 「iocharset」 オプションに他の設定を行ったとしても UTF-8 ロケールでは結局はファイル名の表示を正しく処理できないためです。
ファイルシステムによっては codepage と iocharset のデフォルト値をカーネルにおいて設定することもできます。
カーネルにおいて対応する設定は 「Default NLS Option」
(CONFIG_NLS_DEFAULT)
、 「Default Remote NLS Option」 (CONFIG_SMB_NLS_DEFAULT
)、 「Default
codepage for FAT」 (CONFIG_FAT_DEFAULT_CODEPAGE
)、 「Default iocharset for FAT」 (CONFIG_FAT_DEFAULT_IOCHARSET
) です。 なお ntfs
ファイルシステムに対しては、カーネルのコンパイル時に設定する項目はありません。
特定のハードディスクにおいて ext3 ファイルシステムでの電源供給不足時の信頼性を向上させることができます。 これは
/etc/fstab
での定義においてマウントオプション
barrier=1
を指定します。
ハードディスクがこのオプションをサポートしているかどうかは hdparm
を実行することで確認できます。 例えば以下のコマンドを実行します。
hdparm -I /dev/sda | grep NCQ
何かが出力されたら、このオプションがサポートされていることを意味します。
論理ボリュームマネージャ (Logical Volume Management; LVM) に基づいたパーティションでは
barrier
オプションは利用できません。