今天安装了一台Ubuntu 22.04 LTS,配了一些服务,有几条命令想在每次开机的时候运行一下,就想到了rc.local,而这个文件默认是不存在的,上网搜了一下如何启用,没有找到22.04版本的开启方法,教程多是20.04甚至更早一些的版本,在教程中提到如果没有rc-local.service还需要自己创建,/etc/rc.local也是需要自己创建的,并要给执行权限。
于是我到ubuntu官网上去搜了一下,找到了如下的一篇文章
systemd-rc-local-generator - Compatibility generator for starting /etc/rc.local during boot (加外链审核通不过,想看原文的自行搜索一下吧)
大概意思是
systemd-rc-local-generator会自动检查是否存在/etc/rc.local这个文件,并且这个文件是否是可执行的。如果满足条件的话,就会把rc-local.service放到自起动下面。即检测到存在/etc/rc.local且/etc/rc.local有执行权限(sudo chmod +x /etc/rc.local),自动执行systemctl enable rc-local
这样,只需要创建/etc/rc.local就可以了,测试了一下,rc.local中的命令是会自动执行的。