前言
在某些 Linux 发行版中,rc.local
脚本可以用来在系统启动时执行自定义命令或脚本。然而,有些最新的发行版(如 Ubuntu 20.04 和 CentOS 8)已经停止使用传统的 rc.local
方式,并引入了 systemd
初始化系统。
在这些新发行版中,使用 systemctl enable rc-local.service
命令可以启用 rc-local.service
服务,其作用如下:
-
启用
rc-local
功能:这将允许你在/etc/rc.d/rc.local
文件中编写自定义命令或脚本,并在系统启动时自动执行。简而言之,它还是保留了以前rc.local
的功能,但通过systemd
初始化系统来实现。 -
设置
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