![Systemd 安装单元的安装选项](https://linux22.com/image/223250/Systemd%20%E5%AE%89%E8%A3%85%E5%8D%95%E5%85%83%E7%9A%84%E5%AE%89%E8%A3%85%E9%80%89%E9%A1%B9.png)
我曾经使用 fstab 文件来安装驱动器。这次我想改用 Units 并创建了一个 .mount 文件。但是我想知道如何在那里设置文件系统检查选项和 umask 设置。例如,在 fstab 文件中,您可以通过添加(仅作为示例)来做到这一点,
umask=000 0 1
我不确定是否可以在 .mount 文件中使用相同的选项?
答案1
首先,umask=000 0 1
这不是一个挂载选项;它是三单独的字段,只有第一个字段包含安装选项。
该
umask=000
部分是实际的选项列表;它通常可以直接用在systemd的Options=
参数中。所有传递给文件系统的选项的工作方式与 fstab 中的工作方式相同。唯一的例外是伪选项,例如user
或X-mount.mkdir
,它对“挂载”程序而不是文件系统本身有意义。[Mount] Options=rw,fmask=0133,dmask=022
接下来
0
是“dump”字段,这是古老的 dump(8) 备份工具的指示符。挂载时不使用它(而是“转储”自行读取 fstab),因此没有 systemd 等效项。最后一个
1
是“fsck pass”字段,用于激活该文件系统的 fsck。 systemd 的等效项是对 fsck 服务实例的显式依赖:[Unit] Requires=systemd-fsck@dev-disk-by\x2dpartlabel-EFI.service After=systemd-fsck@dev-disk-by\x2dpartlabel-EFI.service
用于方便地为您的设备生成正确的单元名称。
systemd-escape --path [email protected] /dev/foo
如果有疑问,请添加一个 fstab 条目,重新加载 systemd,然后使用systemctl cat
它来查看 systemd 为您生成的 .mount 单元。 (然后继续使用该 fstab 条目。)
# echo "/dev/sdz1 /mnt/movies ext4 umask=077 0 0" >> /etc/fstab
# systemctl daemon-reload
# systemctl cat mnt-movies.mount