在测试国产操作系统:银河麒麟、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
取消开机自启动