我制作了一个脚本,如本教程所示: 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.d
为777
不是一个好主意,但仅此一点不会破坏启动过程。通过将其设置为,777
您允许系统上的任何用户可能进行更改,这些更改将由 root 用户在启动时运行。最好将这些权限保留为755
或775
(有关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/
希望这有点帮助,距离原始帖子晚了几年。我知道!