ファイル・システムのマウント
ファイル・システムの内容にアクセスするには、ファイル・システムのブロック・デバイスをディレクトリ階層のマウント・ポイントにアタッチする必要があります。任意のディレクトリをマウント・ポイントとして使用できます。
通常は、マウント・ポイント用にディレクトリを作成します。既存のディレクトリを使用する場合は、その上にあるファイル・システムをアンマウントするまで、コンテンツは非表示のままになります。
mountコマンドについて
mountコマンドを使用して、ファイル・システムが格納されたデバイスをマウント・ポイントにアタッチします。次に例を示します。
sudo mount [options] device mount_point
デバイスは、その名前、UUIDまたはラベルを参照することでマウントできます。たとえば、前の項で作成したファイル・システムを/var/projectsにマウントする場合は、次のコマンドを実行してディレクトリを作成してから、その次のいずれかのコマンドを使用できます。
sudo mkdir /var/projects
sudo mount /dev/sdb1 /var/projects
sudo mount UUID="ad8113d7-b279-4da8-b6e4-cfba045f66ff" /var/projects
sudo mount LABEL="Projects" /var/projects
mountコマンドを単独で発行すると、マウントされているすべてのファイル・システムが表示されます。次の例では、コマンドの出力の抜粋で次の内容を示しています。
-
ext4ファイル・システムの/dev/sdb1は、読取りと書込みの両方のために/var/projectsにマウントされます。 -
LVM論理ボリューム
/dev/mapper/vg_host01-lv_rootもext4ファイル・システムで、読取りと書込みの両方のために/にマウントされます。
sudo mount
前述のコマンドの出力は、次のようになります。
/dev/sdb1 on /var/projects type ext4 (rw) /dev/mapper/vg_host01-lv_root on / type ext4 (rw) ...
または、cat /proc/mountsコマンドを使用して、マウントされているファイル・システムについて情報を表示できます。
df -hコマンドは、ファイル・システムとそのディスク領域の使用状況に関する情報を表示します。
Filesystem Size Used Avail Use% Mounted on ... /dev/sda3 46G 18G 29G 39% / /dev/sda2 795M 452M 344M 57% /boot /dev/sda1 100M 5.7M 95M 6% /boot/efi ...
複数のマウント・ポイントに単一のブロック・デバイスをアタッチまたはバインドするには、mount -Bコマンドを使用します。
完全なファイル・システムではない、ある場所のディレクトリ階層の一部を再マウントすることもできます。たとえば、/var/projects/project1を/mntにマウントする場合は、次のコマンドを使用します。
sudo mount -B /var/projects/project1 /mnt
各ディレクトリ階層は、他のミラーとして機能します。同じファイルは、いずれの場所でもアクセスできます。ただし、サブマウントはレプリケートされません。これらのミラーでは、データ冗長性は提供されません。
ファイルを別のファイルにマウントする場合は、次のコマンドを使用します。
sudo touch /mnt/foo
sudo mount -B /etc/hosts /mnt/foo
前述の例のマウント・ポイント/etc/hostsと/mnt/fooは同じファイルを表します。マウント・ポイントとして機能する既存のファイルは、その上にあるファイルをアンマウントするまでアクセスできません。
ミラーにサブマウントを含めるには、-Rオプションを使用して再帰バインドを作成します。
-Bまたは-Rオプションを使用すると、ファイル・システムのマウント・オプションは元のマウント・ポイントのオプションと同じままになります。mountのオプションを変更するには、別個のremountコマンドを使用します。次に例を示します。
sudo mount -o remount,ro /mnt/foo
マウント・ポイントにあるサブマウントを、共有、プライベートまたはセカンダリとしてマークできます。次のオプションを指定できます。
- mount --make-shared mount_point
-
指定したマウント・ポイントの下でのマウントまたはアンマウントは、作成したあらゆるミラーに伝播され、このマウント階層には、他のミラーに適用したマウント変更やアンマウント変更が反映されます。
- mount --make-private mount_point
-
指定したマウント・ポイントの下でのマウントまたはアンマウントは他のミラーに伝播されず、このマウント階層には、他のミラーに適用したマウント変更やアンマウント変更は反映されません。
- mount --make-slave mount_point
-
指定したマウント・ポイントの下でのマウントまたはアンマウントは他のミラーに伝播されませんが、このマウント階層には、他のミラーに適用したマウント変更やアンマウント変更が反映されます。
-Bまたは-Rオプションを使用してマウントがミラーリングされないようにするには、そのマウント・ポイントをバインド不可(unbindable)としてマークします。
sudo mount --make-unbindable mount_pointマウントされたファイル・システム、ディレクトリ階層またはファイルをマウント・ポイント間で移動するには、-Mオプションを使用します。たとえば:
sudo touch /mnt/foo
sudo mount -M /mnt/foo /mnt/bar
ファイル・システムをアンマウントするには、umountコマンドを使用します。
sudo umount /var/projects
または、ブロック・デバイスが単一マウント・ポイントにのみマウントされている場合は、そのブロック・デバイスを指定できます。
詳細は、mount(8)およびumount(8)の各マニュアル・ページを参照してください。
mountコマンドのその他のオプションの使用
mountコマンドの動作は、-oオプションを使用してカンマ区切りリストでオプションを指定することで特定できます。これらのオプションの一部を次に示します。
ノート:
こうしたオプションは、/etc/fstabファイルに入力することもできます。
-
auto -
mount -aコマンドを使用することで、ファイル・システムの自動マウントを許可します。
-
exec -
ファイル・システムにあるバイナリ・ファイルが実行されるようにします。
-
loop -
ループ・デバイス(
/dev/loop*)を使用して、ファイル・システム・イメージが格納されたファイルをマウントします。ファイル・システムのイメージを含むファイルのマウント、別のファイル・システム内のファイルへのファイル・システムの作成およびlosetup(8)のマニュアル・ページを参照してください。ノート:
使用可能なループ・デバイス数のデフォルトは8です。カーネル・ブート・パラメータ
max_loop=Nを使用して、最大255個のデバイスを構成できます。または、次のエントリを/etc/modprobe.confに追加します。options loop max_loop=N前述の例では、Nは、必要なループ・デバイスの数(0から255)でシステムを再起動します。
-
noauto -
mount -aが発行されたときに、ファイル・システムが自動的にマウントされないようにします。
-
noexec -
ファイル・システムにあるバイナリ・ファイルが実行されないようにします。
-
nouser -
rootユーザー以外のユーザーがファイル・システムをマウントまたはアンマウントできないようにします。 -
remount -
ファイル・システムがすでにマウントされている場合にそれを再マウントします。通常は、このオプションを
roやrwなどの別のオプションと組み合せて、マウント済のファイル・システムの動作を変更します。 -
ro -
ファイル・システムを読取り専用でマウントします。
-
rw -
ファイル・システムを読取り/書込み用でマウントします。
-
user -
任意のユーザーによるファイル・システムのマウントまたはアンマウントを許可します。
次の例は、mount -oコマンド構文の様々な使用方法を示しています。
-
/dev/sdd1ファイル・システムを読取り専用アクセス権で/testとしてマウントし、そのファイル・システムのマウントまたはアンマウントをrootユーザーにのみ許可します。sudo mount -o nouser,ro /dev/sdd1 /test
-
ループ・ドライブを使用して読取り専用アクセスでISOイメージ・ファイルを
/mount/cdromにマウントします。sudo mount -o ro,loop ./Linux-Server-dvd.iso /media/cdrom
-
/testファイル・システムを読取り/書込みアクセス権で再マウントし、そのファイル・システム内のすべてのバイナリ・ファイルの実行を禁止します。sudo mount -o remount,rw,noexec /test
ファイル・システムのイメージを含むファイルのマウント
ループ・デバイスを使用すると、ブロック・デバイスとしてファイルにアクセスできます。たとえば、次のように、DVD ISOイメージを含むファイルをマウント・ポイント/ISOディレクトリにマウントできます。
sudo mount -t iso9660 -o ro,loop /var/ISO_files/V33411-01.iso /ISO
必要に応じて、ファイル・システムの永続エントリを/etc/fstabファイルに作成します。次に例を示します。
/var/ISO_files/V33411-01.iso /ISO iso9660 ro,loop 0 0
ファイル・システムのマウント表について
/etc/fstabファイルにはファイル・システムのマウント表が含まれています。この表では、ブロック・デバイスをマウントするためやマウントのバインドを実装するためにmountコマンドで必要となる情報がすべて示されます。ファイル・システムを追加する場合は、そのファイル・システムが起動時に確実にマウントされるように、/etc/fstabファイルに適切なエントリを作成する必要があります。次に、このファイルの一般的なエントリを示します。
/dev/sda1 /boot ext4 defaults 1 2 /dev/sda2 / ext4 defaults 1 1 /dev/sda3 swap swap defaults 0 0
前の出力の各フィールドの説明は次のとおりです。
-
最初のフィールドはマウントするデバイスを示します。これは、デバイス名、UUID、デバイス・ラベルまたはリモート・ファイル・システムの仕様によって指定されます。デバイス名が変わる可能性がある場合は、デバイス名ではなくUUIDまたはデバイス・ラベルを使用してください。たとえば:
LABEL=Projects /var/projects ext4 defaults 1 2
なお、最初のフィールドでは、2番目のフィールドで示されているマウント・ポイントにマウントされるファイル・システム、ディレクトリ階層またはファイルのパスが示されます。3番目と4番目のフィールドには、
noneおよびbindを指定します。 -
2番目のフィールドは、ファイル・システムのマウント・ポイントまたはスワップ・パーティションを示す
swapです。このマウント・ポイントは、ファイルまたはディレクトリへのパスにする必要があります。 -
3番目のフィールドは、ファイル・システム・タイプ(
ext4、swapなど)です。 -
4番目のフィールドにはマウント・オプションを指定します。
-
5番目の列では、dumpコマンドでファイル・システムがダンプされる(
1)かダンプされない(0)が示されます。 -
6番目の列は、fsckコマンドがブート時にファイル・システムのチェックを実行する順序を示します。rootファイル・システムのその値は
1ですが、他のファイル・システムは2です。値が0の場合は、チェックがスキップされます。これは、スワップの場合、起動時にマウントされていないファイル・システムの場合、および既存のマウントのバインドの場合に適しています。
バインド・マウントの場合は、先頭から4個のフィールドのみを指定します。たとえば:
path mount_point none bind
詳細は、fstab(5)マニュアル・ページを参照してください。