Ubuntu/Debian设置开机启动

启动说明:

Ubuntu 16.10 和 Debian 9(不包括)之前的版本使用的是update-rc.d以及rc.local等方法设置开机启动,Ubuntu 16.10 和 Debian 9(包括)之后的版本,开始不再使用initd管理系统,改用systemd;以下设置方法如果是Debian系统并且以root用户登录,则命令前无需添加sudo。

 
设置方法:

1、修改rc.local.service文件添加install段

nano /lib/systemd/system/rc.local.service

检查是否有install段,如果没有在最后添加,添加后如下效果

[Unit]
Description=/etc/rc.local Compatibility
Documentation=man:systemd-rc-local-generator(8)
ConditionFileIsExecutable=/etc/rc.local
After=network.target

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

[Install]
WantedBy=multi-user.target
Alias=rc-local.service

以上启动文件内容简介
[Unit] 段: 启动顺序与依赖关系
[Service] 段: 启动行为,如何启动,启动类型
[Install] 段: 定义如何安装这个配置文件,即怎样做到开机启动

 
2、创建/etc/rc.local文件

Ubuntu-18.04 server 版默认是没有/etc/rc.local这个文件的,需要自己创建

sudo touch /etc/rc.local

然后把你需要启动脚本写入/etc/rc.local,我们不妨写一些测试的脚本放在里面,以便验证脚本是否生效,如下面的文本输出:

echo "this just a test" > /usr/local/text.log

记得给加上执行权限:

sudo chmod +x /etc/rc.local

做完这一步,还需要最后一步 前面我们说systemd默认读取/etc/systemd/system下的配置文件, 所以还需要在/etc/systemd/system目录下创建软链接:

ln -s /lib/systemd/system/rc.local.service /etc/systemd/system/

OK, 接下来,重启系统,然后看看 /usr/local/text.log 文件是否存在就知道开机脚本是否生效了。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

− 1 = 6