
SysV init 스타일 파일을 Systemd Unit 파일로 변환 중이며 init 섹션 블록은 다음과 같습니다.
### BEGIN INIT INFO
# Provides: ifcheck
# Required-Start: $local_fs
# Required-Stop:
# Should-Start:
# Should-Stop:
# Default-Start: S
# Default-Stop:
# Short-Description: Network interfaces check & replace
# Description: Checks if the interfaces were corrupted or if the special section is missing. If so, a default version will be copied over.
### END INIT INFO
실행 수준 0-6이 다양한 시스템 대상에 해당한다는 것을 알고 있습니다.
╔══════════════════════╦═══════════════════╗
║ Run Level (SysVinit) ║ Systemd Target ║
╠══════════════════════╬═══════════════════╣
│ Run level 0 │ poweroff.target │
├──────────────────────┼───────────────────┤
│ Run level 1 │ rescue.target │
├──────────────────────┼───────────────────┤
│ Run level 2 │ multi-user.target │
├──────────────────────┼───────────────────┤
│ Run level 3 │ multi-user.target │
├──────────────────────┼───────────────────┤
│ Run level 4 │ multi-user.target │
├──────────────────────┼───────────────────┤
│ Run level 5 │ graphical.target │
├──────────────────────┼───────────────────┤
│ Run level 6 │ reboot.target │
├──────────────────────┼───────────────────┤
│ Emergency │ emergency.target │
└──────────────────────┴───────────────────┘
(According to https://www.tecmint.com/change-runlevels-targets-in-systemd/ )
S
그러나 나는 이전에 실행 수준을 본 적이 없습니다 . 나는 본 적이단일 사용자용이라는 일부 정의~하는 동안다른 실행 수준의 동의어로 정의하는 다른 것들이 있습니다여전히다른 사람들은 결정적인 정의를 가지고 있지 않습니다.
내가 작업 중인 버전이 다음 버전일 가능성이 가장 높다는 것을 알고 있습니다.Linux 표준 기본 사양왜냐하면 초기화 정보 블록 바로 뒤에는lsb 초기화 기능(출처 . /lib/lsb/init-functions
: ). 또한 시스템은 Debian 8 Jessie를 실행하고 있습니다.
실행 수준에 해당하는 시스템 단위 파일에 어떤 대상을 넣어야 합니까 S
?
답변1
S
systemd에는 직접적인 대응이 없습니다. 프로그램 systemd-sysv-generator
은 그러한 van Smoorenburg 스크립트를 처리하지 않습니다 rc
.
데비안예전에는rc
기본 종속성 없이 서비스 단위 내부에서 사용되며 S
원했던 스크립트를 래핑한 해당 프로그램의 패치 버전입니다 sysinit.target
. 이것은 불완전했지만,모두van Smoorenburg 스크립트를 systemd-sysv-generator
번역하는 일률적인 기계적 방법이 없기 때문에 작업이 불완전합니다.rc
rc
데비안 시스템 사람들은 사용된 데비안의 모든 van Smoorenburg 스크립트가 S
적절한 서비스 단위로 대체되었다고 믿었을 때 2016년 7월에 패치를 폐지했습니다. 당신은 집에서 재배한 것 같습니다.
S
이 경우 실행 수준 을 완전히 잊어버리는 것이 좋습니다 . 설명에 근거하여 제가 추측한 바에 따르면 실제로 만들어야 할 서비스 단위는 다음과 같습니다.
기본 종속성=아니요 이후=local-fs.target 이전=network-pre.target 원하는=network-pre.target그리고 그것은
Wanted-By
아마도 적절한 것 입니다 basic.target
.
귀하의 서비스가 실제로 수행하는 작업에 따라 이후 주문이 local-fs.target
과도할 수도 있습니다. 그러나 그것은 오직 당신만이 결정할 수 있는 것입니다.