Eason

咸鱼咯

解决CentOS7.8.2003 rc.local 不生效问题

最近重新配置家里的NAS下载机时发现在CentOS7.8.2003操作系统下将服务启动命令写到rc.local后没有生效。
后来经过一番查阅发现从CentOS7.0开始,/etc/rc.d/rc.local文件的初始权限变成了644,并且rc-local.service服务的状态是disabled状态。
怎么办呢?
很简单!为/etc/rc.d/rc.local文件赋权为744:

初始状态如下:

# ls -l /etc/rc.d/rc/local
total 4
-rw-r--r--. 1 root root 834 Oct 31 09:25 rc.local

赋权操作:

# chmod +x /etc/rc.d/rc.local

# ls -l /etc/rc.d/rc/local
total 4
-rwxr--r--. 1 root root 834 Oct 31 09:25 rc.local

配置完毕!

另外还有一个比较重要的内容,就是在rc-local.service服务文件中,一定要添加[Install]段:

[Install]

WantedBy=multi-user.target

否则,启动或者配置开机启动,都会提示错误。

当然有的时候也可能不成功,比如:
/etc/rc.d/rc.local 文件中的内容格式不正确:
开头少了#!/bin/bash,也是执行不成功的,会提示你格式不对。

此外还可能是没有启动此项服务:
# systemctl list-units --type=service #来查看一下所有的开启启动项目里面有没有这个rc-local这个服务。
# systemctl status rc-local.service #来查看一下当前是怎么个状态

然后:

#systemctl enable rc-local.service

#systemctl start rc-local.service #手工添加下开机启动或者手工起一下看报错信息。

另外:服务的启动文件是存放在了:/lib/systemd/system/ 目录下面,如果不记得这个服务的全称可以来这个目录下面看。

参考文章:http://www.51niux.com/?id=134
参考文章:https://www.cnblogs.com/xjz00/p/7729405.html

Comments are currently closed.