Mount

使用 mount –bind 代替符號連結有什麼缺點嗎?

  • February 17, 2020

ls符號連結對,mv和等函式的操作方式有限制,cp因為與 shell 啟動的命令(如)不同cd,這些函式沒有關於使用者如何訪問與邏輯路徑相關的目錄的資訊(請參閱相關文章)。似乎使用該mount --bind選項可以解決這個問題,提供增強的功能以及與 samba 和其他文件伺服器的兼容性,因為掛載的目錄將有兩個獨立的物理路徑,而不是一個連結。

我想使用該mount --bind選項將我的所有符號連結替換為引用,但這意味著在 fstab 中安裝超過 150 個點。是否有任何性能問題可能由此或我應該考慮的任何其他缺點引起?

使用mount --bind,目錄樹存在於目錄層次結構中的兩個(或多個)位置。這可能會導致許多問題。備份和其他文件副本將選擇所有副本。指定要復製文件系統變得很困難:您最終將複製綁定掛載的文件兩次。find使用, grep -r,等搜尋locate將遍歷所有副本,依此類推。

綁定掛載不會獲得任何“增強的功能和兼容性”。它們看起來像任何其他目錄,在大多數情況下這是不可取的行為。例如,Samba 預設將符號連結公開為目錄;使用綁定安裝沒有任何好處。另一方面,綁定掛載可用於通過 NFS 公開目錄層次結構。

綁定安裝不會有任何性能問題。您將面臨管理難題。綁定掛載有其用途,例如使目錄樹可從 chroot 訪問,或公開被掛載點隱藏的目錄(這通常是在重構目錄結構時臨時使用)。如果您沒有需要,請不要使用它們。

只有 root 可以操作綁定掛載。它們不能通過普通方式移動;他們鎖定他們的位置和祖先目錄。

一般而言,如果將符號連結傳遞給命令,則如果命令對文件進行操作,則該命令將作用於連結本身,如果對文件內容進行操作,則作用於連結的目標。這也適用於目錄。這通常是正確的。某些命令具有以不同方式處理符號連結的選項,例如ls -L, cp -d, rsync -l。無論您嘗試做什麼,符號連結都更有可能是正確的工具,而不是綁定安裝是正確的工具。

引用自:https://unix.stackexchange.com/questions/49623