我在 fstab 中有此條目:
LABEL=cache /disks/cache ext4 rw,user,x-mount.mkdir,relatime,noauto,errors=remount-ro,x-systemd.idle-timeout=120min 0 0
我期望要做的是:
- 每當我需要時,將帶有標籤快取的磁碟安裝在 /disks/cache 上
- 建立路徑 /dsisks/cache(如果不存在)
- 向我的用戶或任何有缺陷的用戶授予 +rwx 權限
- 如果磁碟在 1 小時後空閒,則自動卸載該磁碟
為什麼步驟 4 不起作用以及如何在卸載後刪除該資料夾,是否有 x-umount.rmdir 選項?
答案1
您所描述的內容無法在 fstab 中完成。
以下是典型的磁碟掛載方式:
- 將它們新增至 fstab 中,以便在啟動時自動安裝它們。 (fstab 中的
defaults
or選項auto
可以執行此操作。) - 手動掛載它們,可以以 root 身份指定所有參數,也可以僅作為掛載點或設備手動掛載,並使用 fstab 中的其餘選項,或者以用戶身份使用 fstab 中列出的條目並使用
noauto,user
第四列中的選項。 - 使用udisk自動掛載熱插入磁碟,例如CDROM和U盤,通常會掛載在
/media
目錄上。然而,這僅根據用戶需求卸載。 U 碟通常安裝在裝置插入上,但也可以從命令列觸發。 - 當引用目錄時,使用 autofs 按需掛載它們,並在逾時後卸載它們,並且不再使用它們。
Autofs 的設定方式是,每行列出一個託管頂級目錄,/etc/auto.master
每個託管目錄都有一個設定文件,每個設定檔都列出託管目錄的子目錄。
例如,auto.master 可以列出,/etc/auto.misc
而 auto.master 又可以列出許多檔案系統或具有潛在檔案系統的裝置。 autofs 隨附的預設 auto.misc 清單(預設會被註解掉)如果被存取且檔案系統在該裝置上可用,floppy
則會掛載該清單。/misc/floppy
來自 auto.master 的範例行:
/misc /etc/auto.misc
/home /etc/auto.home
/disks /etc/auto.disks --timeout=3600
auto.misc 中的範例行:
floppy -fstype=auto :/dev/fd0
來自 auto.home 的範例行:
someuser homeserver:/export/home/someuser
Autofs 可以執行您要求的所有操作,除了設定權限(通常從已掛載檔案系統上的根目錄的權限繼承)或掛載選項(如果檔案系統支援)。上面的(未經測試的)磁碟行需要一個相應的/etc/auto.disks
檔案來描述您想要安裝的檔案系統/disks/
答案2
透過建立每個裝置的自動掛載檔案systemd
。為此,請建立一個/etc/systemd/system/diskname.automount
包含以下內容的檔案:
[Unit]
Description=Automountaje de discos de usuario
After=blockdev@dev-disk-by\x2dlabel-cch.target
[Automount]
Where= mountpoint
TimeoutIdleSec=10
[Install]
WantedBy=multi-user.target
將 mountpoint 替換為所需位置,並確保該位置已正確指派給 中的單元磁碟機/etc/fstab
。
它應該直接工作。