我在一台 Centos 7 服务器上启动时遇到了问题multi-user.target
。起初我注意到运行该runlevel
命令确实返回了“未知”级别。
# runlevel
unknown
我怀疑这可能是由不活动的multi-user.target
(默认目标)引起的。
# systemctl status multi-user.target
multi-user.target - Multi-User System
Loaded: loaded (/usr/lib/systemd/system/multi-user.target; enabled; vendor preset: disabled)
Active: inactive (dead)
Docs: man:systemd.special(7)
# systemctl get-default
multi-user.target
当我尝试手动启动它时,命令挂起,什么也没发生。我注意到,所getty.target
依赖multi-user.target
的 也已关闭,并且有一个待处理的start
工作。
# systemctl -t target
UNIT LOAD ACTIVE SUB JOB DESCRIPTION
basic.target loaded active active Basic System
cryptsetup.target loaded active active Encrypted Volumes
getty.target loaded inactive dead start Login Prompts
local-fs-pre.target loaded active active Local File Systems (Pre)
local-fs.target loaded active active Local File Systems
multi-user.target loaded inactive dead start Multi-User System
network-online.target loaded active active Network is Online
network-pre.target loaded active active Network (Pre)
network.target loaded active active Network
paths.target loaded active active Paths
remote-fs-pre.target loaded active active Remote File Systems (Pre)
remote-fs.target loaded active active Remote File Systems
slices.target loaded active active Slices
sockets.target loaded active active Sockets
spice-vdagentd.target loaded active active Agent daemon for Spice guests
swap.target loaded active active Swap
sysinit.target loaded active active System Initialization
timers.target loaded active active Timers
启动getty.target
/[email protected]
会产生同样的效果 - 命令挂起。不幸的是,我无法使用 找到此行为的任何原因journalctl
。
就在我写最后一段的时候,我想到要停止正在等待的开始工作getty.target
并重新开始。这实际上解决了我的主要问题,因为停止待处理的工作可以multi-user.target
激活。
systemctl --job-mode=replace stop getty.target
这仍然不能解释为什么getty.target
拒绝启动。你们有人知道为什么会发生这种情况吗?或者有其他日志可以让我查看吗?
答案1
一位同事遇到了 getty/multi-user systemd 目标无法启动的问题。当他连接到控制台时,出现提示,要求他确认/回答一个问题,以便一切顺利进行,从而允许 getty/multi-user 启动。
这是提示的屏幕截图:
这里也引用了这个问题:CentOS 7 启动时提示“许可证不被接受”。您需要同意的 EULA 可以通过 kickstart 自动接受,如下所述 -使用 eula 进行 kickstart - 完成配置。