Linux では、起動時にファイルシステムを自動的にマウントしたい場合、/etc/fstabにある特別な設定ファイルに構成を記述します。fstabは「filesystem table(ファイルシステム・テーブル)」の略で、システムが起動プロセス中にマウントすべきファイルシステムの一覧を永続的に保持するファイルです。fstab linuxの設定を理解することは、すべてのシステム管理者にとって重要なスキルです。
/etc/fstabとは
/etc/fstabファイルは、システム起動時にどのファイルシステムを自動的にマウントするかを決定するためにシステムが参照する、利用可能なすべてのディスクパーティションや、必ずしもディスクベースではない他の種類のファイルシステムやデータソースを定義するシステム設定ファイルです。
典型的なfstab fileの例を以下に示します。
pete@icebox:~$ cat /etc/fstab
UUID=130b882f-7d79-436d-a096-1e594c92bb76 / ext4 relatime,errors=remount-ro 0 1
UUID=78d203a0-7c18-49bd-9e07-54f44cdb5726 /home xfs relatime 0 2
UUID=22c3d34b-467e-467c-b44d-f03803c2c526 none swap sw 0 0
fstab ファイル構造
etc fstabファイルの各行は 1 つのファイルシステムを表し、スペースまたはタブで区切られた 6 つのフィールドで構成されています。各フィールドの意味を以下に説明します。
- デバイス識別子: マウントするデバイスを指定します。デバイス名(例:
/dev/sda1)の変更による問題を避けるため、最新のシステムでは UUID(Universally Unique Identifier)が使用されます。 - マウントポイント: デバイスがマウントされるファイルシステム内のディレクトリ(例:
/や/home)。 - ファイルシステムタイプ: デバイス上のファイルシステムの種類(例:
ext4、xfs、btrfs、swap)。 - オプション: ファイルシステムのマウント方法を制御するマウントオプション。一般的なオプションには
defaults、relatime、errors=remount-roなどがあります。完全なリストについては、mountの man ページを参照してください。 - ダンプ: このフィールドは、ファイルシステムをバックアップする必要があるかどうかを判断するために
dumpユーティリティによって使用されます。値が0の場合、無視されることを意味し、安全なデフォルト値です。 - パス (Pass): このフィールドは、起動時にファイルシステムをチェックする順序を決定するために
fsckによって使用されます。ルートファイルシステム (/) は1である必要があり、他のファイルシステムは2、値が0の場合はファイルシステムはチェックされません。
/etc/fstabの編集方法
ルート権限を持つテキストエディタを使用して/etc/fstabファイルを直接編集することで、エントリを追加できます。このファイルを編集する際は、細心の注意を払ってください。fstabに誤ったエントリがあると、システムが正しく起動しなくなる可能性があります。変更を加える前には、必ずファイルをバックアップを取ることをお勧めします。変更を保存した後、再起動せずにsudo mount -aコマンドを実行することでテストできます。このコマンドは/etc/fstabに記載されているすべてのファイルシステムをマウントします。