このガイドでは、 fstabとは何かを学習します Linuxで、fstab
の使用法は何ですか ファイル、/etc/fstab
の構造 ファイルと最後にfstabの問題をデバッグする方法。最後に、 mtabの簡単な紹介についても説明します。 ファイル、その使用法、およびmtabとfstabの違い。
fstabとは何ですか?
サーバー管理者、Linuxデスクトップユーザー、またはLinuxを初めて使用する人は、/etc/fstab
について理解してください。 Linuxのファイルとfstabの問題をデバッグする方法は非常に重要です。
Fstabはf ile s システムタブ ファイルシステムをマウントするために起動時にカーネルによって使用されるファイル。簡単に言うと、ハードドライブに1つ以上のパーティションを作成し、fstabに各パーティションのエントリを作成します。このエントリは、起動時にカーネルによって読み取られ、ファイルシステムが自動的にマウントされます。
デフォルトでは、OSのインストール中に作成したパーティションはすべてfstabファイルに自動的に追加されます。 fstabの構造と、fstabの使用方法を詳しく見ていきましょう。
注: fstabファイルを編集する前に、ファイルのバックアップを取ることをお勧めします。何かが台無しになった場合は、バックアップコピーを元に戻すことができます。
/ etc/fstabファイルの構造
Fstabは/etc/
にあります ディレクトリであり、rootユーザーが所有します。したがって、sudo
を使用してファイルを編集する必要があります 特権またはroot
ユーザー。
次のコマンドを実行してfstabファイルを表示し、その構造を理解します。
$ cat /etc/fstab
$ cat /etc/fstab | grep -i -v "^#" | column -t # Skip comments and format

Fstabファイルは6つの列(セクション)で構成されています。
- ファイルシステム -パーティション化され、その上にファイルシステムを作成したデバイスをブロックします。
- マウントポイント -ファイルシステムがシステムにマウントされている場所。
- タイプ -ファイルシステムの種類(Ext4、Ext3、swap、Xfsなど)
- オプション -これにより、ファイルシステムをマウントするときに考慮するマウントパラメータが決まります
- ダンプ -これは、
dump
で使用されるバックアップ目的です。 効用。ゼロに設定すると、バックアップが無効になり、1つは、特定のデバイス/メディアへのバックアップが有効になることを意味します。 - 合格 -
fsck
による起動時のファイルシステムチェック 効用。ゼロはファイルシステムチェックを無効にし、ルートファイルシステムの場合は1に設定し、他のパーティションの場合は2に設定する必要があります。
各ファイルシステムは別々の行に記述されています。各行のフィールドは、タブまたはスペースで区切られています。
これらの6つのパラメータについて詳しく見てみましょう。
1。ファイルシステム
fstabの最初の列で、マウントするパーティションを指定する必要があります。 /dev/sda*
のようなブロックデバイス名を使用することもできます またはUUIDを使用します。
mkfs
を使用してパーティション化されたドライブの上にファイルシステムを作成する場合 コマンドは、その特定のパーティション用に作成されたUUIDがあります。
新しいパーティションを作成し、それがsdb1
であるとします。 。この場合、fstabは次のようになります。
/dev/sdb1 /home ext4 defaults 0 0

ファイルシステムのブロックIDを取得するには、次のコマンドを実行します。
$ blkid # Print info about all fs. $ blkid /dev/sdb1 # Print info about given fs alone.
このブロックIDを使用して、次の画像に示すようにファイルシステムをマウントできます。

2。マウントポイント
2番目の列では、マウントポイントディレクトリを指定する必要があります。マウントポイントとは、パーティション化されたドライブがマウントされるファイルシステム内のディレクトリを指します。
下の画像にあるように、各パーティションは異なるディレクトリにマウントされています。たとえば、パーティション/dev/sdb1
ホームディレクトリ専用で、/home
の下にマウントされます 。

100GBのサイズで、パーティションタイプとしてEXT4を使用して新しいパーティションを作成したとします。 fstabエントリは次のようになります。ここで/mnt/data1
はマウントポイントです。
UUID=xxxx-xxx-xxx /mnt/data1/ ext4 defaults 0 0
または
/dev/sdb2 /mnt/data1/ ext4 defaults 0 0
3。ファイルシステムタイプ
ここでは、ファイルシステムの種類(EXT2、EXT3、EXT4、XFS、VFAT、SWAPなど)について説明します。 ファイルシステムの種類を知りたい場合 ブロックデバイスの場合は、blkid
を使用します またはlsblk
コマンド。
$ lsblk -f /dev/sdb1 NAME FSTYPE LABEL UUID MOUNTPOINT sdb1 ext4 365c64d7-4d65-4cdf-8ce1-0def8bb41997 /home
$ blkid /dev/sdb1 /dev/sdb1: UUID="365c64d7-4d65-4cdf-8ce1-0def8bb41997" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="8f174339-01"

4。マウントオプション
これは、ファイルシステムのマウントオプションを渡す重要な列です。使用できるマウントオプションはたくさんあります。通常の使用では、デフォルトのオプションを使用するだけで十分です。オプションのデフォルトは、7つの組み合わせ(rw
)を指します 、suid
、dev
、exec
、auto
、nouser
、およびasync
)オプション。
デフォルトのオプションが何をするか見てみましょう。
-
rw
-これは、ファイルシステムに読み取り/書き込みモードでマウントするように指示します。エラーが発生した場合は、オプションerrors=remount-ro
。 -
suid
-suid
に関連するすべての操作 およびsgid
このオプションで許可されます。 -
dev
-ファイルシステム上の文字およびブロックデバイスを解釈します。文字を解釈してデバイスをブロックしたくない場合は、nodevオプションを明示的に使用できます。 -
exec
-ファイルシステムから、execオプションを設定してバイナリを実行できます。これとは逆に、noexec
を使用できます ファイルシステムからバイナリを実行しないオプション。 auto
-このオプションは、起動時またはターミナルからmount-aコマンドを実行するたびにファイルシステムを自動マウントする役割を果たします。これとは反対に、noauto
があります ファイルシステムを個別にマウントすることのみを許可するオプション。-
nouser
-ファイルシステムをマウントできるのはスーパーユーザーのみです。 「user」および「users」オプションを使用して、通常のユーザーがファイルシステムをマウントおよびアンマウントするように設定することもできます。 async
-すべてのIO操作は非同期で実行する必要があります。オプション「同期」を使用すると、IO操作は同期的に実行されます。
要件に応じて、さまざまなオプションを使用する必要がある場合があります。ご使用の環境に既存の本番サーバーがある場合は、fstabファイルを確認することをお勧めします。これにより、使用されるマウントオプションについての良いアイデアが得られます。

5。ダンプ
この列は、バックアップの目的に固有のものです。 1に設定すると、ダンプユーティリティがバックアップを取ります。これは、元々古いファイルシステムのテープにバックアップを取るように設計されていたため、現在は廃止された機能です。
ゼロに設定することをお勧めします 。

6。パス
起動時にfsck
ユーティリティは、6番目の列に指定された値に基づいてファイルシステムチェックを実行します。値をゼロに設定した場合 または空のまま 、ファイルシステムチェックが無効になります。
ルートファイルシステムは、常に値 1に指定する必要があります 。他のファイルシステムの場合、値を 2に設定できます 。デモンストレーションにVMを使用しているため、すべての値をゼロに設定しました。

Fstabファイルに関連するブートの問題を修正
fstabファイルに誤りがあり、マシンを再起動すると、緊急モードになります。 。緊急モードでは、ネットワークインターフェースがないため、コンソールで直接デバッグする必要があります。

root
を入力する必要があります 緊急モードに入るパスワード。次のコマンドを実行し、ゆっくりスクロールしてエラーメッセージを確認します。私の場合、/dev/sdb1
の区切り文字(/)を意図的に削除しました 。

緊急モードで、ファイルシステムが読み取り専用モードでマウントされている場合は、rw
でマウントする必要があります。 モードを設定し、fstab
を編集します 問題を修正するためのファイル。 rw
でファイルシステムを再マウントするには モードは次のコマンドを実行します。
$ mount -o rw,remount /
次に、fstabを編集してエラーを修正し、マシンを再起動します。これで、マシンが正しく起動できるようになります。
$ reboot
起動時の問題を回避するために、mount
を実行できます。 fstab
を追加した後のコマンド エントリ。
/dev/sdb2
の新しいエントリを追加した以下の画像をご覧ください。 。ファイルシステムの種類を指定していないため、mount
を実行するとエラーが発生します コマンド。

$ mount -a mount: /mnt: unknown filesystem type 'defaults'.
Mtabファイルとは何ですか?
引数を渡さずにmountコマンドを実行すると、マウントされたファイルシステムのリストが出力されます。
$ mount
mtabというファイルもあります /etc/
内 ディレクトリ。 /etc/mtab
を見ると 、mount
の出力とまったく同じになります コマンド。
マニュアルページがmtabファイルについて何と言っているか見てみましょう。

/etc/mtab
ファイルはproc
のマウントにシンボリックリンクされています ファイルシステム。 mount
を実行する場合 またはumount
コマンドを実行すると、結果がマウントで更新されます。
$ ls -ln /etc/mtab
lrwxrwxrwx 1 0 0 19 Jan 9 17:45 /etc/mtab -> ../proc/self/mounts
fstabとmtabの違いを要約すると、fstabは起動時にファイルシステムをマウントするために使用され、mtabはマウントされたファイルシステムのリストを表示するために使用されます。
/etc/mtab
の場合 ファイルが誤って破損または削除された場合は、次のコマンドを使用してファイルを再生成できます。
$ sudo sh -c 'grep -v rootfs /proc/mounts > /etc/mtab'
結論
この記事では、fstabとmtabとは何か、およびシステムが起動時にパーティション情報を保存して読み取ることがどのように重要であるかについて説明しました。また、fstabファイルに誤りがあった場合にどうなるかについても説明しました。