待たずに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ただし、パスワードを入力するためにネットワークを実行する必要はありません。 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

答え1

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

気づくsystemdはすべてを並列に開始します。したがって、NetworkManagerの起動時間は1.5秒です。何も遅れずにネットワークを明示的に待機するサービスは除外されます(明らかにそうではありません。そうでない場合は図に表示されます)。

関連情報