Show Table of Contents
3.12. Bind 掛載與本文相關的路徑名稱
GFS2 檔案系統並不提供與本文相關(context-dependent)的路徑名稱,這讓您可以建立符號連結,指向不同的檔案或目錄。要在 GFS2 中使用這功能,您可以使用
mount
指令的 bind
選項。
mount
指令的 bind
選項能讓您重新掛載檔案層級的不同部份,同時又可以在原先的位置中取用。這指令的格式如下。
mount --bind olddir newdir
執行這個指令後,
olddir
目錄的內容會在兩個地方出現:olddir
與 newdir
。您也可以使用這選項讓一個檔案出現在兩個地方。
舉例來說,執行以下指令後,
/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
目錄作為與本文相關的路徑名稱,這可以解析以下路徑之一,端視系統架構而定。
/usr/i386-bin /usr/x86_64-bin /usr/ppc64-bin
您可以建立一個空的
/bin
目錄,備份這同樣的功能。然後,使用一個程序檔或 /etc/fstab
,透過 mount -bind
指令把每一個架構目錄掛載到 /bin
目錄下。舉例來說,您可以用以下指令作為程序檔。
mount --bind /usr/i386-bin /bin
否則您可以使用以下條目,放入
/etc/fstab
檔案中。
/usr/1386-bin /bin none bind 0 0
bind 掛載可以提供比本文相關的路徑名稱更大的彈性,因為您可以根據任何自訂的定義(例如檔案系統
%fill
的值)來掛載不同的目錄。與本文相關的路徑名稱所能提供的其實更為受限。然而請注意,您需要自行撰寫程序檔,根據像 %fill
的值來掛載。
警告
當您使用
bind
選項來掛載檔案系統,同時原有的檔案系統是以 rw
選項掛載,那麼新的檔案系統也會以 rw
選項掛載,即使您使用了 ro
選項亦然;ro
旗標會自動被忽略。在這種情形下,新的檔案系統在 /proc/mounts
目錄中會被標示為 ro
,產生誤導。