在ubuntu 系统中常常有一些操作需要开机时手动去执行,有一些固定的脚本文件可以通过改写启动项脚本让系统启动时自动执行
方法: 编辑/etc/下的rc.local脚本,把对应的需要执行的脚本写在exit 0前面
案例说明:系统里配置了两张网卡,eth0 和 eth1 一张网卡是路由地址,一张网卡是本地管理地址,重新启动后eth0默认启动,eth1没有启动,eth0网卡启动脚本没找到在哪( ╯□╰ )
对于第二张网卡启动问题也许和安装配置还有些关系,我同样安装的另一台虚拟机没有配置启动脚本,可以正常启动双网卡,已记不清两台虚拟机安装时有何区别,配置基本相同( ╯□╰ )
在 etc/rc.local文件中exit 0前添加一行
ifup eth1
开机启动后eth1就会开启,ubuntu 14.04.1亲试可行,据说 ubuntu16.06 上该方法不好用
第二种则是编辑一个shell脚本,然后在shell脚本中写入自己开机之后需要执行的命令,然后把该脚本拷贝进/etc/init.d/文件夹下,赋予可执行的权限,然后一行命令sudo update-rc.d 你的脚本 defaults 90
比如我这里先写一个开机自动挂载两个盘以及frpc内网穿透的服务,
然后命名为mount_and_frpc.sh,从桌面拷贝到文件夹/etc/init.d/下:sudo cp ./mount_and_frpc.sh /etc/init.d/,并且赋予可执行权限sudo chmod 775 ./mount_and_frpc.sh
然后执行该命令:sudo update-rc.d mount_and_frpc.sh defaults 90,然后会报如下错误:missing LSB tags and overrides,这参考下面这俩个链接
http://blog.bbzhh.com/index.php/archives/134.html, http://www.linuxdiyf.com/linux/26896.html
然后执行:sudo update-rc.d mount_and_frpc.sh defaults 90,重启reboot即可
同样的,如果想取消该开机自启项,需要执行如下命令
cd /etc/init.d
sudo update-rc.d -f mount_and_frpc.sh remove