3.11. Bind マウントとコンテキスト依存のパス名
GFS2 ファイルシステムはコンテキスト依存のパス名 (CDPN) をサポートしません。CDPN は ユーザーが使用できる目的地ファイルやディレクトリへポイントするシンボリックリンクを作成 できるようにするものです。GFS2 内でのこの機能には、
mount
コマンドで bind
オプションを使います。
mount
コマンドの bind
オプションにより、 ユーザーはファイル階級の一部を本来の場所でまだ使用できる間に別の場所で再マウントできる ようになります。このコマンドの形式は以下のようになります。
mount --bind olddir newdir
このコマンドを実行した後、
olddir
ディレクトリの内容は、2つの 場所、 olddir
と newdir
で利用できるようになります。 また、このオプションを使用して個別ファイルを2つの場所で利用できるようにすることが可能です。
例えば、以下のコマンド群を実行した後は、
/root/tmp
の内容は 以前にマウントされていた /var/log
ディレクトリの内容と同一に なります。
[root@menscryfa ~]#cd ~root
[root@menscryfa ~]#mkdir ./tmp
[root@menscryfa ~]#mount --bind /var/log /tmp
別の方法として、
/etc/fstab
ファイル内のエントリを使用して、 マウント時に同じ結果を達成できます。以下の /etc/fstab
エントリは /root/tmp
の内容が /var/log
ディレクトリの 内容と同一になる結果を得ます。
/var/log /root/tmp none bind 0 0
ファイルシステムをマウントした後、
mount
コマンドを使用して、 以下の例のようにファイルシステムがマウントされていることを確認できます。
[root@menscryfa ~]# mount | grep /tmp
/var/log on /root/tmp type none (rw,bind)
コンテキスト依存のパス名をサポートするファイルシステムでは、
/bin
ディレクトリを コンテキスト依存のパス名として定義しておくと、それがシステムアーキテクチャに応じて以下のパスの1つへ 解決されるでしょう。
/usr/i386-bin /usr/x86_64-bin /usr/ppc64-bin
これと同じ機能は空の
/bin
ディレクトリを作成することで 達成できます。その後は、スクリプトか、/etc/fstab
ファイル内の エントリを使用して、mount -bind
コマンドで、個別アーキテクチャディレクトリの それぞれを /bin
ディレクトリにマウントできます。例えば、スクリプト内の1行として 以下のコマンドを使用することができます。
mount --bind /usr/i386-bin /bin
別の方法として、
/etc/fstab
ファイル内に以下のエントリを使用できます。
/usr/1386-bin /bin none bind 0 0
bind マウントはコンテキスト依存のパス名よりもより大きな柔軟性を提供します。 この機能を使用して、定義する如何なる基準(ファイルシステムの
%fill
の値など)に応じても異なるディレクトリにマウントすることができます。 コンテキスト依存のパス名はそれらが担当できるものに限定されます。しかし、%fill
の値などの基準に応じてマウントの為の自分のスクリプトを書く必要が あることに注意してください。
警告
オリジナルのファイルシステムが
rw
でマウントされている場合、ro
フラグを使用して bind
オプションでファイルシステムをマウントしても、 新規のファイルシステムは rw
でマウントされます。 ro
フラグは少々無視されます。このケースでは、新規のファイルシステムは /proc/mounts
ディレクトリ内で ro
とマークが 付くかもしれませんが、これは間違いとなります。