/etc/init.d 脚本出现“缺少 LSB 标签和覆盖”错误

/etc/init.d 脚本出现“缺少 LSB 标签和覆盖”错误

我制作了一个脚本,如本教程所示: http://edv-huber.com/index.php/problemloesungen/15-custom-splash-screen-for-raspberry-pi-raspbian

但执行命令后:

insserv /etc/init.d/asplashscreen

我收到错误:

insserv: warning script 'k01localhostrepair.sh missing lsb tags and overrides
insserv: warning: scrpt 'localhostrepair.sh' missing LSB tags and overrides

我想这是因为我犯了一个错误:

chmod 777 /etc/init.d 

以便将一个文件复制到那里。我该如何修复该问题以及上述问题?

编辑:我不知道为什么,但它开始工作了(实际上并不好)。当 RPi 启动时,4/5 次启动最终导致 Pi 崩溃。加载时,会出现启动画面,但几秒钟后,我仍然可以在开始时看到控制台输出。启动画面也会在短时间后消失,而不是在桌面启动之前。

答案1

这些只是警告,实际上不会破坏任何东西。这个想法是通过在脚本中提供有关目的、依赖关系等的一致文档,其他工具可以使用它。

标准标头如下所示:

### BEGIN INIT INFO
# Provides:          scriptname
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start daemon at boot time
# Description:       Enable service provided by daemon.
### END INIT INFO

显然,编辑你的初始化脚本的具体内容。

从安全角度来看,将权限更改/etc/init.d777不是一个好主意,但仅此一点不会破坏启动过程。通过将其设置为,777您允许系统上的任何用户可能进行更改,这些更改将由 root 用户在启动时运行。最好将这些权限保留为755775 (有关man chmod这些权限含义的更多具体细节,请参阅)

答案2

我认为你应该考虑使用“systemd”因为它现在正在取代大多数发行版的“init.d”。

它允许在启动时进行并行计算,以加快速度并避免由于串行计算的 init.d 进程失败而导致的内核恐慌......以及包括处理提到的依赖关系在内的一系列其他事情。

如果这对您重要的话,它似乎确实包含调度方面的专有代码和对 GNU 宽通用公共许可证的许可变更。

请查看链接以了解更多信息systemd https://www.tecmint.com/systemd-replaces-init-in-linux/

对于 RaspberryPi 粉丝来说 https://domoticproject.com/creating-raspberry-pi-service/

希望这有点帮助,距离原始帖子晚了几年。我知道!

相关内容