使用bind掛載,實現無家(家目錄)自由
前言
我記得我在之前的文章提及到,我的之所以建立一個@data的子卷,是為了我有一個可拋棄的家(家目錄),這個實做的方法有很多種。我舉個比較簡單的想法,倘若你想要一個可拋棄的家目錄但又想要家目錄的文件、影片等資料,我們可以建立一個新的使用者,在借助root權限將這些資料夾(Downloads、Documents、Music、Videos、Pictures)轉移到新的使用者的目錄下方(不是單純複製貼上,還需要轉移權限);倘若你是Btrfs的用戶,或許可以考慮將這些資料夾做成一個子卷,在安裝系統時手動掛載。
我為何想要用bind掛載?主要就是我已經有一個專門放個人文件的子卷,再建立這些子卷管理器來還蠻麻煩的,就像是我們需要知道家目錄下面的使用者目錄才方便掛載,而且這些子卷一般來說要掛載起來才可以查看檔案。用bind掛載,就像是把目錄掛載到另一個目錄一樣的自然。
你可以再問我,那你為何不用「軟連結」?軟連結就像任意門,也可以實現將個人文件資料夾丟在@data子卷下方啊!這就有一個問題需要克服,一是我們不能保證有些軟體就是使用硬編碼,將目錄路徑寫死的,那麼軟連結就有機會用不了。再來的這個問題就比較特殊了,我是一個GNOME的愛好者,我常用Super鍵搜尋我的檔案,現在用了軟連結,即使我去設定指定了索引目錄,GNOME還是索引不到,這時,bind掛載就有好處了。
GNOME設定指定索引目錄
我的操作環境是GNOME 50.4。
打開設定
進入「搜尋」標籤
點擊「搜尋路徑(Search Locations)」
即可手動添加想要索引的路徑
經過這一番實做,我的軟連結是無法搜尋到文件的。
使用bind掛載
我先大致講一下我有的子卷,有:@、@home、@log、@cache、@data,這些路徑在我部落格的文章1、文章2有介紹,我就簡單帶過。而我目前的@data子卷是掛載在/mnt/Data下方,又做軟連結到我的家目錄(叫做data目錄)
- 建立資料夾
mkdir -p ~/data/Documents ~/data/Downloads ~/data/Music ~/data/Pictures ~/data/Videos
- 轉移權限
sudo chown -R $USER:$USER ~/data/Documents ~/data/Downloads ~/data/Music ~/data/Pictures ~/data/Videos
- 使用命令,將這些檔案做一次同步,同步到@data裡面。
rsync -av --remove-source-files ~/Documents/ /mnt/data/Documents/
rsync -av --remove-source-files ~/Downloads/ /mnt/data/Downloads/
rsync -av --remove-source-files ~/Music/ /mnt/data/Music/
rsync -av --remove-source-files ~/Pictures/ /mnt/data/Pictures/
rsync -av --remove-source-files ~/Videos/ /mnt/data/Videos/
- 修改/etc/fstab,使用bind掛載
sudo nano /etc/fstab
在最後一行貼上下列內容,xjd要改成你的家目錄的使用者名稱。
# Bind Mount for Personal Folders
/mnt/data/Downloads /home/xjd/Downloads none bind,x-gvfs-hide 0 0
/mnt/data/Documents /home/xjd/Documents none bind,x-gvfs-hide 0 0
/mnt/data/Videos /home/xjd/Videos none bind,x-gvfs-hide 0 0
/mnt/data/Music /home/xjd/Music none bind,x-gvfs-hide 0 0
/mnt/data/Pictures /home/xjd/Pictures none bind,x-gvfs-hide 0 0
我們來小小解釋一下上面部分參數的意思。
none:這不是一個分區,自然而然就沒有所謂的檔案系統要指定的,只要這個目錄是Linux可讀寫的、權限沒問題,大致就可以了。
bind:就是這一次的掛載參數,用來掛載目錄到另一個目錄下方。
x-gvfs-hide:你要是只有使用bind參數,會發現檔案管理員出現一推被掛載的分區,我不是很喜歡,因為這些就只是目錄,連分區都不算,所以加上這個參數可以讓系統不以為是一個分區。
小結
這個方案不是一步到位,而是在實際使用上逐漸產生,摸索出來的需求,我只覺得我將自己電腦的分區愈用愈複雜,不知道會不會這些其實只是畫蛇添足的操作,總之,目前用起來也還不錯,既補足了軟連結的補足,又將個人資料都丟在@data這個子卷下方,似乎也是不錯的選擇。