Linux

使用“mount –bind”或符號連結或其他方式將 Dropbox 業務帳戶從“~/Dropbox(公司名稱)”連結到“~/Dropbox”?

  • April 12, 2021

多年來一直在 Lubuntu 系統上使用我的 Dropbox 帳戶。現在,我的新公司為我提供了一個商業帳戶。

但是,Dropbox 堅持應該呼叫這個文件夾:

~/Dropbox (firm-name)/

而且似乎沒有辦法改變它。我絕不是 linux 或 cli 專家,但一件事是將我所有不同的絕對路徑重命名為其他東西,這是一次性的努力,但另一件事是將其重命名為帶空格的其他東西。如果我使用的所有文件路徑在預設情況下突然包含一個空格,我預見到我的工作流程中會有很多小煩惱。

因此,解決此問題的一種可能方法是將符號連結或掛載–bind ~/Dropbox (firm-name)/ as ~/Dropbox/。

這個問題似乎與同一個問題有關,並建議使用 mount 來綁定目錄。通過這樣做,我會:

sudo mount --bind '~/Dropbox (firm-name)/' ~/Dropbox/

然後把它放在 /etc/fstab 中,這樣重啟時它就不會消失。

但是,我基本上不確定這是否是一個非常糟糕的主意,會導致各種問題。我對 mount 命令的理解不夠好,無法在沒有指導的情況下將它用於如此重要的事情。

將符號連結放在 Dropbox 外部指向 Dropbox 中的文件或文件夾時,Dropbox 中的符號連結對我來說效果很好,但是 Dropbox 文件夾內的符號連結在過去導致了問題,但似乎已經改變了。這個案例是不同的,從某種意義上說,應該同步整個 Dropbox 文件夾,如下所示:

ln -s '~/Dropbox (firm-name)' '~/Dropbox'

**所以我要問:如果有的話,什麼是將 ~/Dropbox (firm-name)/ 連結到 ~/Dropbox/ 的安全、可靠的方式?**似乎 mount –bind 或 symlink 是兩個最好的可能性,但即使我已經閱讀了差異,我也不知道在這種情況下我應該選擇兩者中的哪一個。是否有可能以可靠的方式進行,或者我應該為自己的帳戶付費(雖然看起來很多餘!)。符號連結方式似乎對這個人有用,但這不是一個非常詳細的答案,我擔心無法預料的後果以及數據和工作的失去。

注意:可以說我連結的問題是同一個問題,但原作者從未接受唯一的答案。另外,他在使用無頭伺服器的情況下存在一些差異,並且不是高級使用者,雖然我已經使用 linux 多年,但我不知道我們的前提是否相同。我會爭辯說,不太高級的使用者會從一個具有非常基本的案例前提的問答中受益。

兩種方式都是安全的(就我個人而言,我更喜歡並使用綁定掛載選項)。有一些細微的差異,可能與您相關,也可能與您無關:

  • 預設情況下,文件索引器(例如updatedb)傾向於跳過符號連結而不是跳過綁定掛載。例如,如果~/Dropbox是符號連結,locate a_file_in_Dropbox只會在其中找到文件~/Dropbox (firm-name)/;相反,它會在兩者中找到文件,~/Dropbox (firm-name)/如果~/Dropbox~/Dropbox掛載點。
  • 在符號連結上操作時,其他程序也可能會稍微改變它們的行為。綁定安裝更有可能確保無縫體驗。
  • 在綁定掛載情況下,掛載失敗~/Dropbox (firm-name)/可能~/Dropbox會導致程序將文件寫入~/Dropbox目錄(掛載點),而不是按預期寫入~/Dropbox (firm-name)/. 相反,在損壞的符號連結中寫入內容只會因錯誤而失敗。

我的建議是創建/home/your_user/Dropbox目錄並添加

/home/your_user/Dropbox\040(firm-name) /home/your_user/Dropbox none bind 0 0

/etc/fstab. (它將在下次啟動或執行時安裝sudo mount --all)。

鑑於在 中fstab,空格和製表符用於分隔欄位,安裝點中的文字空格和製表符 - 並且在適當的情況下,如綁定安裝的情況下,也在第一個欄位中 - 必須用 the\040\011轉義序列替換分別。


請注意,波浪號(不是特殊的path)僅在未加引號的情況下由您的 shell擴展。命令:

ln -s '~/Dropbox (firm-name)' '~/Dropbox'

嘗試在位於目前工作目錄(不太可能存在,導致錯誤)Dropbox的目錄(字面意思)中創建一個名為 的符號連結。~該連結將指向Dropbox (firm-name)同一~目錄中名為 locate 的文件。

它應該是:

ln -s ~/'Dropbox (firm-name)' ~/Dropbox

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