本文译者是一位开源理念的坚定支持者,所以本文虽然不是软件,但是遵照开源的精神发布。
本文译者十分愿意与他人分享劳动成果,如果你对我的其他翻译作品或者技术文章有兴趣,可以在如下位置查看现有的作品集:
由于译者水平有限,因此不能保证译文内容准确无误。如果你发现了译文中的错误(哪怕是错别字也好),请来信指出,任何提高译文质量的建议我都将虚心接纳。
systemd-veritysetup-generator — 用于块设备数据完整性校验的单元生成器
/usr/lib/systemd/system-generators/systemd-veritysetup-generator
systemd-veritysetup-generator
用于在系统启动的早期以及 systemd 重新加载其配置的时候,
将配置块设备数据完整性校验的内核引导选项,按照
systemd-veritysetup@.service(8)
模板,生成对应的实例单元。
目前,此单元生成器仅可设置单个受完整性保护的块设备(dm-verity), 并且此块设备必须是根文件系统所在的设备。
systemd-veritysetup-generator
遵守
systemd.generator(7) 规范。
systemd-veritysetup-generator
能够理解下列内核引导选项:
systemd.verity=
, rd.systemd.verity=
¶接受一个布尔值,默认值为 "yes
" 。设为 "no
" 表示彻底禁用该单元生成器。
rd.systemd.verity=
仅适用于初始内存盘(initrd);
systemd.verity=
则同时适用于
initrd 与主系统。
roothash=
¶接受一个用于校验根文件系统数据完整性(dm-verity)的"root hash"(十六进制字符串)。
例如在使用 SHA256 算法的情况下,"root hash"一般是一个256位的二进制数(表现为一个64字符的十六进制字符串)。如果没有使用
systemd.verity_root_data=
与 systemd.verity_root_hash=
进行明确指定,
那么将自动根据指定的哈希值推测所要使用的散列分区与数据分区。
特别地,数据分区将根据"root hash"开头的128位数值(也就是GPT分区的UUID)来推测、
散列分区将根据"root hash"末尾的128位数值(也就是GPT分区的UUID)来推测。
因此,对于校验根文件系统数据完整性来说,通常仅使用此选项就足够了,没必要再额外使用下面的
systemd.verity_root_data=
与 systemd.verity_root_hash=
选项。
systemd.verity_root_data=
, systemd.verity_root_hash=
¶此二选项都接受一个块设备文件的绝对路径。
明确设置用于校验根文件系统数据完整性的数据分区与散列分区。
若未设置,将自动根据 roothash=
的值
进行推测(见上文)。