/etc/fstab

/etc/fstabはハードディスクなどのデバイスとディレクトリとのマウント情報を記述するファイル。システム起動時に読み込まれ、このファイルの記述に基づいてマウントされる。よってこのファイルがおかしいとシステムがおかしくなる。

1行が1つのエントリになる。1エントリは6つのフィールドで構成される。各フィールドの詳細は左から順に以下のようになる。

第1フィールド fs_spec

マウントするデバイスやリモートファイルシステムを記述する。ここではハードディスクの場合を考える。

デバイスを直接指定

/dev/sda1のように指定する。

ボリュームラベルを指定(ext2,ext3)

デバイスを直接指定すると、ハードディスクの物理的構成が変わったときに、その変更に追従できなくなる。そこでハードディスクのボリュームラベルを指定すれば、この様な問題を回避できる。以下のように指定する。

LABEL=abc

現在のボリュームラベルはe2labelコマンドで確認できる。

# e2label /dev/sda1

UUIDを指定(ext2,ext3)

UUIDは世界で常に一意になるID。これを指定すれば、ラベルを指定するよりもさらに一意性が高まる。以下のように指定する。

UUID=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

現在のUUIDを調べるには以下のようにおこなう。

# dumpe2fs /dev/hda1|grep -i uuid

UUIDを設定するには、tune2fsコマンドを使う。UUIDはuuidgenコマンドを使って作成できる。

第2フィールド fs_file

マウントするディレクトリを指定する。

第3フィールド fs_vfstype

ファイルシステムのタイプを指定する。通常のハードディスクの場合以下のようなものがある。

  • ext2
  • ext3
  • vfat
  • ntfs-3g

第4フィールド fs_mntops

オプションを指定する。複数指定する場合はコンマで区切る。このオプションには一般オプションと第三フィールドで指定したファイルシステム専用のオプションを記述できる。

一般オプション

  • noauto : mount -aコマンドでマウントしない(ブート時自動でマウントしない)
  • user : 一般ユーザがマウントできる
  • owner : デバイスの所有者がマウントできる

ext2, ext3特別オプション

ext2はスーパーブロックにデフォルトオプションが記述してあり、ここでなにも書かなければそれが使われる。スーパーブロックの情報を見るにはdump2fsを使う。

詳細は省略。

第5フィールド fs_freq

dumpコマンドが使う。通常の場合、バックアップの対照とする場合1にする。

第6フィールド fs_passno

ブート時fsckが実行される必要があった場合参照される。0だとfsckしない。それ以外は1から順番に行われる。通常ルートファイルシステムを1とするようだ。(詳細不明)

Leave a Reply

Your email address will not be published. Required fields are marked *

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)