Systemd 安装单元的安装选项

Systemd 安装单元的安装选项

我曾经使用 fstab 文件来安装驱动器。这次我想改用 Units 并创建了一个 .mount 文件。但是我想知道如何在那里设置文件系统检查选项和 umask 设置。例如,在 fstab 文件中,您可以通过添加(仅作为示例)来做到这一点,
umask=000 0 1 我不确定是否可以在 .mount 文件中使用相同的选项?

答案1

首先,umask=000 0 1这不是一个挂载选项;它是单独的字段,只有第一个字段包含安装选项。

  1. umask=000部分是实际的选项列表;它通常可以直接用在systemd的Options=参数中。所有传递给文件系统的选项的工作方式与 fstab 中的工作方式相同。唯一的例外是伪选项,例如userX-mount.mkdir,它对“挂载”程序而不是文件系统本身有意义。

    [Mount]
    Options=rw,fmask=0133,dmask=022
    
  2. 接下来0是“dump”字段,这是古老的 dump(8) 备份工具的指示符。挂载时不使用它(而是“转储”自行读取 fstab),因此没有 systemd 等效项。

  3. 最后一个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

相关内容