我使用的是 centos 8 操作系统。我需要在启动其他服务之前在启动时安装覆盖(例如将 /var/log 存储在不同的磁盘上)。我最初的实现是编写一个服务(/etc/systemd/system/)并在启动时启动它
[Unit]
After=flash.mount
[Service]
...
ExecStart=(path to script)
...
[Install]
WantedBy=multi-user.target
但在我用 lsof 命令检查正在运行的进程后,我发现有些进程在此服务之前启动,并且使用 /var/log 而不是挂载目录
我检查了一些链接,这里有一个建议 https://unix.stackexchange.com/questions/554767/which-file-should-i-modify-to-mount-a-user-overlay-at-boot-time 将脚本添加到 initramfs/scripts 目录
但看起来在 centos 8 中没有这样的文件。我发现了一个关于它的问题,但没有答案。 https://unix.stackexchange.com/questions/224611/how-do-i-add-modules-binaries-or-scripts-to-initramfs-in-rhel-distributions
此外,我还发现了一个重复的问题,其中的答案已被接受,并且第一个链接中有一个问题在 systemd 启动前将 overlayfs 挂载到 “/” 上并且有建议编辑 initramfs 文件。但我不确定如何在 centos 8 上执行此操作