舍不得rc.local?Ubuntu 16.04后怎么请rc.local回来?

没错,自从16.04后,systemd已完全接管这个舞台了。
不过如果仍然怀念rc.local这个大腕的话,也可以“曲线救国”请它重新登场:

  • 先写一个rc.local脚本
  • 再做一个rc-local.service

让systemd开机后就找rc.local吧,对,你还是没看错,让systemd做导演吧!
尽管这样有点绕,但毕竟这是个情怀……

一、先写个rc.local脚本:

以前/etc/rc.local其实是个传送门,它的“真身”其实在/etc/init.d/目录下,另外以前rc.local还有好多兄弟……
但是现在不管了,单单请个rc.local出来就算了,执行命令:

sudo vi /etc/rc.local

然后写上:

#!/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

老规矩,在exit 0之前,准备好你的脚本吧!
写好脚本好,我们再交给导演:

sudo chown root:root /etc/rc.local
sudo chmod 755 /etc/rc.local

好,现在新导演跟旧导演做的方法不大一样,
新导演的脚本有自己的格式,旧导演再大牌,也得请按新导演的套路走:

二、写一个systemd脚本:

新导演的脚本都放的这里:

sudo vi /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
 StandardOutput=tty
 RemainAfterExit=yes
  
[Install]
 WantedBy=multi-user.target

最后,别忘记告诉新导演,下一集的脚本在这里:

sudo systemctl enable rc-local.service

好了,现在……

请开始你的表演!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

分类目录
树莓派小伙伴