Systemd - 使用暂停的文件系统/块设备暂停到磁盘(休眠)

Systemd - 使用暂停的文件系统/块设备暂停到磁盘(休眠)

情况:

1)我正在使用 systemd 暂停到磁盘:systemctl hibernate

2)我在加密块设备上安装了文件系统,dmsetup suspend device在进入休眠状态之前我暂停使用该文件系统以便擦除密钥。

问题:

休眠状态持续于

systemd-sleep[7366]: Suspending system...
kernel: PM: Hibernation mode set to 'platform'
kernel: PM: Syncing filesystems ...

如果我恢复(dmsetup resume device),那么同步就可以完成,休眠将继续

有没有其他方法可以在进入休眠状态时在同步之后发出挂起命令?或者还有其他方法可以擦除加密密钥,让我可以安全地进入休眠状态(除了加密交换分区)?

答案1

一个解决方案似乎是使用以下 systemd 单元:

[Unit]
Description=test
After=<target>

[Service]
Type=oneshot
ExecStart=/path/to/wipe

[Install]
WantedBy=<target>

<target>是所需模式的对应目标。从systemd-suspend.service 手册页suspend.targethibernate.target, 或者hybrid-sleep.target

脚本如下wipe

dmsetup suspend "$name"
dmsetup message "$name" 0 key wipe

相关内容