千家信息网

CentOS7中rc.local中的指令不能生效问题。

发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,问题:在系统中/etc/rc.local设置自启动命令的时候,重启计算机,文件中的指令无法生效。我这里编译安装了一个mongodb数据库的服务,然后修改了环境变量。写入到了.bash_profile
千家信息网最后更新 2025年12月01日CentOS7中rc.local中的指令不能生效问题。

问题:
在系统中/etc/rc.local设置自启动命令的时候,重启计算机,文件中的指令无法生效。

我这里编译安装了一个mongodb数据库的服务,然后修改了环境变量。写入到了.bash_profile 文件中,在shell中可以直接执行命令。

查看文件,文件的命令也是正确的

重启后指令无法生效

一、在总结问题之前,先要搞明白几个文件的作用。

rc.local

路径/etc/rc.d/rc.local或/etc/rc.local(软连接文件)
作用:用来开机自启动一些指定指令。

./.bash_profile:

路径:每个用户的根目录下的隐藏文件;
作用,用来设置该用户的环境变量,个人设置,设置之后只能自己使用。

/etc/profile:

路径:/etc/profile
作用:用来设置所有用户的环境变量,整体设置,设置完成后,所有用户皆可以使用

二、查找产生问题的因素。

在linux中,一个文件出现了问题,首先应该查看文件的完整性和文件的权限。(个人习惯)。

(1)启动时,文件的执行先后。

我这里虽然修改了环境变量,但是,当计算机启动的时候,/etc/rc.local文件是先于/etc/profile或.bash_profile文件执行的。

所以,我这里得命令应该使用绝对路径的形式。(which mongod)。

(2)文件的执行权限。

查看软连接文件:

大多数人会在这里出现问题,因为这里显示的是拥有可执行权限的。这个文件的最终执行还是要到/etc/rc.d/rc.local文件那里执行,所以我们需要看的文件权限应该是源文件。

从这里可以看出,文件根本就没有执行权限,所以说当计算机开机的时候,这个文件也不会去执行。

三、解决办法

(1)执行命令的时候,将命令写为执行文件的绝对路径
(2)给/etc/rc.d/rc.local文件附加上可执行权限

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

完成之后重启就可以了。

四、总结

这个问题的出现,一是因为/etc/rc.d/rc.local没有了执行权限(版本问题,看情况以后可能会舍去这个文件)。二是没有认清/etc/rc.d/rc.local文件和/etc/profile文件的执行先后。通过修改文件权限和指令执行方法即可解决。

其实在这里,细心的同学可能会注意到/etc/rc.d/rc/local文件中的注释


人家已经说得明白的啦。

都怪我英语太差啊,看到英语略过。。。。

文件 权限 问题 命令 路径 指令 作用 变量 时候 环境 用户 计算机 个人 先后 英语 细心 办法 同学 因素 完整性 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件开发文档软件 我的世界国际版怎么开官方服务器 如何删除异常数据库 关系数据库的完整性操作 小鼠免疫数据库 谷歌游戏服务器更新中 增强自律意识 防范网络安全 通信与网络技术存在的问题 java中查询数据库数据 我的世界手机版服务器怎么做商场 html5服务器交互 华为游戏服务器稳定吗 黑莓进军网络安全 流放者柯南服务器配置文件 饥荒游侠怎么开专用服务器 魔兽世界阿拉希服务器什么时候开 数据库 去重 提供网络安全设备的公司 宜昌好的软件开发中心 闵行区使用软件开发概念设计 无锡项目软件开发价格表 dhcp服务器启动的命令是 七台河网络安全和信息化委员会 北京网络安全的学校 专业的软件开发公司 英语 阿里云服务器授权对象 数据库的三级结构分别被定位 中小型企业服务器管理实训 想做软件开发哪个网站好 华三服务器装2012
0