Bootstrap

Ubuntu系统设置开机自启

在测试国产操作系统:银河麒麟、UOS统信机器的过程中,发现开机不自启,总结以下几种方式实现自启

一.rc.local

rc.local脚本是一个Ubuntu开机后自动执行的脚本,可以在脚本内添加行指令,该脚本位于/etc/路径下,需要root权限才能修改,若/etc/rc.d/下也存在rc.local,通常会创建软连接到/etc/下。类似创建个快捷方式

/etc/下的文件

 rc.local文件格式

注意一定要带/bin/sh头, /bin/bash也可以

文件里面可以直接写命令或者执行shell脚本

如何判断rc.local不执行?

1.可以在rc.local写创建文件,文件夹命令,容易看出是否真正执行此文件

二.update-rc.d增加开机启动服务

给Ubuntu添加一个开机启动脚本,操作如下:

1.新建一个脚本文件xx.sh

#!/bin/bash
# command content
  
exit 0

 2.设置权限

sudo chmod +x xx.sh

3.把脚本放置到启动目录下

sudo mv xx.sh /etc/init.d/

4.将脚本添加到启动脚本

执行如下指令,在这里90表明一个优先级,越高表示执行的越晚

cd /etc/init.d/
sudo update-rc.d xx.sh defaults 90

5.移除Ubuntu开机脚本

sudo update-rc.d -f .sh remove

三.修改/etc/profile文件

一般不建议修改此文件,系统自检测可能会出现问题!!

4.添加服务形式

1.创建xx.service文件

[Unit]

Description=netseal service

After=network.target

[Service]

Type=forking

ExecStart=/etc/rc3.d/Sserver.sh

PrivateTmp=true

[Install]

WantedBy=multi-user.target

[Unit]

Description=netseal service

After=network.target

[Service]

Type=forking

ExecStart=/etc/rc3.d/Sserver.sh

PrivateTmp=true

[Install]

WantedBy=multi-user.target

加入开机自启动

systemctl enable netseal

取消开机自启动

systemctl disable netseal

;