learning_record_doc/linux/ubuntu/Ubuntu20.04 设置开机自启.md

92 lines
2.7 KiB
Markdown
Raw Normal View History

2022-02-28 23:07:00 +08:00
Ubuntu20.04 设置开机自启
========================
2022-10-21 17:02:22 +08:00
> 本文由 [简悦 SimpRead](http://ksria.com/simpread/) 转码, 原文地址 [blog.csdn.net](https://blog.csdn.net/qq_43685040/article/details/111574332)
2022-02-28 23:07:00 +08:00
2022-10-21 17:02:22 +08:00
第一步
---
2022-02-28 23:07:00 +08:00
2022-10-21 17:02:22 +08:00
执行 **ls /lib/systemd/system** 你可以看到有很多启动脚本,其中就有我们需要的 **rc-local.service**
![](assets/20201223103738935.png)
2022-02-28 23:07:00 +08:00
2022-10-21 17:02:22 +08:00
第二步
---
2022-02-28 23:07:00 +08:00
2022-10-21 17:02:22 +08:00
打开 **rc-local.service** 脚本内容,内容如下:
![](assets/20201223103800889.png)
2022-02-28 23:07:00 +08:00
一般正常的启动文件主要分成三部分
2022-10-21 17:02:22 +08:00
* **[Unit]** 段: 启动顺序与依赖关系
* **[Service]** 段: 启动行为, 如何启动,启动类型
* **[Install]** 段: 定义如何安装这个配置文件,即怎样做到开机启动
可以看出,**/etc/rc.local** 的启动顺序是在网络后面,但是显然它少了 **Install** 段,也就没有定义如何做到开机启动,所以显然这样配置是无效的。 因此我们就需要在后面帮他加上 **[Install]** 段:
```shell
[Install]
WantedBy=multi-user.target
Alias=rc-local.service
```
![](assets/20201223103837439.png)
PS添加了 [Install] 内容后,下面两行的 **WantedBy****Alias** 两个英文跟上面的都是绿色的,要是绿色才有用。
一般需要先修改 **rc-local.service** 的权限才可以进行编辑。
```
sudo chmod 777 /lib/systemd/syste,/rc-local.service
```
第三步
---
查看系统中有无 **/etc/rc.local** 这个文件,没有则自己创建一个。
然后把你需要启动脚本写入 **/etc/rc.local** ,我们不妨写一些测试的脚本放在里面,以便验证脚本是否生效.
```shell
#!/bin/sh
echo "看到这行字,说明添加自启动脚本成功。" > /usr/local/test.log
exit 0
```
![](assets/20201223103852538.png)
PS**#!/bin/sh** 这一行一定要加上!一定要加上!
第四步
---
**rc.local** 加上权限
```
sudo chmod +x /etc/rc.local
```
做完这一步,还需要最后一步 前面我们说 **systemd** 默认读取 **/etc/systemd/system** 下的配置文件, 所以还需要在 **/etc/systemd/system** 目录下创建软链接
```shell
ln -s /lib/systemd/system/rc.local.service /etc/systemd/system/
```
![](assets/20201223103909625.png)
2022-02-28 23:07:00 +08:00
2022-10-21 17:02:22 +08:00
第五步
---
2022-02-28 23:07:00 +08:00
2022-10-21 17:02:22 +08:00
重启 **Ubuntu** 后,去 **/usr/local** 下看看有没有生成 **test.log** 这个文件以及这个文件的内容。
![](assets/20201223104001940.png)
2022-02-28 23:07:00 +08:00
2022-10-21 17:02:22 +08:00
第六步
---
2022-02-28 23:07:00 +08:00
2022-10-21 17:02:22 +08:00
如果在 **/etc/rc.local** 中添加的是 **./test.sh** 这种类型的,要在末尾加上 &,如下图, **不然重启 ubuntu 的时候会卡在启动界面进不去系统。**
![](assets/20201223163227878.png)
2022-02-28 23:07:00 +08:00
2022-10-21 17:02:22 +08:00
https://www.cnblogs.com/wtil/p/12808424.html