Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

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

特定のファイルシステムを添付する場合は、以下の形式で mount コマンドを使用します。
$ mount [option]… device directory
デバイスは以下で特定できます
  • ブロックデバイスへのフルパス (例: /dev/sda3)
  • UUID (Universally Unique Identifier )- UUID=34795a28-ca6d-4fd8-a347-73671d0c19cbなど
  • ボリュームラベル: LABEL=homeなど
ファイルシステムがマウントされると、そのディレクトリーの元の内容にアクセスできないことに注意してください
重要: ディレクトリーは使用されていない状態にする
Linux では、ユーザーがファイルシステムがすでに接続されているディレクトリーにファイルシステムをマウントできます。特定のディレクトリーがマウントポイントとして機能しているかどうかを確認するには、そのディレクトリーを引数として findmnt ユーティリティーを実行し、終了コードを確認します。
findmnt directory; echo $?
ディレクトリーにファイルシステムが接続されていない場合は、指定のコマンドは 1 を返します。
デバイス名、ターゲットディレクトリー、ファイルシステムタイプなど、必要な情報をすべて付けずに mount コマンドを実行すると、マウントは /etc/fstab ファイルの内容を読み取り、指定のファイルシステムがリストされているかどうかを確認します。/etc/fstab ファイルには、選択したファイルシステムがマウントされるデバイス名およびディレクトリーのリスト、ファイルシステムタイプ、およびマウントオプションが含まれます。したがって、/etc/fstab で指定されたファイルシステムをマウントする場合は、以下のいずれかのオプションを選択します。
mount [option]… directory
mount [option]… device
コマンドが root で実行していない限り、ファイルシステムのマウントには権限が必要になることに注意してください 「マウントオプションの指定」)。
注記: 特定のデバイスの UUID とラベルの決定
デバイスが UUID と特定デバイスのラベルを使用する場合は、以下の形式で blkid コマンドを使用します。
blkid device
たとえば、/dev/sda3 に関する情報を表示するには、次のコマンドを実行します。
# blkid /dev/sda3
/dev/sda3: LABEL="home" UUID="34795a28-ca6d-4fd8-a347-73671d0c19cb" TYPE="ext3"

19.2.1. ファイルシステムタイプの指定

ほとんどの場合、mount はファイルシステムを自動的に検出します。ただし、NFS (Network File System)または CIFS (Common Internet File System)などの特定のファイルシステムは認識されず、手動で指定する必要があります。ファイルシステムの種類を指定するには、以下の形式で mount コマンドを使用します。
$ mount -t type device ディレクトリー
表19.1「一般的なファイルシステムのタイプ」 mount コマンドで使用可能な一般的なファイルシステムタイプの一覧を提供します。利用可能なファイルシステムの全タイプの一覧は、「手動ページのドキュメント」

表19.1 一般的なファイルシステムのタイプ

タイプ 説明
ext2 ext2 ファイルシステム。
ext3 ext3 ファイルシステム。
ext4 ext4 ファイルシステム。
btrfs btrfs ファイルシステム。
xfs xfs ファイルシステム。
iso9660 ISO 9660 ファイルシステム。通常、これは光学メディア(通常は CD)で使用されます。
nfs NFS ファイルシステム。一般的には、ネットワーク経由でファイルにアクセスするために使用されます。
nfs4 NFSv4 ファイルシステム。一般的には、ネットワーク経由でファイルにアクセスするために使用されます。
udf UDF ファイルシステム。通常、これは光学メディア(通常は DVD)で使用されます。
vfat FAT ファイルシステム。これは、Windows オペレーティングシステムを実行しているマシンで、USB フラッシュドライブやフロッピーディスクなどの特定のデジタルメディアで使用されます。

例19.2 USB フラッシュドライブのマウント

古い USB フラッシュドライブは多くの場合、FAT ファイルシステムを使用します。このようなドライブが /dev/sdc1 デバイスを使用し、/media/flashdisk/ ディレクトリーが存在することを前提として、root で次のコマンドを実行します。
~]# mount -t vfat /dev/sdc1 /media/flashdisk

19.2.2. マウントオプションの指定

追加のマウントオプションを指定するには、以下の形式でコマンドを使用します。
mount -o options device directory
複数のオプションを指定する場合は、コンマの後に空白を挿入しないでください。また、mount は、スペースに追加のパラメーターとして空白を誤って解釈します。
表19.2「一般的なマウントオプション」 一般的なマウントオプションの一覧を提供します。利用可能なオプションの詳細な一覧は、に記載されている適切な man 「手動ページのドキュメント」

表19.2 一般的なマウントオプション

オプション 説明
async ファイルシステムで非同期の入出力操作を許可します。
auto mount -a コマンドを使用して、ファイルシステムを自動的にマウントできるようにします。
defaults async、auto、dev、exec、nouser、rw、suid のエイリアスを指定します。
exec 特定のファイルシステムでのバイナリーファイルの実行を許可します。
loop イメージをループデバイスとしてマウントします。
noauto デフォルトの動作では、mount -a コマンドを使用したファイルシステムの自動マウントが禁止されます
noexec 特定のファイルシステムでのバイナリーファイルの実行は許可しません。
nouser 普通のユーザー(つまり root以外のユーザー)によるファイルシステムのマウントおよびアンマウントは許可しません。
remount ファイルシステムがすでにマウントされている場合は再度マウントを行います。
ro 読み取り専用でファイルシステムをマウントします。
rw ファイルシステムを読み取りと書き込み両方でマウントします。
user 普通のユーザー(つまり root以外のユーザー)によるファイルシステムのマウントおよびアンマウントを許可します。
例19.3「ISO イメージのマウント」、を参照してください。

例19.3 ISO イメージのマウント

ISO イメージ(または一般的にディスクイメージ)は、ループデバイスを使用してマウントできます。Fedora 14 インストールディスクの ISO イメージが現在の作業ディレクトリーにあり、/media/cdrom/ ディレクトリーが存在すると、以下のコマンドを実行してこのディレクトリーにイメージをマウントします。
# mount -o ro,loop Fedora-14-x86_64-Live-Desktop.iso /media/cdrom
ISO 9660 は、読み取り専用のファイルシステムを設計していることに注意してください。

19.2.3. マウントの共有

特定のシステム管理タスクは、ディレクトリーツリー内の複数の場所から同じファイルシステムにアクセスしなければならない場合があります(例: chroot 環境を準備する時など)。これは可能で、Linux により、必要な数のディレクトリーに同じファイルシステムをマウントできます。さらに、mount コマンドは、特定のマウントを複製する手段を提供する --bind オプションを実装します。その用途は以下のとおりです。
$ mount --bind old_directory new_directory
このコマンドは、両方の場所からファイルシステムにアクセスできますが、元のディレクトリー内にマウントされているファイルシステムには適用されません。これらのマウントも追加するには、次のコマンドを使用します。
$ mount --rbind old_directory new_directory
さらに、可能な限り柔軟性を提供するため、Red Hat Enterprise Linux 7 は共有サブツリーと呼ばれる機能を実装します。この機能により、以下の 4 つのマウントタイプを使用できます。
共有マウント
共有マウントにより、指定したマウントポイントの正確なレプリカを作成できます。マウントポイントが共有マウントとしてマークされている場合は、元のマウントポイント内のすべてのマウントが複製マウントポイントに反映されます(その逆も同様です)。マウントポイントのタイプを共有マウントに変更するには、シェルプロンプトで以下を入力します。
$ mount --make-shared mount_point
あるいは、選択したマウントポイントと、その下のすべてのマウントポイントのマウントタイプを変更するには、以下のコマンドを実行します。
$ mount --make-rshared mount_point
例19.4「共有マウントポイントの作成」、を参照してください。

例19.4 共有マウントポイントの作成

他のファイルシステムが一般的にマウントされている場所は、リムーバブルメディア用の /media/ ディレクトリー、そして一時的にマウントされたファイルシステム用の /mnt/ ディレクトリーという 2 つの場所があります。共有マウントを使用すると、この 2 つのディレクトリーが同じコンテンツを共有できます。これを実行するには、root として /media/ ディレクトリーを共有としてマークします。
# mount --bind /media /media
# mount --make-shared /media
以下のコマンドを使用して、/mnt/ に重複を作成します。
# mount --bind /media /mnt
これで、/media/ 内のマウントが /mnt/ にも現れていることを確認できます。たとえば、CD-ROM ドライブに空でないメディアがあり、/media/cdrom/ ディレクトリーが存在する場合は、以下のコマンドを実行します。
# mount /dev/cdrom /media/cdrom
# ls /media/cdrom
EFI  GPL  isolinux  LiveOS
# ls /mnt/cdrom
EFI  GPL  isolinux  LiveOS
同様に、/mnt/ ディレクトリーにマウントされているファイルシステムが /media/ に反映されていることを確認することもできます。たとえば、/dev/sdc1 デバイスを使用する空でない USB フラッシュドライブをプラグインしており、/ mnt/flashdisk/ ディレクトリーが存在する場合は、以下を入力します。
# # mount /dev/sdc1 /mnt/flashdisk
# ls /media/flashdisk
en-US  publican.cfg
# ls /mnt/flashdisk
en-US  publican.cfg
スレーブマウント
スレーブマウントでは、指定したマウントポイントの複製を限定した作成が可能になります。マウントポイントがスレーブマウントとしてマークされている場合は、元のマウントポイント内のすべてのマウントが複製マウントポイントに反映されますが、スレーブマウント内のマウントは元のコピーに反映されません。マウントポイントのタイプをスレーブマウントに変更するには、シェルプロンプトで以下を入力します。
mount --make-slave mount_point
または、入力することで、選択したマウントポイントのマウントポイントと、その下のマウントポイントをすべて変更することもできます。
mount --make-rslave mount_point

例19.5 スレーブマウントポイントの作成

この例は、/media/ ディレクトリーのコンテンツが /mnt/ にも表示され、/mnt / ディレクトリーのマウントが /media/ に反映されないようにする方法を示していますroot として、まず /media/ ディレクトリーを shared としてマーク付けします。
~]# mount --bind /media /media
~]# mount --make-shared /media
次に、/mnt/ に重複を作成しますが、"slave" とマークします。
~]# mount --bind /media /mnt
~]# mount --make-slave /mnt
ここで、/media/ 内のマウントが /mnt/ にも表示されていることを確認します。たとえば、CD-ROM ドライブに空でないメディアがあり、/media/cdrom/ ディレクトリーが存在する場合は、以下のコマンドを実行します。
~]# mount /dev/cdrom /media/cdrom
~]# ls /media/cdrom
EFI  GPL  isolinux  LiveOS
~]# ls /mnt/cdrom
EFI  GPL  isolinux  LiveOS
また、/mnt/ ディレクトリーにマウントされているファイルシステムが / media/ に反映されていないことを確認します。たとえば、/dev/sdc1 デバイスを使用する空でない USB フラッシュドライブをプラグインしており、/ mnt/flashdisk/ ディレクトリーが存在する場合は、以下を入力します。
~]# mount /dev/sdc1 /mnt/flashdisk
~]# ls /media/flashdisk
~]# ls /mnt/flashdisk
en-US  publican.cfg
プライベートマウント
プライベートマウントはデフォルトのマウントのタイプで、共有またはスレーブマウントとは異なり、伝播イベントが受信または転送されません。マウントポイントを明示的にプライベートマウントとしてマークするには、シェルプロンプトで以下を入力します。
mount --make-private mount_point
あるいは、選択したマウントポイントと、その下のすべてのマウントポイントのマウントタイプを変更できます。
mount --make-rprivate mount_point

例19.6 プライベートマウントポイントの作成

例19.4「共有マウントポイントの作成」 で以下のコマンドを使用して共有マウントポイントが作成されていることを前提としています。
~]# mount --bind /media /media
~]# mount --make-shared /media
~]# mount --bind /media /mnt
/mnt/ ディレクトリーをプライベートとしてマークするには、以下を入力します。
~]# mount --make-private /mnt
/media/ 内のマウントはいずれも /mnt/ に表示されることを確認できるようになりました。たとえば、CD-ROM ドライブに空でないメディアがあり、/media/cdrom/ ディレクトリーが存在する場合は、以下のコマンドを実行します。
~]# mount /dev/cdrom /media/cdrom
~]# ls /media/cdrom
EFI  GPL  isolinux  LiveOS
~]# ls /mnt/cdrom
~]#
また、/mnt/ ディレクトリーにマウントされているファイルシステムが /media/ に反映されていないことを確認することもできます。たとえば、/dev/sdc1 デバイスを使用する空でない USB フラッシュドライブをプラグインしており、/ mnt/flashdisk/ ディレクトリーが存在する場合は、以下を入力します。
~]# mount /dev/sdc1 /mnt/flashdisk
~]# ls /media/flashdisk
~]# ls /mnt/flashdisk
en-US  publican.cfg
バインド不可能なマウント
指定したマウントポイントが何を複製されないようにするには、バインド不可能なマウントが使用されます。マウントポイントのタイプをバインド不可なマウントに変更するには、シェルプロンプトで以下を入力します。
mount --make-unbindable mount_point
あるいは、選択したマウントポイントと、その下のすべてのマウントポイントのマウントタイプを変更できます。
mount --make-runbindable mount_point

例19.7 Unbindable マウントポイントの作成

root で /media/ ディレクトリーが共有されないようにするには、以下を実行します
# mount --bind /media /media
# mount --make-unbindable /media
これにより、このマウントの複製を作成しようとするとエラーが出て失敗します。
# mount --bind /media /mnt
mount: wrong fs type, bad option, bad superblock on /media,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail  or so

19.2.4. マウントポイントの移動

ファイルシステムがマウントされるディレクトリーを変更するには、以下のコマンドを使用します。
# mount --move old_directory new_directory

例19.8 既存の NFS マウントポイントの移動

NFS ストレージにはユーザーディレクトリーが含まれており、/mnt/userdirs/ にマウントされている必要がありますroot で、以下のコマンドを使用して、このマウントポイントを /home に移動します。
# mount --move /mnt/userdirs /home
マウントポイントが移動したことを確認するには、両方のディレクトリーの内容を一覧表示します。
# ls /mnt/userdirs
# ls /home
jill  joe

19.2.5. rootの読み取り専用パーミッションの設定

場合によっては、読み取り専用パーミッションで root ファイルシステムをマウントする必要があります。ユースケースの例には、システムの予期せぬ電源が切れた後に行うセキュリティーの向上またはデータ整合性の保持が含まれます。

19.2.5.1. 起動時に読み取り専用パーミッションでマウントするように root を設定

  1. /etc/sysconfig/readonly-root ファイルで、READONLYyes に変更します。
    # Set to 'yes' to mount the file systems as read-only.
    READONLY=yes
    [output truncated]
  2. / etc/fstabファイルで、root エントリー(/) でデフォルトを ro に変更します。
    /dev/mapper/luks-c376919e... / ext4 ro,x-systemd.device-timeout=0 1 1
  3. /etc/default/grub ファイルの GRUB_CMDLINE_LINUX ディレクティブに ro を追加し、rw が含まれていないことを確認します。
    GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet ro"
  4. GRUB2 設定ファイルを再作成します。
    # grub2-mkconfig -o /boot/grub2/grub.cfg
  5. tmpfs ファイルシステムに書き込み権限でマウントするファイルおよびディレクトリーを追加する必要がある場合は、/etc/rwtab.d/ ディレクトリーにテキストファイルを作成し、そこに設定を置きます。たとえば、/etc/example/file を書き込みパーミッションでマウントするには、この行を /etc/rwtab.d/のサンプルファイルに追加します
    files /etc/example/file
    重要
    tmpfs のファイルおよびディレクトリーの変更内容は、再起動後は持続しません。
  6. システムを再起動します。

19.2.5.2. root のインスタントへの再マウント

root(/)がシステム起動時に読み取り専用パーミッションでマウントされている場合は、書き込みパーミッションで再マウントできます。
# mount -o remount,rw /
これは、/ が読み取り専用パーミッションで誤ってマウントされている場合に役立ちます。
読み取り専用パーミッションで / を再マウントするには、以下を実行します。
# mount -o remount,ro /
注記
このコマンドは、/ 全体を読み取り専用パーミッションでマウントします。より適切な方法として、で説明されているように、特定のファイルおよびディレクトリーの書き込みパーミッションを保持するには、それらを RAM 「起動時に読み取り専用パーミッションでマウントするように root を設定」

19.2.5.3. 書き込みパーミッションを保持するファイルおよびディレクトリー

システムが正しく機能するためには、一部のファイルやディレクトリーで書き込みパーミッションが必要とされます。root が読み取り専用モードの場合、tmpfs 一時ファイルシステムの RAM にマウントされます。このようなファイルおよびディレクトリーのデフォルトセットは、/etc/rwtab ファイルから読み取り、以下のような内容になっています。
dirs	/var/cache/man
dirs	/var/gdm
[output truncated]
empty	/tmp
empty	/var/cache/foomatic
[output truncated]
files	/etc/adjtime
files	/etc/ntp.conf
[output truncated]
/etc/rwtab ファイルのエントリーは、以下の形式に従います。
how the file or directory is copied to tmpfs       	path to the file or directory
ファイルまたはディレクトリーは、以下の 3 つの方法で tmpfs にコピーできます。
  • 空のパス: 空のパスは tmpfs にコピーされます。例: 空の /tmp
  • dirs パス: ディレクトリーツリーが空の状態で tmpfs にコピーされます。例: dirs /var/run
  • ファイルパス:ファイルまたはディレクトリーツリーがそのまま tmpfs にコピーされます。例: /etc/resolv.confファイル
カスタムパスを /etc/rwtab.d/ に追加する場合も同じ形式が適用されます。

このページには機械翻訳が使用されている場合があります (詳細はこちら)。