黑马程序员技术交流社区

标题: 【成都校区】现代Linux发行版中rc.local的再次开启 [打印本页]

作者: 小蜀哥哥    时间: 2019-10-10 15:17
标题: 【成都校区】现代Linux发行版中rc.local的再次开启

现代Linux发行版中rc.local的再次开启



前言

现在很多Linux发行版中,已经不再使用Init作为进程和服务管理系统了,那么,现代的Linux发行版中,基本上都是Sytemd作为进程和服务管理系统,而且使用上更加规范。

但是,就会出现一个问题,就是过去的开机自动启动项目,就无法通过常规的Init.d的思路配置成功。如果,还依然需要使用常规的rc.local配置来做开机自启动就需要专门配置。实际上Sytemd本身是支持rc启动服务的,只是默认屏蔽了而已。其它的,诸如OpenRC实现思路略有不同,本教程只涉及Systemd启动rc.local。

开启步骤

配置rc-local.service服务文件
找到对应目录,并配置内容:
[Shell] 纯文本查看 复制代码
sudo vim /etc/systemd/system/rc-local.service


并确认内容:
[Shell] 纯文本查看 复制代码
[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


激活rc-local.service
[Shell] 纯文本查看 复制代码

sudo systemctl enable rc-local.service


添加启动服务

手工创建或者拷贝已有的/etc/rc.local,并赋予执行权限

[Shell] 纯文本查看 复制代码
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

exit 0


给予脚本执行权限

[Shell] 纯文本查看 复制代码
sudo chmod +x /etc/rc.local



总结


在现代Linux发行版中就可以采用以上方式开启 rc.local 自动启动。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2