开机启动/etc/rc.local失效无效怎么办?解决方法

发布时间:2019-12-15编辑:脚本学堂
有关linux下开机启动/etc/rc.local失效问题的解决办法,提供三种方式解决开机无法启动rc.local文件的问题,需要的朋友参考下。

开机启动/etc/rc.local失效问题的解决方法

第一种情况:
当ubuntur 随机启动文件 /etc/rc.local 失效时请按如下修改
1、echo /etc/rc.local >>/etc/profile &&  source /etc/profile
 注:当执行生效会看到效果(/etc/profile 文件在开机时会首先检查并执行)
2、reboot
注:重新启动检测是否生效

第二种情况:
echo /etc/rc.local >>~/.bash_profile &&  source /etc/profile

第三种情况:
在 /etc/rc3.d 目录下增加一个启动脚本,然后重启测试,内容如下:
 

cat /etc/rc3.d/StartDefautRoute.sh
#!/bin/bash
#  hejun@163.com  
route add default gateway 192.168.1.1 dev xenbr0

/etc/rc.local 中部分命令无法执行(

在linux系统中添加随系统启动而自动运行的服务,只需在/etc/rc.local 脚本文件中添加即可,当运行的命令或程序不带路径时,例如:
 

#!/bin/bash

distccd --user nobody --allow 10.10.98.0/24 --log-file=/var/log/distcc.log --verbose --daemon
loadavg  -s 10.10.98.20 >/dev/null 2>&1

注意,distccd、loadavg命令存放在/usr/local/bin/目录下

在系统执行这些命令时将报错,无法正常执行!

由于在执行rc.local脚本时,PATH环境变量未全部初始化,目录/usr/local/bin/ 需在执行/etc/profile 后才被添加到环境变量PATH中。

解决方法:
在 /etc/rc.local 执行 /usr/local/bin/ 目录中的命令需要使用绝对路径