近年、オペレーティングシステムは大きく進化しました。フットプリントが小さくなり、リソース管理が効率化し、初期のコンピューティング・システムよりもはるかに高速になっています。しかし、それらすべての改善がなされてなお、私たちにとって欠かせない「昔ながらの」部分もまだ残っています。ファイルシステム、そして必然的にファイルシステムテーブルは、こうした不変のものの一つです。これらは多くのユーザーにとって少し厄介なので、/etc/fstab (fstab) についてもう少し詳しく見ていきましょう。
定義
Linux システムのファイルシステムテーブル、つまり fstab は、マシンへのファイルシステムのマウントとアンマウントの負担を軽減することを目的とした構成テーブルです。システムに接続されるさまざまなファイルシステムをどのように扱うかを制御するためのルールセットです。たとえば、USB ドライブを考えてみましょう。現在、私たちは、お気に入りの外付けドライブのプラグアンドプレイに慣れきっているため、ドライブのマウントやデータの読み取り/書き込みのためにさまざまな処理がシステム内で行われていることをすっかり忘れてしまっているかもしれません。
以前は、mount コマンドを使って手動でドライブをディレクトリツリーのどこかにマウントする必要がありました。このような課題があったため、fstab ファイルは魅力的な選択肢となりました。これは、特定のファイルシステムが検出され、システムが起動するたびにユーザーの希望する順序で自動的にマウントされるルールを構成するためのものです。結果として作業が減るだけでなく、読み込み順序のエラーを回避できるため、貴重な時間と労力を節約できます。
[ 今すぐダウンロード:システム管理者のための IT 自動化ガイド ]
テーブルの構造
テーブル自体は 6 列構造で、各列は特定のパラメーターを指定し、正しい順序で設定する必要があります。テーブルの列は左から右に以下のとおりです。
- デバイス:通常はマウントされたデバイスの名前または UUID (sda1、sda2 など)。
- マウントポイント:デバイスがマウントされる (またはマウントされる予定の) ディレクトリを指定します。
- ファイルシステムのタイプ:文字通り、使用中のファイルシステムのタイプが表示されます。
- オプション:有効なマウントのオプションを表示します。複数のオプションを使用する場合は、カンマで区切ります。
- バックアップ処理:(最初の数字) これはバイナリシステムで、
1= パーティションのダンプ・ユーティリティ・バックアップ。0= バックアップなし。これは古いバックアップ手法なので、使用しないでください。 - ファイルシステムチェック順序:(2 番目の数字) ここでは 3 つの結果が考えられます。
0は fsck がファイルシステムをチェックしないことを意味します。0 以外の数字はチェック順序を表します。ルートファイルシステムは1に設定し、他のパーティションは2に設定してください。
場所とオプション
当然のことながら、テーブルの内容は環境によって異なりますが、ここでは仮想マシンを例として、どのような情報が表示されるか、そして各項目が何を意味するのかを説明します。以下は私の fstab です。
[tcarrigan@rhel ~]$ vi /etc/fstab
#
# /etc/fstab
# Created by anaconda on Mon Jan 27 10:04:34 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/rhel-root / xfs defaults 0 0
UUID=64351209-b3d4-421d-8900-7d940ca56fea /boot xfs defaults 0 0
/dev/mapper/rhel-swap swap swap defaults 0 0
~
~
~
"/etc/fstab" [readonly] 14L, 579C 1,0-1 Allこのテーブルは、あるファイルシステムに関する特定のパラメーターを定義する 6 つの列で構成されています。まず目につくのは、ヘッダーのコメントです。ここでは、Created by のセクションは無視して、Accessible filesystems の部分に進みましょう。これらのディレクトリとマニュアルページは注目に値するものであり、必要に応じて貴重な情報を提供してくれます。次に、After editing のセクションに進み、このファイルに変更を加えた後に systemd コンポーネントをアップデートする systemctl daemon-reload コマンドに注目してください。
[ 成功するための Linux 環境管理を学ぶ ]
コメントを確認したところで、実際の構成内容を見ていきましょう。ユーザーが注目すべきさまざまな情報について説明します。
最初に表示される (そしてこの場合は唯一の) ファイルシステムは、この VM のルートファイルシステム /dev/mapper/rhel-root です。また、xfs ファイルシステムであることもわかります。ここには、ext3、ext4、fat ファイルシステムなど、さまざまなオプションが表示されます。ルートファイルシステムのすぐ下に、UUID (Universally Unique Identifier) があります。UUID はファイルシステムに永続的に割り当てられます。UUID は、特に小規模な環境でのファイルシステムのラベル付けに適しています。しかし、ネットワークベースのドライブが使用されている大規模な環境では、問題が発生する可能性があります。私のファイルシステムの UUID は次のとおりです:UUID=64351209-b3d4-421d-8900-7d940ca56fea
ここには swap パーティションと、ルートファイルシステムのマウントポイント / があることも確認できます。右に進むと、2 つのゼロが表示されています。最初のゼロは「dumping」のバイナリオプション (0=false、1=true) です。これは古いバックアップ手法なので、0 に設定するか、使用しないようにしてください。右側の次の数字は、システムにファイルシステムチェック (fsck) を実行するように指示します。ここでは、オプション 0 = スキップです。ルートファイルシステムを 1 に設定し、チェックしたい他のファイルシステムはその後順に指定してください。
注意:構成が正しく機能するには、これらのオプションを順番に並べる必要があります。
高度な使い方
高度なユーザー向けのオプションもありますが、ここでは構成を省略しています (そのため、例は示していません)。しかし、それらのオプションについて説明している素晴らしいリソースが Web 上にあります。特に以下の項目は重要です。
- auto/noauto:起動時にパーティションを自動的にマウントするか (しないか) を制御します。
- exec/noexec:パーティションがバイナリを実行できるかどうかを制御します。セキュリティ上の理由から、通常は noexec に設定されます。
- ro/rw:読み取り権限と書き込み権限を制御します。ro = 読み取り専用、rw = 読み取り/書き込み。
- nouser/user:ユーザーがマウント権限を持つかどうかを制御します。デフォルトは、すべてのユーザーアカウントに対して noexec です。
まとめ
これで、/etc/fstab の目的についてより理解が深まり、システムに表示される内容を正しく理解できるようになったのではないでしょうか。多くの一般ユーザーはこのファイルを使用しません。しかし、もし興味がある方や、設定を変更する必要がある方がいらっしゃれば、この記事の内容が参考になるはずです。
[ 無料のオンラインコース:Red Hat Enterprise Linux Technical Overview ]
執筆者紹介
Tyler is the Sr. Community Manager at Enable Sysadmin, a submarine veteran, and an all-round tech enthusiast! He was first introduced to Red Hat in 2012 by way of a Red Hat Enterprise Linux-based combat system inside the USS Georgia Missile Control Center. Now that he has surfaced, he lives with his wife and son near Raleigh, where he worked as a data storage engineer before finding his way to the Red Hat team. He has written numerous technical documents, from military procedures to knowledgebase articles and even some training curricula. In his free time, he blends a passion for hiking, climbing, and bushcraft with video games and computer building. He is loves to read and enjoy a scotch or bourbon. Find him on Twitter or on LinkedIn.
チャンネル別に見る
自動化
テクノロジー、チームおよび環境に関する IT 自動化の最新情報
AI (人工知能)
お客様が AI ワークロードをどこでも自由に実行することを可能にするプラットフォームについてのアップデート
オープン・ハイブリッドクラウド
ハイブリッドクラウドで柔軟に未来を築く方法をご確認ください。
セキュリティ
環境やテクノロジー全体に及ぶリスクを軽減する方法に関する最新情報
エッジコンピューティング
エッジでの運用を単純化するプラットフォームのアップデート
インフラストラクチャ
世界有数のエンタープライズ向け Linux プラットフォームの最新情報
アプリケーション
アプリケーションの最も困難な課題に対する Red Hat ソリューションの詳細
仮想化
オンプレミスまたは複数クラウドでのワークロードに対応するエンタープライズ仮想化の将来についてご覧ください