本文译者是一位开源理念的坚定支持者,所以本文虽然不是软件,但是遵照开源的精神发布。
本文译者十分愿意与他人分享劳动成果,如果你对我的其他翻译作品或者技术文章有兴趣,可以在如下位置查看现有的作品集:
由于译者水平有限,因此不能保证译文内容准确无误。如果你发现了译文中的错误(哪怕是错别字也好),请来信指出,任何提高译文质量的建议我都将虚心接纳。
systemd-makefs@.service, systemd-makeswap@.service, systemd-growfs@.service, systemd-makefs, systemd-growfs — 按需创建与扩容文件系统
systemd-makefs@
device
.service
systemd-makeswap@
device
.service
systemd-growfs@
mountpoint
.service
/usr/lib/systemd/systemd-makefs
/usr/lib/systemd/systemd-growfs
systemd-makefs@.service
,
systemd-makeswap@.service
,
systemd-growfs@.service
用于实现
fstab(5)
中的 x-systemd.makefs
与 x-systemd.growfs
选项(参见
systemd.mount(5) 手册)。
对于每一个需要进行文件系统(含swap)格式化的设备、以及每一个需要进行文件系统扩容的挂载点,
上述对应的服务模板都会
实例化出一个对应的服务实例。
在启动过程中, 这些服务会根据需要紧邻在挂载点(含swap设备)就绪之前或之后启动。
systemd-makefs
对特定文件系统(含swap)设备知之甚少,
在检查出指定的块设备并不包含文件系统(含swap)之后,
它将执行与特定的文件系统(含swap)对应的二进制格式化工具(/sbin/mkfs.*
)。
systemd-growfs
对特定文件系统设备知之甚少,
它只是简单的要求内核将已挂载的文件系统扩容到底层块设备所能提供的最大容量。
尽管如此,它还是需要知道每个文件系统的
ioctl(2)
request 参数(一个整数),
所以实际上只能支持下列特定的文件系统:
ext4(5),
btrfs(参见
btrfs-man5(5)),
dm-crypt 分区(参见
cryptsetup(8))。
如果指定的文件系统(含swap)格式化失败,那么该文件系统(含swap)的挂载也会失败。 如果指定的文件系统扩容失败,那么只会发出一个警告信息。