Ubuntu18.04 中缺少 /etc/init.d/rc

Ubuntu18.04 中缺少 /etc/init.d/rc

我需要将一些脚本从 Ubuntu 16.04 改编到 Ubuntu 18.04,但 Ubuntu 18.04 中缺少 /etc/init.d/rc。

此路径已移至其他路径或所有内容已迁移至 systemd?如果已移动,您能否在 Ubuntu 18.04 中指定其位置?

答案1

systemd关闭脚本/etc/init.d/,并停止使用/etc/rc.local。在Unix和Linux上也提出了类似的问题,答案提供了很好的解释和参考

您立即想到的可能是 init 脚本非常复杂,而且您不确定如何将所需的脚本转换为systemd。实际上,使用 进行设置systemd比使用 中复杂的 bash 脚本要容易得多/etc/init.d/。甚至还有一个转换器systemd-sysv-generator,您可以改用它。

有些选择使用systemd现有的脚本来运行,无需修改。在本例中,/etc/rc.local是运行,但您可以选择运行哪个脚本。

/etc/systemd/system/rc-local.service

[Unit]
Description=/etc/rc.local Compatibility

[Service]
Type=forking
ExecStart=/etc/rc.local
TimeoutSec=0
#StandardInput=tty
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target
systemctl start rc-local # Test it works.
systemctl enable rc-local # Enable run at boot/as configured

相关内容