如何无需等待即可启用systemd的服务?

kra*_*mir 5 linux arch-linux networkmanager systemd services

我正在努力使最快的启动成为可能并且确实运行了systemd-analyze critical-chain

\n\n
graphical.target @5.800s\n\xe2\x94\x94\xe2\x94\x80multi-user.target @5.800s\n  \xe2\x94\x94\xe2\x94\x80NetworkManager.service @4.201s +1.598s\n    \xe2\x94\x94\xe2\x94\x80basic.target @4.201s\n      \xe2\x94\x94\xe2\x94\x80sockets.target @4.196s\n        \xe2\x94\x94\xe2\x94\x80dbus.socket @4.196s\n          \xe2\x94\x94\xe2\x94\x80sysinit.target @4.196s\n            \xe2\x94\x94\xe2\x94\x80systemd-update-utmp.service @4.108s +87ms\n              \xe2\x94\x94\xe2\x94\x80systemd-tmpfiles-setup.service @4.066s +41ms\n                \xe2\x94\x94\xe2\x94\x80local-fs.target @4.066s\n                  \xe2\x94\x94\xe2\x94\x80boot-efi.mount @3.964s +101ms\n                    \xe2\x94\x94\xe2\x94\x80boot.mount @3.932s +26ms\n                      \xe2\x94\x94\xe2\x94\x80systemd-fsck@dev-disk-by\\x2duuid-9846843d\\x2d8ec1\\x2d4574\\x2d8bcc\\x2d4790440cad5f.service @3.714s +218ms\n                        \xe2\x94\x94\xe2\x94\x80dev-disk-by\\x2duuid-9846843d\\x2d8ec1\\x2d4574\\x2d8bcc\\x2d4790440cad5f.device @3.713s\n
Run Code Online (Sandbox Code Playgroud)\n\n

如你所见\xe2\x94\x94\xe2\x94\x80NetworkManager.service @4.201s +1.598s添加+1.598s启动时间但是,我不需要运行网络来输入密码,当我在个人电脑上输入用户名/密码时,网络有足够的时间进行连接。

\n\n

所以我尝试了:\nrm /etc/systemd/system/multi-user.target.wants/NetworkManager.service

\n\n

然而,这在启动时完全禁用了 NM,并使用以下命令启用它systemctl enable NetworkManager只是创建相同的符号链接:

\n\n
Created symlink from /etc/systemd/system/multi-user.target.wants/NetworkManager.service to /usr/lib/systemd/system/NetworkManager.service.\n
Run Code Online (Sandbox Code Playgroud)\n\n

有什么方法可以NetworkManager.service在引导期间启动,但不能作为依赖项multi-user.target

\n

int*_*lfx 4

这个问题没有什么意义。“在引导期间启动”准确地说是“作为默认目标的依赖项启动”。

请注意,systemd 并行启动所有内容,因此 1.5 秒的 NetworkManager 启动不会延迟任何内容,除了显式等待网络的服务(显然,您没有;否则它们将显示在图中)。