0%

linux 手动实现rc.local

linux 手动实现rc.local:

Ubuntu 16.04 版本开始去除了 rc.local 文件,自启动服务方面基本由 systemd 全面接管了。想要添加一些开机运行的操作只能创建 systemd 服务或者添加 desktop 文件,有点麻烦。干脆把 rc.local 重新实现。




原理:

  • 创建一个 systemd 服务,开机执行指定脚本(rc.local)的内容。



实现:

  • 1. rc-local.service 文件
    • 在 Ubuntu 20.04 中这个文件存在。看起来只是把 rc.local 功能隐藏起来了。如果你的版本没有这个文件,可以自己创建一个,然后把内容添加上去。
sudo nano /lib/systemd/system/rc-local.service
  • 添加以下内容:
[Install]
WantedBy=multi-user.target
Alias=rc-local.service



完整内容:




  • 2. rc.local 文件

  • 创建 rc.local 文件

sudo nano /etc/rc.local
  • 文件内容:
#!/bin/sh

# 这里添加要开机执行的脚本和命令等等

exit 0
  • 添加可执行权限
sudo chmod +x /etc/rc.local



  • 3. 创建软链接
sudo ln -s /lib/systemd/system/rc-local.service /etc/systemd/system/rc-local.service



重启系统 rc.local 就生效了。

重点注意:

  • 不要在 rc.local 文件中添加阻塞或者死循环操作,会进不了系统的,试试就逝世。