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

Linux でファイルシステムを作成してマウントする方法

ファイル システムの種類

ファイルシステムを作成すると、デバイスに情報が書き込まれ、空き領域の順序が作成されます。このファイル システム関連のデータは、スペースのごく一部を消費します。ディスク ドライブの残りのスペースは、ブロックと呼ばれるサイズが一定の小さなセグメントに分割されます。 Linux は多くのファイル システム タイプをサポートしており、その一部を以下に説明します。

ファイルシステム 説明
ext2 固定ディスクとリムーバブル メディアの高性能
ext3 ext2 のジャーナリング バージョン
ext4 より大きなファイルとファイル システム サイズをサポート
vfat Windows と Linux の間でファイルを共有するときに便利な MS-DOS ファイル システム
XFS 高性能ジャーナリング ファイル システム
Btrfs 大規模ストレージ システムのスケーラビリティ要件に対応

ファイルシステムの作成

デバイスまたはハード ディスク パーティションに Linux ファイル システムを構築するコマンドは mkfs です。コマンドの構文は次のとおりです:

# mkfs [options] device

mkfs コマンドは、実際には、mkfs.ext2 や mkfs.ext4 などのさまざまなファイル システム ビルダー ユーティリティのフロント エンドです。これらのユーティリティは、コマンド ラインから直接実行できます。 mkfs ラッパーを使用する場合は、-t fstype オプションを含めて、構築するファイル システムのタイプを指定します。指定しない場合、デフォルトのファイル システム タイプである ext2 が作成されます。

サポートされているどのファイル システム タイプがインストールされているかを確認するには、ls /sbin/mkfs* コマンドを使用します。

# ls -lrt /sbin/mkfs*
-rwxr-xr-x. 1 root root  28624 Jun 10  2014 /sbin/mkfs.fat
lrwxrwxrwx. 1 root root      8 Jan  7  2015 /sbin/mkfs.msdos -> mkfs.fat
lrwxrwxrwx. 1 root root      8 Jan  7  2015 /sbin/mkfs.vfat -> mkfs.fat
-rwxr-xr-x. 4 root root  96296 Aug  3  2017 /sbin/mkfs.ext4
-rwxr-xr-x. 4 root root  96296 Aug  3  2017 /sbin/mkfs.ext3
-rwxr-xr-x. 4 root root  96296 Aug  3  2017 /sbin/mkfs.ext2
-rwxr-xr-x. 1 root root 368464 Aug  4  2017 /sbin/mkfs.xfs
-rwxr-xr-x. 1 root root 375240 Aug  6  2017 /sbin/mkfs.btrfs
-rwxr-xr-x. 1 root root  37104 Dec  1 23:28 /sbin/mkfs.minix
-rwxr-xr-x. 1 root root  36984 Dec  1 23:28 /sbin/mkfs.cramfs
-rwxr-xr-x. 1 root root  11520 Dec  1 23:28 /sbin/mkfs

mkdosfs、mkfs.msdos、および mkfs.vfat ファイルは、mkfs.fat へのシンボリック リンクです。

mkfs の使用

mkfs コマンドを使用して作成されるデフォルトのファイル システム タイプは ext2 です。前述のように、mkfs は他のファイル システム ビルド ユーティリティを呼び出すラッパーです。したがって、次のコマンドはいずれも、指定したデバイスに ext2 ファイル システムを作成します:

# mkfs /dev/xvdd1
# mke2fs /dev/xvdd1
# mkfs.ext2 /dev/xvdd1

ext3 ファイル システムを作成するには、次のいずれかのコマンドを使用します:

# mkfs –t ext3 /dev/xvdd1 
# mke2fs –t ext3 /dev/xvdd1 
# mkfs.ext3 /dev/xvdd1

ext4 ファイル システムを作成するには、次のいずれかのコマンドを使用します:

# mkfs –t ext4 /dev/xvdd1 
# mke2fs –t ext4 /dev/xvdd1 
# mkfs.ext4 /dev/xvdd1

構成ファイル

ブロック サイズ、フラグメント サイズ、グループごとのブロック、ジャーナル オプション、inode 数、およびその他のパラメータをカスタマイズするためのオプションが多数用意されています。オプションを含めずに、/etc/mke2fs.conf で指定されているデフォルト 構成ファイルが使用されます。

サンプル /etc/mke2fs.conf ファイル

ファイル システム ラベル

ファイル システム ビルド ユーティリティの便利なオプションは -L です 名前オプション。これにより、パーティションにラベルが割り当てられます。このラベルは、ファイル システムをマウントするときにデバイス名の代わりに使用できます。ラベルの最大サイズは 16 文字 に制限されています .既存のファイル システムの場合、e2label コマンドは、ラベルを表示または設定するために使用されます。

ファイル システムには、ユニバーサル ユニーク ID (UUID) が自動的に割り当てられます .ファイルシステムのマウント時に UUID を使用できます。 UUID、ラベル、ファイル システム タイプを表示するには、blkid を使用します 指図。次の例は、ラベルの有無にかかわらず、さまざまなファイル システムを作成し、blkid コマンドを使用して情報を表示する方法を示しています。 ext2 ファイル システムを作成して情報を表示するには、次のように入力します。

# mkfs /dev/xvdf1
# blkid /dev/xvdf1
/dev/xvdf1: UUID="41bae7c3-396a-436d-9764-d27d4ca3f17b" TYPE="ext2"

ext3 ファイル システムを作成して情報を表示するには、次のように入力します。

# mkfs -t ext3 /dev/xvdf1
# blkid /dev/xvdf1
/dev/xvdf1: UUID="c8e958f4-e5d0-4404-8a9a-2cea24675fcd" SEC_TYPE="ext2" TYPE="ext3"

ext4 ファイル システムを作成し、ラベル名を割り当て、情報を表示するには、次のように入力します。

# mkfs -t ext4 -L "Test Label" /dev/xvdf1 
# blkid /dev/xvdf1
/dev/xvdf1: LABEL="Test Label" UUID="687eb83f-c16f-4fa9-bb49-1621eed3a35d" TYPE="ext4"

ファイル システムのマウント

異なるパーティション上のファイル システムと、CD、DVD、または USB フラッシュ ドライブなどのリムーバブル デバイスにアクセスするには、ディレクトリ階層に接続する必要があります。パーティションまたはデバイスを接続するには、マウント ポイントを作成する必要があります。マウント ポイントは、mkdir コマンドで作成された単なるディレクトリです。ディレクトリまたはマウント ポイントが作成されたら、mount コマンドを使用してパーティションを接続します。マウント コマンドの構文は次のとおりです。

# mount [options] device_file mount_point

次の例では、マウント ポイント (/test) を作成し、パーティションをアタッチします:

# mkdir /test
# mount /dev/xvdf1 /test

または、UUID またはラベルを参照して、パーティションまたはデバイスをマウントします。次の例では、blkid コマンドを使用して UUID とラベルを表示し、それぞれを参照してパーティションをマウントします。

# blkid /dev/xvdf1
/dev/xvdf1: LABEL="Test Label" UUID="687eb83f-c16f-4fa9-bb49-1621eed3a35d" TYPE="ext4"
# mount LABEL="Test Label" /test
# mount UUID="687eb83f-c16f-4fa9-bb49-1621eed3a35d" /test

オプションを指定せずにマウント コマンドを実行すると、現在アタッチされているすべてのファイル システムが表示されます:

# mount | grep test
/dev/xvdf1 on /test type ext4 (rw,relatime,seclabel,data=ordered)

この例では、/dev/xvdf1 パーティションが /test にマウントされています。ファイル システム タイプは ext4 で、読み取りと書き込みの両方のためにマウントされます。 df コマンドは、マウントされたファイル システムも表示します。例:

# df -hP /test
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvdf1      923M  2.4M  857M   1% /test

proc ファイル システムの情報には、マウントされたファイル システムが表示されます。例:

# cat /proc/mounts | grep test
/dev/xvdf1 /test ext4 rw,seclabel,relatime,data=ordered 0 0

マウント オプション

マウント オプションを指定するには、–o を使用します flag の後に、コンマで区切られたオプションの文字列が続きます。以下は、mount コマンドで使用可能なオプションの一部です:

  • オート :mount –a コマンドを使用して、ファイル システムを自動的にマウントできるようにします
  • ループ :イメージをループ デバイスとしてマウントします
  • noauto :mount –a コマンドを使用したファイル システムの自動マウントを禁止します
  • noexec :ファイル システムでのバイナリ ファイルの実行を禁止します
  • ノーザー :通常のユーザー (root 以外) によるファイル システムのマウントとアンマウントを禁止します
  • 再マウント :ファイル システムが既にマウントされている場合は、再マウントします
  • :ファイル システムを読み取り専用でマウントします
  • :読み取りと書き込みの両方のためにファイル システムをマウントします
  • ユーザー :通常のユーザー (root 以外) がファイル システムをマウントおよびアンマウントできるようにします

たとえば、/test マウント ポイントに /dev/xvdf1 パーティションを読み取り専用としてマウントし、root ユーザーだけがファイル システムのマウントとアンマウントを実行できるようにするには、次のように入力します。

# mount –o nouser,ro /dev/xvdf1 /test

ループ デバイスを使用して ISO イメージをマウントするには (ISO イメージが現在のディレクトリに存在し、マウント ポイントが存在すると仮定します)、次のように入力します。

# mount -o ro,loop rhel7-x86_64-dvd.iso /media/cdrom

ジャーナリング マウント オプション

ext3 および ext4 ファイル システムには、-o オプションで設定できる 3 つのジャーナリング レベルがあります。 オプションをマウント コマンドまたは /etc/fstab のオプション セクションに追加:

  • data=journal :最高レベル。最もジャーナリングを行うもの。これにより、すべてのデータとメタデータの変更に関するジャーナル エントリが書き込まれます。すべてのデータは、メイン ファイル システムに書き込まれる前にジャーナルにコミットされます。
  • data=ordered :デフォルトのモード。すべてのデータは、メタデータがジャーナルにコミットされる前に、メイン ファイル システムに直接強制的に送信されます。
  • data=writeback :最低レベル。データの順序は保持されません。メタデータがジャーナルにコミットされた後、データをメイン ファイル システムに書き込むことができます。

ファイル システムのアンマウント

ファイル システムをアンマウントするには、umount コマンドを使用します 指図。パーティション名、デバイス名、またはマウント ポイントが引数として使用されます。例:

# umount /dev/xvdd1 
# umount /test

/etc/fstab ファイル

/etc/fstab ファイルはファイル システム マウント テーブルと呼ばれ、mount コマンドがデバイスをマウントするために必要なすべての情報が含まれています。新しいファイル システムを追加する場合は、/etc/fstab に適切なエントリを作成して、ブート時にファイル システムがマウントされるようにします。以下は、/etc/fstab ファイル内のエントリの例です:

# cat /etc/fstab 
LABEL=centos_root		/        ext4      defaults         0 0
devpts     /dev/pts  devpts  gid=5,mode=620   0 0
tmpfs      /dev/shm  tmpfs   defaults         0 0
proc       /proc     proc    defaults         0 0
sysfs      /sys      sysfs   defaults         0 0
UUID=687eb83f-c16f-4fa9-bb49-1621eed3a35d      /test   ext4     defaults         0 0

最初の列はマウントするデバイスです。デバイス名は変更される可能性があるため、デバイス名の代わりに UUID またはラベル名を使用する必要があります。 2 番目の列は、スワップ パーティション エントリを除くマウント ポイントです。 3 番目の列は、ファイル システムの種類です。 4 番目の列は、マウント オプションを指定します。 5 列目は dump コマンドで使用されます。数値 1 はファイル システムをダンプすることを意味し、0 はファイル システムをダンプする必要がないことを意味します。最後の列は、再起動時にファイル システム チェックを実行する順序を決定するために fsck プログラムによって使用されます。ルート ファイル システムには値 1 を指定し、他のファイル システムには値 2 を指定する必要があります。値 0 はファイル システムをチェックしません。


Linux
  1. Linuxでスワップを作成する方法

  2. Linuxでスワップファイルを作成する方法

  3. Linuxでドライブをマウントおよびアンマウントする方法

  1. Btrfs ファイル システムを作成してマウントする方法 (例で説明)

  2. Linux でファイルシステムをマウントおよびアンマウントする方法

  3. BTRFS ファイル システムを作成してクエリを実行する方法

  1. ファイルを作成してファイルシステムとしてマウントする方法は?

  2. Linux で iso ファイルをマウントする方法

  3. LinuxでISOファイルをマウントするには?