我有 2 个分区:/
和/data
。我的交换文件在 处加密/data/swap
。
所以/etc/crypttab
看起来像:
root_crypt UUID=6666 none luks
swap /data/swap /dev/urandom swap
看起来/etc/fstab
像(简化的):
UUID=abcd1234 / ext4 defaults 0 1
UUID=5678aaaa /data ext4 defaults 0 2
/dev/mapper/swap swap swap defaults 0 2
systemd 如何处理这个问题?生成的 crypttab 单元必须在 fstab 之前运行才能/
挂载,但 fstab 挂载必须在 crypttab 单元之前运行才能访问加密的交换文件。
相反,如果我希望自己的 systemd 单元找到并安装/data
,然后打开交换,我会在哪个阶段执行此操作?
编辑:更好的是,我想编写自己的单元来检查交换文件是否存在,如果不存在,则创建它。执行此操作的脚本很容易,但我的规则是什么Before
After
Wants
?WantedBy
这是在 cryptmount 之前,因为交换文件是加密的,但它是在 cryptmount 之后,因为/
需要先安装。
它既在 fstab 之前,因为需要创建交换文件才能使用,又在 fstab 之后,因为交换文件位于必须挂载的文件系统上。
完全困惑了。