1. 执行ls /lib/systemd/system/rc-local.service查看开机自启服务是否存在。
  2. 执行sudo vim /lib/systemd/system/rc-local.service,查看文件内容提供。

一般正常的启动文件主要分成三部分:

  • [Unit]段: 启动顺序与依赖关系
  • [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 

/etc/rc.local 默认是启动在网络后面,但是少了 Install 段,也就没有定义如何做到开机启动,所以显然这样配置是无效的。 因此就需要在后面帮他加上[Install]段:

[Install] 
WantedBy=multi-user.target 
Alias=rc-local.service 
  1. 执行sudo vim /etc/rc.local新建文件,并赋予 x 执行权限

  2. 首行加入#!/bin/bash,下面写入开机写入的内容。

  3. 重启生效验证。