每当我启动我的 gentoo 笔记本电脑时,openrc 就会永远挂在“缓存服务依赖项...”阶段。这会导致我的计算机无法启动,除非我使用 sysrq 密钥将其杀死并手动启动系统。
ps
用作诊断工具时,我发现grep
和cut
程序(脚本的子级)挂起,使用gendepends.sh
0% CPU。在调用openrc default
.
无论如何,我可以使用许多方法来解决这个问题,但我想知道最可能的原因并正确解决它。
当我尝试手动解决依赖关系时,这是 pstree 的相关输出:
| | `-doas /lib/rc/bin/rc-depend -u
| | `-rc-depend -u
| | `-gendepends.sh /lib64/rc/sh/gendepends.sh
| | `-gendepends.sh /lib64/rc/sh/gendepends.sh
| | `-gendepends.sh /lib64/rc/sh/gendepends.sh
| | |-cut -d = -f 2
| | |-grep pid
| | |-tr -d \\"
| | `-tr -d [:space:]
在gendepends.sh
中,这些命令在任何地方都没有提到,所以我假设它们是从另一个由它提供的脚本调用的。
编辑:我现在已经解决了这个问题。原来是由一个旧的 init 脚本引起的,该脚本由于某种原因仍然存在于我的 initscripts 目录中。删除脚本解决了这个问题。感谢您的建议。