为什么CentOS8开机不执行rc.local
2021-06-10 15:52 猎手家园 阅读(1489) 评论(0) 编辑 收藏 举报一、有两台服务器,一台centos6,一台centos8。centos6中配置了开机启动脚本rc.local,理所当然的在centos8中也照样配置了,结果.....Centos8中的rc.local并未启动。
二、首先执行一条检查命令:
systemctl status rc-local
发现它的状态是:Active: inactive (dead) 未激活
这是什么原因?
在Centos系统中,我们运维一般在/etc/rc.d/rc.local写入开机需要运行的命令,就可以实现系统开机启动过程,启动所需的命令,这是Centos5-6的常规做法,但是在Centos7-8采用了systemd技术,开机不会运行init进程,但是为了兼容Centos5-6版本,新版本中提供了一个rc-local的systemc服务,可以通过启动此服务,实现rc.local文件中设置的启动程序开机启动。
所以设置一下:
1、将 rc.local 文件设置为可执行文件:
chmod +x /etc/rc.d/rc.local
2、在 /usr/lib/systemd/system/rc-local.service 结尾加上:
[Install]
WantedBy=multi-user.target
3、设置为开机启动
systemctl enable rc-local
完成。
三、来看一下rc.local文件中的注释
#!/bin/bash # THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES # # It is highly advisable to create own systemd services or udev rules # to run scripts during boot instead of using this file. # # In contrast to previous versions due to parallel execution during boot # this script will NOT be run after all other services. # # Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure # that this script will be executed during boot.
意思是:
添加此文件是出于兼容性目的
最好创建自己的systemd服务或udev规则来在引导期间运行脚本,而不是使用这个文件。
与以前的版本不同,由于在引导期间并行执行,此脚本将不会在所有其他服务之后运行。
请注意,您必须运行CHMOD+X/ETC/RC D/rc.本地'以确保在引导期间执行此脚本。
创建启动服务传送门:https://www.cnblogs.com/hunttown/p/14872071.html

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!