centos7下/etc/rc.local文件里配置的开机启动项不执行的解决办法

习惯于在/etc/rc.local文件里配置我们需要开机启动的服务,这个在centos6系统下是正常生效的。但是到了centos7系统下,发现/etc/rc.local文件里的开机启动项不执行了!仔细研究/etc/rc.local文件内容,发现问题如下:

[[email protected] ~]# cat /etc/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.local”来确保确保这个脚本在引导时执行。

然后接着查看/etc/rc.local的权限

[[email protected] ~]# ll /etc/rc.local
lrwxrwxrwx. 1 root root 13 1月  29 10:45 /etc/rc.local -> rc.d/rc.local
[[email protected] ~]# ll /etc/rc.d/rc.local
-rw-r--r--. 1 root root 473 1月  25 23:52 /etc/rc.d/rc.local

/etc/rc.d/rc.local没有执行权限,于是按说明的内容执行:

[[email protected] ~]# chmod +x /etc/rc.d/rc.local
[[email protected] ~]# ll /etc/rc.d/rc.local
-rwxr-xr-x. 1 root root 473 1月  25 23:52 /etc/rc.d/rc.local

重启服务器后发现/etc/rc.local文件里设置的开启启动项能够正常执行了。由此可见,虽然centos版本的变迁,/etc/rc.local、/etc/rc.d/rc.local正在处于被弃用的路上。

原文地址:https://www.cnblogs.com/kevingrace/p/8387827.html

时间: 2024-08-05 11:17:53

centos7下/etc/rc.local文件里配置的开机启动项不执行的解决办法的相关文章

关于在linux下出现stdio.h文件不存在等gcc标准库不能找到的解决办法

首先说明一下我的系统配置:ubuntu 12.04     gcc 4.6.3 有几天没有使用ubuntu了,今天拿出来编程序,刚开始编译一个uboot1.1.6的代码.出现了stdio.h:没有那么个文件或目录的错误,因为我是用的arm-linux-gcc交叉编译编的,所以我刚开始怀疑是不是我的编译器有问题.后来我去编译以前写的一个网络程序 用gcc -o test test.c  然后还是出现了stdio.h:没有那么个文件或目录的错误.然后就各种google,百度.最后的解决方案是: 我的

JPA 不在 persistence.xml 文件中配置每个Entity实体类的2种解决办法

原文:JPA 不在 persistence.xml 文件中配置每个Entity实体类的2种解决办法 在Spring 集成 Hibernate 的JPA方式中,需要在persistence配置文件中定义每一个实体类,这样非常地不方便,远哥目前找到了2种方法. 这2种方式都可以实现不用persistence.xml文件,免去每个Entity都要在persistence.xml文件中配置的烦恼,但是这种方式Entity实体类的主键字段注解@ID要放到 getXXX()方法上,否则不认. 方式1: 修改

Linux中没有rc.local文件的解决方法

比较新的Linux发行版已经没有rc.local文件了.因为已经将其服务化了. 解决方法: 1.设置rc-local.service sudo vim /etc/systemd/system/rc-local.service [Unit] Description=/etc/rc.local Compatibility ConditionPathExists=/etc/rc.local [Service] Type=forking ExecStart=/etc/rc.local start Tim

解决linux下/etc/rc.local开机器不执行的原因

前不久因项目需要写了开机启动其他程序的shell脚本,因工作忙,调试完给了技术支持人员,也没去注意过. 到后来,有几台服务器突然被重启了,这时候领导问,怎么开机启动的脚本没起作用,还被批了一顿,哎,做事虎头蛇尾,活该! 然后去查,一直没查到原因, 手动执行都是正确的,在排除了权限原因和脚本问题后,很郁闷,怎么放到开机启动项目中就无法执行了呢. 于是去查linux开机启动过程信息.google下,看了下关于一些开机启动启的资料,发现了开机启动程序的级别为3. 果断顺藤莫瓜,找到了这个目录 /etc

CentOS7下MySQL8的二进制基本安装配置

前言 基于本地Centos7.6虚拟机Mysql8的配置 一.安装前的准备 1.到官网下载mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz 2.通过Xshell或者Xftp.PSPC.PSFTP等工具把安装包上传到CentOS服务器. PSftp示范 (1)先在虚拟机上命令(ip addr)查看虚拟机的ip,没有ip自己网上找配置方法 (2)打开psftp,连接虚拟机 open ip (3)账号密码登录(注意:要回复y or n时,要照提示输入,不能直接回车)

树莓派的rc.local文件(设置开机启动)

为了在树莓派启动的时候运行一个命令或程序,你需要将命令添加到rc.local文件中.这对于想要在树莓派接通电源后无需配置直接运行程序,或者不希望每次都手动启动程序的情况非常有用. 另一种替代定时任务的方法是使用cron和crontab. EDITING RC.LOCAL(编辑rc.local文件) 在你的树莓派上,选择一个文本编辑器编辑/etc/rc.local文件.你必须使用root权限编辑,例如: sudo vim /etc/rc.local 在注释后面添加命令,但是要保证exit 0这行代

CentOS7下安装MySQL5.7安装与配置(YUM)

CentOS7下安装MySQL5.7安装与配置(YUM) 安装环境:CentOS7 64位 MINI版,安装MySQL5.7 1.配置YUM源 在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo/yum/ # 下载mysql源安装包shell> wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm# 安装mysql源shell> yum l

Centos7下自动挂载光盘文件的实现

Centos7下自动挂载光盘文件的实现 问题来源:  最近使用Centos7的命令行终端,发现光盘文件不会自动挂载了.在网络不稳定的状况下,光盘里的rpm包是真的很实用,但是每次登陆之后去手动挂载光盘又比较麻烦,于是便想找找看有没有什么软件可以实现光盘文件的自动挂载.问题的解决:  经过一番查找,在yum源内发现一个autofs的包,它可以实现自动挂载和删除文件系统.  yum源安装的话yum install autofs -y就可以了,但是如果是光盘包安装的话,要注意它还有个依赖包libsss

不在JPA 的 persistence.xml 文件里配置Entity class的解决的方法

?? 在Spring 集成 Hibernate 的JPA方式中,须要在persistence配置文件里定义每个实体类.这样很地不方便.2种方法能够解决此问题: 这2种方式都能够实现不用在persistence.xml文件里配置每个实体类,从而免去每个Entity都要在persistence.xml文件里配置的烦恼,可是这样的方式Entity实体类的主键字段注解@ID要放到 getXXX()方法上.否则不认. 方式1: 改动"LocalContainerEntityManagerFactoryBe