GNU/Linux >> Linux の 問題 >  >> Linux

LinuxのFstabとは| Linux / etc/fstabファイルの紹介

このガイドでは、 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つの列(セクション)で構成されています。

  1. ファイルシステム -パーティション化され、その上にファイルシステムを作成したデバイスをブロックします。
  2. マウントポイント -ファイルシステムがシステムにマウントされている場所。
  3. タイプ -ファイルシステムの種類(Ext4、Ext3、swap、Xfsなど)
  4. オプション -これにより、ファイルシステムをマウントするときに考慮するマウントパラメータが決まります
  5. ダンプ -これは、dumpで使用されるバックアップ目的です。 効用。ゼロに設定すると、バックアップが無効になり、1つは、特定のデバイス/メディアへのバックアップが有効になることを意味します。
  6. 合格 -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)を指します 、suiddevexecautonouser 、および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ファイルに誤りがあった場合にどうなるかについても説明しました。


Linux
  1. Linux のサンプル /etc/services ファイル

  2. Anacron とは何ですか? Linux での Anacron の使用法

  3. Linux の /dev/zero および /dev/null ファイルとは

  1. Linux の /etc/profile 構成ファイルについて

  2. /etc/fstab の sw オプションはどういう意味ですか?

  3. Linux の /etc/init.d と /etc/rcX.d ディレクトリの間の接続は何ですか?

  1. Linux/OSX の /etc/hosts/ ファイルで、ワイルドカード サブドメインを使用するにはどうすればよいですか?

  2. /etc/fstab で「マウント --bind」するにはどうすればよいですか?

  3. /etc/hosts のサイズ制限 (Linux)