我在 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
。
它应该直接工作。