/etc/rc.d/rc.local开机并未执行其中的命令

前言

在某些 Linux 发行版中,rc.local 脚本可以用来在系统启动时执行自定义命令或脚本。然而,有些最新的发行版(如 Ubuntu 20.04 和 CentOS 8)已经停止使用传统的 rc.local 方式,并引入了 systemd 初始化系统。

在这些新发行版中,使用 systemctl enable rc-local.service 命令可以启用 rc-local.service 服务,其作用如下:

  1. 启用 rc-local 功能:这将允许你在 /etc/rc.d/rc.local 文件中编写自定义命令或脚本,并在系统启动时自动执行。简而言之,它还是保留了以前 rc.local 的功能,但通过 systemd 初始化系统来实现。

  2. 设置 rc-local.service 的自启动:通过使用 systemctl enable 命令,你告诉系统在引导期间自动启动 rc-local.service 服务。这样,你就无需手动执行 rc-local.service,系统会在每次启动时自动启动。

总的来说,启用 rc-local.service 服务的作用是让你可以使用类似于以前 rc.local 的方式,在系统启动时执行自定义的命令或脚本。然而,这也取决于你的 Linux 发行版和版本,因为有些发行版可能已经移除了或不再默认安装 rc-local.service 服务。

配置

说明:systemd 默认会读取 /etc/systemd/system 下的配置文件,该目录下的文件会链接 /lib/systemd/system/ 下的文件。一般系统安装完 /lib/systemd/system/ 下会有 rc-local.service 文件,即我们需要的配置文件。

1. 将 /lib/systemd/system/rc-local.service 链接到 /etc/systemd/system/ 目录下面来

ln -s /lib/systemd/system/rc-local.service /etc/systemd/system/rc-local.service

2. 修改rc-local.service配置,添加如下一行(如不存在)

[Install]
WantedBy=multi-user.target
Alias=rc-local.service

3. 配置/etc/rc.local软链接(若不存在)
注意:与linux发行版有关,有的系统rc.local就是在/etc/下的,我的是在/etc/rc.d/rc.local

ln -s /etc/rc.d/rc.local /etc/rc.lcal

4. 添加可执行权限

对于一些新版本的 Linux 发行版,如 Ubuntu 20.04 或 CentOS 8,rc.local 文件默认是没有可执行权限的。

自 systemd 成为主流的初始化系统后,rc.local 在一些发行版中已经不再被默认启用,而是使用其他方法来管理启动脚本或服务。

chmod +x /etc/rc.local

5. 激活rc-local.service

systemctl enable rc-local.service

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值