背景说明:Ubuntu18 版本开始,使用了systemd 替代了 initd 管理系统,并且默认已经取消了 /etc/rc.local 文件。只能使用 systemctrl 命令进行添加。
systemd 默认读取 /etc/systemd/system下的配置文件,该目录下的文件会链接 (软链接)/lib/systemd/system/ 下的文件。
一般系统安装完 /lib/systemd/system/ 下会有 rc-local.service 文件,即我们需要的配置文件。
一、使用 rc-local.service
rc-local.service 是系统自带的一个开机自启服务, 但是在 Ubuntu20 的 systemd 启动方式下,该服务默认没有开启。,启用它需要做些简单的配置。
在 路径下 /lib/systemd/system/rc-local.service 的 rc-local.service 的脚本,内容规定了 rc.local 的启动顺序和行为
ExecStart=/etc/rc.local start
这行代码规定了这个service在开机启动时所执行的命令是:/etc/rc.local start。即运行 /etc/rc.local 脚本。不过可以看出,这个脚本的内容少了 [Install] 段,也就是说,没有定义如何做到开机启动,所以显然这时这个service是无效的。 因此我们就需要在后面帮他加上 [Install] 段
2、修改 rc-local.service 文件,添加 [Install] 段
sudo chmod 777 /lib/systemd/system/rc-local.service 赋予修改权限,然后加入以上[Install] 的语句
[Install]
WantedBy=multi-user.target
Alias=rc-local.service
三、设置开机启动
sudo systemctl enable rc-local.service
四、添加自动想要的开机启动脚本
在/etc/rc.local中添加自己想到的脚本,注意,这个文件默认不存在,需要自己创建一个
sudo touch /etc/rc.local
sudo chmod a+x /etc/rc.local
sudo vim /etc/rc.local
#!/bin/bash
# 添加你想要的启动脚本,注意不能阻塞哦
exit 0
- 微信扫码赞助
- 支付宝赞助