부팅 시 시스템 서비스를 강제로 시작하는 방법

부팅 시 시스템 서비스를 강제로 시작하는 방법

세부 사항을 놓쳤다면 죄송합니다. systemd의 모든 영역을 알지 못할 수도 있습니다. 다른 서비스 이후에 인 감시 서비스가 자동으로 시작되도록 하려고 하는데 왜 기본적으로 비활성화되어 있는지 이해할 수 없습니다.

> /lib/systemd/system# ls |grep phosphor-watchdog
>
> [email protected]
>
> [email protected]

/lib/systemd/system# systemctl status [email protected][email protected] - Phosphor poweron watchdog
     Loaded: loaded (/lib/systemd/system/[email protected]; disabled; vendor preset: enabled)
    Drop-In: /lib/systemd/system/[email protected]
             └─poweron.conf
     Active: inactive (dead)

이것은 Phosphorus Watchdog 서비스에 대한 서비스 파일입니다.

[Unit]
Description=Phosphor %I watchdog
[email protected]
After=pwr-monitor.service

[Service]
Restart=always
EnvironmentFile={envfiledir}/obmc/watchdog/%I
ExecStart=/usr/bin/env phosphor-watchdog --continue --service=${{SERVICE}} --path=${{DEVPATH}} --target=${{TARGET}}
SyslogIdentifier=phosphor-watchdog

[Install]
WantedBy=multi-user.target

그리고[이메일 보호됨]/poweron.conf:

[Unit]
[email protected]
[email protected]
[email protected]

"WantedBy=multi-user.target"이 있음에도 불구하고 내 서비스가 항상 비활성화되는 이유를 알고 싶습니다.

참고: systemctl 활성화를 사용하면 모든 것이 잘 작동하지만 기본적으로 활성화하고 싶습니다.

더 많은 정보를 제공해야 한다면 알려주시기 바랍니다. 감사해요.

답변1

[Install]
WantedBy=multi-user.target

모든man systemd.unit:

[Install]은 런타임 시 systemd(1)에 의해 해석되지 않으며, 장치 설치 중에 systemctl(1) 도구의 활성화 및 비활성화 명령에 의해 사용됩니다.

따라서 이 섹션에 나타나는 모든 내용은 사용하지 않는 한 [Install]아무런 효과가 없습니다 systemctl enable.

참고: systemctl을 사용하면 모든 것이 잘 작동합니다.

이는 예상된 동작입니다. systemctl enable지속적인 심볼릭 링크가 추가되어 지금부터 비활성화될 때까지 발사할 때마다 장치가 발사됩니다.

하지만 기본적으로 활성화하고 싶습니다.

설치는 단순한 파일 복사 그 이상입니다. 일반적으로 패키지는 다음을 수행합니다.

  1. 서비스를 설치하십시오./lib/systemd/system/
  2. systemctl enable제공하다
  3. systemctl start제공하다

따라서 설치의 일부는 이어야 합니다 systemctl enable.


systemd 초기에는 기본적으로 서비스 활성화를 원하지 않는 사람들이 많았던 것을 기억합니다. 예를 들어 Arch 패키지에는 기본적으로 enable/ services가 없습니다 start.

데비안에는 직접 호출 deb-systemd-helper하지 않고 패키지에서 사용하는 helper라는 프로그램이 있습니다 . 활성화한 항목을 기반으로 특정 장치를 사용할지 여부를 결정하는 동시에 업그레이드하기 전에 명시적으로 비활성화/차단한 경우 결정을 존중하는 systemctl enable등의 작업을 수행합니다 . 또한 업데이트 시 장치를 재설정/다시 로드하거나 장치를 언로드하기 전에 중지하는 등 몇 가지 편리한 작업을 수행할 수도 있습니다.enablevendor preset

관련 정보