Linux开机启动程序rc.local

本文详细介绍了在CentOS7中如何通过/etc/rc.local脚本配置开机启动程序,包括rc.local的原始内容、配置方法、应用经验和注意事项,提供了一种简单明了的开机启动程序方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在CentOS7中,实现开机启动程序主要有两种方法:

1)把要启动的程序配置成自定义的系统服务,该方法我已经介绍过,请阅读:CentOS7添加自定义系统服务

2)在/etc/rc.local脚本文件中编写启动程序的脚本,本文将详细介绍这种方法。

1、/etc/rc.local是/etc/rc.d/rc.local的软链接

执行ls -l /etc/rc.local看看。
在这里插入图片描述
/etc/rc.local是/etc/rc.d/rc.local文件的软链接,也就是说他们是同一个文件。

2、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 s
### 如何配置 Linux `rc.local` 文件在指定运行级别下实现开机启动 #### 创建并编辑 `/etc/rc.local` 创建或编辑 `/etc/rc.local` 文件,确保其具有可执行权限。对于某些发行版,可能需要手动创建此文件: ```bash sudo touch /etc/rc.local sudo chmod +x /etc/rc.local ``` 编辑该文件以添加要执行的任务。注意开头应包含解释器声明,并且结尾处需有退出状态码[^1]。 ```bash #!/bin/sh -e # rc.local # # This script is executed at the end of each multi-user runlevel. # echo "System initialization complete." exit 0 ``` #### 设置 `rc-local.service` 开机自启 由于现代 Linux 发行版广泛采用 Systemd 来管理服务,因此还需要启用 `rc-local.service` 单元文件来确保 `/etc/rc.local` 能够被执行。这通常涉及到两个步骤:一是确认存在合适的单元文件;二是激活它以便随系统一同启动[^2]。 如果缺少相应的 `.service` 文件,则可以从模板创建一个简单的版本: ```ini [Unit] Description=/etc/rc.local Compatibility ConditionPathExists=/etc/rc.local [Service] Type=forking ExecStart=/etc/rc.local start TimeoutSec=0 StandardOutput=tty RemainAfterExit=yes SysVStartPriority=99 [Install] WantedBy=multi-user.target ``` 保存上述内容至 `/etc/systemd/system/rc-local.service` 后,通过下面的命令完成设置: ```bash sudo systemctl daemon-reload sudo systemctl enable rc-local sudo systemctl start rc-local ``` #### 指定运行级别的处理方式 传统 SysVinit 系统允许管理员基于不同的运行级别定义行为。然而,在使用 Systemd 的环境中,这种机制已被简化为几个目标(Target),如 `multi-user.target` 或者 `graphical.target`。当希望仅在一个特定的目标状态下触发时,可以在 `[Install]` 部分修改 `WantedBy=` 参数指向所需的目标名称[^3]。 例如,若只想让 `rc.local` 在图形界面登录之前运行,应该把 `WantedBy=multi-user.target` 改成 `WantedBy=default.target` 或其他适当的选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值