我正在安装一个新的 Fedora 24 系统,只是为了“好玩”,我运行了以下命令:
systemctl -t service|grep 'loaded active running'| perl -anle 'print "systemctl stop $F[0]; systemctl disable $F[0]"' | sh
它尝试关闭和禁用所有服务。
“auditd”拒绝因错误而停止,但所有其他服务都正常停止。
我还禁用了“systemd-udevd-kernel.socket”和“systemd-udevd-control.socket”,因为上面的命令警告我这些套接字可能会重新启动systemd-udevd。
之后shutdown -r
,引导过程到达“Starting Switch Root...”并挂起。尤其:
此消息下方的光标开始以正常速率闪烁,但随后变得极快地闪烁。
通常,当我像这样搞砸事情时,我会得到一个 dracut 超时,并使用一个最小的 shell 来修复问题。这次,没有 dracut 超时。
我强烈怀疑禁用“system-udevd”是一个非常糟糕的主意。有什么办法可以解决这个问题而不需要重新安装吗?
如果是这样,我应该绝对避免禁用哪些服务?
答案1
我强烈怀疑禁用“system-udevd”是一个非常糟糕的主意。
嗯,你提议的整个企业充满了失败的可能性。
有什么办法可以解决这个问题而不需要重新安装吗?
我尝试使用 LiveCD(甚至是另一个发行版)启动并 chroot 并重新启用所有服务。但那样我一开始就不会陷入如此混乱的境地。
我应该绝对避免禁用哪些服务?
基础安装中的服务存在是有原因的。如果您想要一个健全的、工作的系统,请不要禁用任何东西(除非您正在安装其中一个的直接替代品)。如果您只是想尝试一下并确定使您出现登录提示的最小服务集,则您必须自己进行反复试验。