我正在尝试从 NFS 安装的根文件系统(Debian 10)中调出电路板。启动时通过串口报错:
[FAILED] Failed to start Create System Users.
See 'systemctl status systemd-sysusers.service' for details.
这是打印出来的唯一错误消息。我无法登录(可能是因为尚未创建用户),因此无法运行任何命令来检查详细信息。
根文件系统应该是好的,因为当它位于 SD 卡中时,主板可以从它启动。
那么Linux启动时“创建系统用户”这个过程是如何执行的呢?造成此错误的原因是什么?
答案1
在启动过程中,systemd 会初始化所有已配置和启用的服务。它根据明确规定的要求以及其他一些指标对它们进行排序。
对于您的情况,Debian 包含带有 systemd-sysusers 服务的 systemd,该服务在文件中定义:/usr/lib/systemd/system/systemd-users.service。
该服务的默认内容应该类似于:
# SPDX-License-Identifier: LGPL-2.1-or-later # # This file is part of systemd. # # systemd is free software; you can redistribute it and/or modify it # under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation; either version 2.1 of the License, or # (at your option) any later version.
[Unit]
Description=Create System Users
Documentation=man:sysusers.d(5) man:systemd-sysusers.service(8)
DefaultDependencies=no
Conflicts=shutdown.target
After=systemd-remount-fs.service
Before=sysinit.target shutdown.target systemd-update-done.service
ConditionNeedsUpdate=/etc
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=systemd-sysusers
TimeoutSec=90s
# Optionally, pick up a root password and shell for the root user from a
# credential passed to the service manager. This is useful for importing this
# data from nspawn's --set-credential= switch.
LoadCredential=passwd.hashed-password.root
LoadCredential=passwd.plaintext-password.root
LoadCredential=passwd.shell.root
该ExecStart
行告诉 systemd 为此服务运行什么。在这种情况下它将运行/usr/bin/systemd-sysusers没有参数。该实用程序的一些输出可以在/var/日志/消息。就我而言(CentOS 9 Stream),成功运行输出:
Aug 15 10:11:26 MY-VM systemd-sysusers[257]: Suggested group ID 65534 for nobody already used.
Aug 15 10:11:26 MY-VM systemd-sysusers[257]: Creating group 'nobody' with GID 999.
Aug 15 10:11:26 MY-VM systemd-sysusers[257]: Creating group 'users' with GID 100.
Aug 15 10:11:26 MY-VM systemd-sysusers[257]: Creating group 'dbus' with GID 996.
Aug 15 10:11:26 MY-VM systemd-sysusers[257]: Creating user 'dbus' (System Message Bus) with UID 996 and GID 996.
Aug 15 10:11:28 MY-VM systemd[1]: systemd-sysusers.service: Deactivated successfully.
当我搜索您遇到的错误时,列出的最可能的原因是:无法写入根驱动器/分区(磁盘已满、权限、只读安装等)以及以下一项或多项中的配置错误或语法错误:/etc/passwd、/etc/shadow、/etc/gshadow、/etc/group。
请注意,systemd 服务单元文件还列出了要阅读其文档的手册页。