rc.local和systemctl顺序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rc.local和systemctl顺序相关的知识,希望对你有一定的参考价值。

您好,关于您问到的rclocal和systemctl的顺序,首先要明确的是,rclocal和systemctl是Linux系统中两种不同的服务管理方式,它们之间的顺序是有区别的。

rclocal是Linux系统中一种比较古老的服务管理方式,它的特点是可以在系统启动时执行自定义的脚本,但是它的缺点是不能够很好的控制服务的启动顺序,也不能够很好的管理服务的状态。

而systemctl则是Linux系统中一种比较新的服务管理方式,它的特点是可以更好的控制服务的启动顺序,可以更好的管理服务的状态,而且可以更加方便的管理服务。

因此,在Linux系统中,rclocal和systemctl的顺序应该是systemctl先于rclocal,也就是说,在系统启动时,应该先执行systemctl,然后再执行rclocal。这样可以确保服务的启动顺序正确,也可以更好的管理服务的状态。
参考技术A rc.local和systemctl顺序:rc.local在systemctl前面。首先想到的是把启动容器需执行的脚本放到ENTRYPOINT中执行,看看我们的Dockerfile。进入容器发现systemctl命令是可以运行了,但是env.sh脚本没有执行,查看k8s官方文档发现是docker run传入的命令Dockerfile中的ENTRYPOINT覆盖了。 参考技术B rc.local和systemctl顺序,关于/etc/rc.local不能启动问题,将/etc/profile添加不能启动的一项,即可完成开机自启动。centos7可将比如mysqld redis,nginx编写成nginxd.service,然后用于systemctl控。 参考技术C 我们就能让容器在启动时通过rc.local自动执行脚本获取传入容器的环境变量,同时容器又能使用systemctl了。

centos7 /etc/rc.local需要chmod +x /etc/rc.d/rc.local

Centos 7.0设置/etc/rc.local无效问题解决

安装centos7以后按照以往习惯修改rc.local添加开机启动命令,但重启后发现无效,再次重启发现依然如故

检查系统rc.local服务运行情况

systemctl | grep "rc.local"
# rc-local.service                                                                          loaded active running   /etc/rc.d/rc.local Compatibility

发现运行正常

随后查看rc.local文件

vim /etc/rc.local

发现这么一句话

Please note that you must run \'chmod +x /etc/rc.d/rc.local\' to ensure

由于/etc/rc.local是/etc/rc.d/rc.local的软连接,所以必须确保/etc/rc.local和/etc/rc.d/rc.local都有x权限(可执行)

执行命令

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

重启,一切正常,问题解决。

以上是关于rc.local和systemctl顺序的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu 18.04 rc.local systemd设置

centos7 /etc/rc.local需要chmod +x /etc/rc.d/rc.local

debian 9 开机启动

关于不同系统(ubuntu)下自启动服务的方式

rc.local中启动的脚本在系统监视器中看不到

(转)systemctl 命令完全指南