问:ubuntu没有rc.local了么?
是的,从 Ubuntu 18.04 版本开始,不再默认提供rc.local服务。这是因为 Ubuntu 18.04 之后的版本使用 Systemd 作为初始化系统,而rc.local是一个传统的 SysV 初始化脚本,与 Systemd 不兼容。
然而,你仍然可以手动创建和启用rc.local功能,以在 Ubuntu 中实现类似的功能。以下是一种方法:
创建rc.local文件:
sudo vim /etc/rc.local
在编辑器中,输入你想要执行的命令或脚本。请确保在exit 0行之前的命令都正确设置并以适当的格式编写。例如:
#!/bin/bash
# 这是一个示例,你可以在此处编写你想要运行的命令或脚本
echo "Hello, World!" >> /tmp/local.logexit 0
保存文件并退出编辑器。
接下来,设置文件和服务的权限:
sudo chmod +x /etc/rc.local
再创建一个自定义的rc-local.service,来实现自启动:
创建一个新的rc-local.service文件并编辑它:
sudo vim /etc/systemd/system/rc-local.service
在编辑器中,输入以下内容:
[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
RemainAfterExit=yes
GuessMainPID=no[Install]
WantedBy=multi-user.target
保存文件并退出编辑器。
sudo chmod 755 /etc/systemd/system/rc-local.service
重新加载 systemd 并启用rc-local.service:
sudo systemctl daemon-reload
sudo systemctl enable rc-local.service
sudo systemctl start rc-local.service
现在,rc-local.service服务应该已经启动,并且在系统引导时会自动执行/etc/rc.local文件中的命令或脚本。
网友评论