我在从 Intel Optane(我刚从 ebay 收到)启动全新的 Ubuntu 24.04.1 时遇到了一些问题:启动过程运行很快,但有时一些 systemd 单元在启动过程中不运行,系统启动时没有 NetworkManager 或其他东西,如 snapd-apparmor。journalctl 日志报告存在排序周期。尝试找到它们时,我注意到systemd-analyze verify multi-user.target
几乎每次运行它时都会报告不同的内容:
$ sudo systemd-analyze verify multi-user.target 2>&1 | grep -i netwo | wc -l
7
$ sudo systemd-analyze verify multi-user.target 2>&1 | grep -i netwo | wc -l
13
$ sudo systemd-analyze verify multi-user.target 2>&1 | grep -i netwo | wc -l
0
$ sudo systemd-analyze verify multi-user.target 2>&1 | grep -i netwo | wc -l
0
$ sudo systemd-analyze verify multi-user.target 2>&1 | grep -i netwo | wc -l
18
由于对来自 ebay 的磁盘有怀疑,我在之前安装在 Corsair NVMe 上的 Ubuntu 22.04 上尝试了同样的操作,结果相同:
$ sudo systemd-analyze verify multi-user.target 2>&1 | grep -i netwo | wc -l
16
$ sudo systemd-analyze verify multi-user.target 2>&1 | grep -i netwo | wc -l
22
$ sudo systemd-analyze verify multi-user.target 2>&1 | grep -i netwo | wc -l
44
$ sudo systemd-analyze verify multi-user.target 2>&1 | grep -i netwo | wc -l
24
$ sudo systemd-analyze verify multi-user.target 2>&1 | grep -i netwo | wc -l
4
$ sudo systemd-analyze verify multi-user.target 2>&1 | grep -i netwo | wc -l
14
Corsair NVMe 上的启动过程也存在类似的问题,即无法启动某些 systemd 单元。但这种情况不太常见。
为什么会发生这种情况?我是否遗漏了什么systemd-analyze verify
?为什么systemd-analyze verify
每次运行时都会报告不同的循环次数?
版本。在英特尔傲腾上:
$ systemd --version
systemd 255 (255.4-1ubuntu8.4)
+PAM +AUDIT +SELINUX +APPARMOR +IMA +SMACK +SECCOMP +GCRYPT -GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP +LIBFDISK +PCRE2 -PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD -BPF_FRAMEWORK -XKBCOMMON +UTMP +SYSVINIT default-hierarchy=unified
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=24.04
DISTRIB_CODENAME=noble
DISTRIB_DESCRIPTION="Ubuntu 24.04.1 LTS"
之前在 Corsair NVMe 上安装的情况(lspci
实际上报告为 Phison Electronics Corporation E12):
$ systemd --version
systemd 249 (249.11-0ubuntu3.12)
+PAM +AUDIT +SELINUX +APPARMOR +IMA +SMACK +SECCOMP +GCRYPT +GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP +LIBFDISK +PCRE2 -PWQUALITY -P11KIT -QRENCODE +BZIP2 +LZ4 +XZ +ZLIB +ZSTD -XKBCOMMON +UTMP +SYSVINIT default-hierarchy=unified
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.5 LTS"
不知何故,这是由自定义
mount
单元引起的。我不知道为什么。但是,查看日志和systemd-analyze verify
打印的内容,该单元似乎出现在每个“找到的排序周期”下的序列中。所以我禁用了它,并添加了一个automount
单元,在用户登录后挂载该自定义目录。现在systemd-analyze verify multi-user.target
再也没有发现任何问题。启动正常。自定义安装单元如下所示:
我禁用了它,并启用了附加
automount
单元来触发安装:现在它的效果非常好。
我不明白为什么该
mount
单位导致了订购周期。任何想法都欢迎提出。但我要关闭这个问题,因为没有评论或答案。