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

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

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

graphical.target @5.800s
└─multi-user.target @5.800s
  └─NetworkManager.service @4.201s +1.598s
    └─basic.target @4.201s
      └─sockets.target @4.196s
        └─dbus.socket @4.196s
          └─sysinit.target @4.196s
            └─systemd-update-utmp.service @4.108s +87ms
              └─systemd-tmpfiles-setup.service @4.066s +41ms
                └─local-fs.target @4.066s
                  └─boot-efi.mount @3.964s +101ms
                    └─boot.mount @3.932s +26ms
                      └─systemd-fsck@dev-disk-by\x2duuid-9846843d\x2d8ec1\x2d4574\x2d8bcc\x2d4790440cad5f.service @3.714s +218ms
                        └─dev-disk-by\x2duuid-9846843d\x2d8ec1\x2d4574\x2d8bcc\x2d4790440cad5f.device @3.713s

如您所见,启动时间└─NetworkManager.service @4.201s +1.598s增加了几秒。+1.598s但是,我不需要运行网络来输入密码,当我在个人电脑上输入用户名/密码时,网络有足够的时间进行连接。

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

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

Created symlink from /etc/systemd/system/multi-user.target.wants/NetworkManager.service to /usr/lib/systemd/system/NetworkManager.service.

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

答案1

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

注意systemd 并行启动一切,所以 NetworkManager 启动时间为 1.5 秒不耽误任何事情除了显式等待网络的服务(显然,您没有;否则它们将显示在图中)。

相关内容