기다리지 않고 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초입니다.아무것도 지체하지 않고네트워크를 명시적으로 기다리는 서비스는 제외됩니다(분명히 그렇지 않습니다. 그렇지 않으면 다이어그램에 표시됩니다).

관련 정보