web-dev-qa-db-ja.com

待たずに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秒を追加します。ただし、パスワードを入力するためにネットワークを実行する必要はありません。パーソナルPCでユーザー名/パスワードを入力している間、ネットワークには接続するのに十分な時間があります。

だから私は試しました: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の依存関係としてではありませんか??

3
kravemir

その質問にはほとんど意味がありません。 「起動中に開始する」とは、正確には「デフォルトのターゲットの依存関係として開始する」ことを意味します。

systemdはすべてを並行して開始するので、1.5秒のNetworkManager起動何も遅延しません明示的に待機するサービスを除いて注意してくださいネットワーク(明らかに、何もありません。そうでなければ、グラフに表示されます)。

4
intelfx