ordinarykuma的blog

使用bind掛載,實現無家(家目錄)自由

前言

  我記得我在之前的文章提及到,我的之所以建立一個@data的子卷,是為了我有一個可拋棄的家(家目錄),這個實做的方法有很多種。我舉個比較簡單的想法,倘若你想要一個可拋棄的家目錄但又想要家目錄的文件、影片等資料,我們可以建立一個新的使用者,在借助root權限將這些資料夾(Downloads、Documents、Music、Videos、Pictures)轉移到新的使用者的目錄下方(不是單純複製貼上,還需要轉移權限);倘若你是Btrfs的用戶,或許可以考慮將這些資料夾做成一個子卷,在安裝系統時手動掛載。

  我為何想要用bind掛載?主要就是我已經有一個專門放個人文件的子卷,再建立這些子卷管理器來還蠻麻煩的,就像是我們需要知道家目錄下面的使用者目錄才方便掛載,而且這些子卷一般來說要掛載起來才可以查看檔案。用bind掛載,就像是把目錄掛載到另一個目錄一樣的自然。

  你可以再問我,那你為何不用「軟連結」?軟連結就像任意門,也可以實現將個人文件資料夾丟在@data子卷下方啊!這就有一個問題需要克服,一是我們不能保證有些軟體就是使用硬編碼,將目錄路徑寫死的,那麼軟連結就有機會用不了。再來的這個問題就比較特殊了,我是一個GNOME的愛好者,我常用Super鍵搜尋我的檔案,現在用了軟連結,即使我去設定指定了索引目錄,GNOME還是索引不到,這時,bind掛載就有好處了。

GNOME設定指定索引目錄

  我的操作環境是GNOME 50.4。

  1. 打開設定

  2. 進入「搜尋」標籤

  3. 點擊「搜尋路徑(Search Locations)」

  4. 即可手動添加想要索引的路徑

  經過這一番實做,我的軟連結是無法搜尋到文件的。

使用bind掛載

  我先大致講一下我有的子卷,有:@、@home、@log、@cache、@data,這些路徑在我部落格的文章1文章2有介紹,我就簡單帶過。而我目前的@data子卷是掛載在/mnt/Data下方,又做軟連結到我的家目錄(叫做data目錄)

  1. 建立資料夾
mkdir -p ~/data/Documents ~/data/Downloads ~/data/Music ~/data/Pictures ~/data/Videos
  1. 轉移權限
sudo chown -R $USER:$USER ~/data/Documents ~/data/Downloads ~/data/Music ~/data/Pictures ~/data/Videos
  1. 使用命令,將這些檔案做一次同步,同步到@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/
  1. 修改/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

  我們來小小解釋一下上面部分參數的意思。

小結

  這個方案不是一步到位,而是在實際使用上逐漸產生,摸索出來的需求,我只覺得我將自己電腦的分區愈用愈複雜,不知道會不會這些其實只是畫蛇添足的操作,總之,目前用起來也還不錯,既補足了軟連結的補足,又將個人資料都丟在@data這個子卷下方,似乎也是不錯的選擇。

#GNOME #Linux