Ubuntu18 enable rc.local

  1. Ubuntu 18启用rc.local
    1. 实现原理

Ubuntu 18启用rc.local

  • Ubuntu18.04不再使用 inited 管理系统,改用 systemd所以需要自行修改支持rc.local

实现原理

  • systemd 默认会读取 /etc/systemd/system 下的配置文件,该目录下的文件会链接 /lib/systemd/system/ 下的文件。一般系统安装完 /lib/systemd/system/ 下会有 rc-local.service 文件,即我们需要的配置文件。
  1. 将 /lib/systemd/system/rc-local.service 链接到 /etc/systemd/system/ 目录下面来
ln -fs /lib/systemd/system/rc-local.service /etc/systemd/system/rc-local.service
  1. 修改文件内容
sudo vim /etc/systemd/system/rc-local.service

说明:
[Unit] 区块:启动顺序与依赖关系。

[Unit]
ConditionFileIsExecutable=/etc/rc.local
After=network.target

  • ConditionFileIsExecutable:指定了执行的文件,
  • After:表示在 network.target 这个target后面进行执行。也就是网络启动完成之后,执行 /etc/rc.local 文件。

[Service] 区块:启动行为,如何启动,启动类型。

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

[Install] 区块:定义如何安装这个配置文件,即怎样做到开机启动。

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

[Install] 块是我们自己编辑新增的。

  1. 在文件末尾增加
[Install]
WantedBy=multi-user.target
Alias=rc-local.service
  1. 创建/etc/rc.local文件
sudo touch /etc/rc.local

转载请注明来源