在ubuntu下重新实现rc.local来管理开机启动

问:ubuntu没有rc.local了么?

是的,从 Ubuntu 18.04 版本开始,不再默认提供rc.local服务。这是因为 Ubuntu 18.04 之后的版本使用 Systemd 作为初始化系统,而rc.local是一个传统的 SysV 初始化脚本,与 Systemd 不兼容。

然而,你仍然可以手动创建和启用rc.local功能,以在 Ubuntu 中实现类似的功能。以下是一种方法:

创建rc.local文件:

sudo vim /etc/rc.local

在编辑器中,输入你想要执行的命令或脚本。请确保在exit 0行之前的命令都正确设置并以适当的格式编写。例如:

#!/bin/bash
# 这是一个示例,你可以在此处编写你想要运行的命令或脚本
echo "Hello, World!" >> /tmp/local.log

exit 0

保存文件并退出编辑器。

接下来,设置文件和服务的权限:

sudo chmod +x /etc/rc.local

再创建一个自定义的rc-local.service,来实现自启动:

创建一个新的rc-local.service文件并编辑它:

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

在编辑器中,输入以下内容:

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

[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
RemainAfterExit=yes
GuessMainPID=no

[Install]
WantedBy=multi-user.target

保存文件并退出编辑器。

sudo chmod 755 /etc/systemd/system/rc-local.service

重新加载 systemd 并启用rc-local.service:

sudo systemctl daemon-reload
sudo systemctl enable rc-local.service
sudo systemctl start rc-local.service

现在,rc-local.service服务应该已经启动,并且在系统引导时会自动执行/etc/rc.local文件中的命令或脚本。

你可能感兴趣的:(在ubuntu下重新实现rc.local来管理开机启动)