我需要将一些脚本从 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