Sunsea's Blog

Ubuntu-18.04设置开机启动脚本

起因

Ubuntu-16.10(不包括)之前的版本使用的是update-rc.d以及rc.local等方法设置开机启动,Ubuntu-16.10(包括)之后的版本,开始不再使用initd管理系统,改用systemd

设置方法

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

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

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 文件是否存在就知道开机脚本是否生效了。

[scode type="share"]参考引用文章
http://www.r9it.com/20180613/ubuntu-18.04-auto-start.html[/scode]

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »