Ubuntu 18启用rc.local
- Ubuntu18.04不再使用 inited 管理系统,改用 systemd所以需要自行修改支持rc.local
实现原理
- systemd 默认会读取 /etc/systemd/system 下的配置文件,该目录下的文件会链接 /lib/systemd/system/ 下的文件。一般系统安装完 /lib/systemd/system/ 下会有 rc-local.service 文件,即我们需要的配置文件。
- 将 /lib/systemd/system/rc-local.service 链接到 /etc/systemd/system/ 目录下面来
ln -fs /lib/systemd/system/rc-local.service /etc/systemd/system/rc-local.service
- 修改文件内容
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] 块是我们自己编辑新增的。
- 在文件末尾增加
[Install]
WantedBy=multi-user.target
Alias=rc-local.service
- 创建/etc/rc.local文件
sudo touch /etc/rc.local
转载请注明来源