Menu Close

16.8. SysV init 스크립트를 단위 파일로 변환

SysV init 스크립트를 유닛 파일로 변환하는 데 시간이 걸리기 전에 변환이 아직 다른 곳에서 수행되지 않았는지 확인하십시오. Red Hat Enterprise Linux에 설치된 모든 핵심 서비스는 기본 장치 파일과 함께 제공되며 여러 타사 소프트웨어 패키지에 동일하게 적용됩니다.

init 스크립트를 유닛 파일로 변환하려면 스크립트를 분석하고 필요한 정보를 추출해야 합니다. 이 데이터를 기반으로 단위 파일을 만들 수 있습니다. init 스크립트는 서비스 유형에 따라 크게 달라질 수 있으므로 이 장에 설명된 것보다 번역에 더 많은 구성 옵션을 사용해야 할 수 있습니다. init 스크립트로 사용 가능한 일부 수준의 사용자 지정은 더 이상 systemd 장치에서 지원되지 않습니다.

변환에 필요한 대부분의 정보는 스크립트의 헤더에 제공됩니다. 다음 예제에서는 Red Hat Enterprise Linux 6에서 postfix 서비스를 시작하는 데 사용되는 init 스크립트의 열기 섹션을 보여줍니다.

#!/bin/bash
# postfix      Postfix Mail Transfer Agent
# chkconfig: 2345 80 30
# description: Postfix is a Mail Transport Agent, which is the program that moves mail from one machine to another.
# processname: master
# pidfile: /var/spool/postfix/pid/master.pid
# config: /etc/postfix/main.cf
# config: /etc/postfix/master.cf
### BEGIN INIT INFO
# Provides: postfix MTA
# Required-Start: $local_fs $network $remote_fs
# Required-Stop: $local_fs $network $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: start and stop postfix
# Description: Postfix is a Mail Transport Agent, which is the program that moves mail from one machine to another.
### END INIT INFO

위의 예에서 # chkconfig# 설명으로 시작하는 행만 필수이므로 다른 init 파일에서 나머지를 찾지 못할 수 있습니다. BEGIN INIT INFOEND INIT INFO 행 사이에 있는 텍스트는 Linux Standard Base(LSB) 헤더 라고 합니다. 지정된 경우 LSB 헤더에는 서비스 설명, 종속 항목 및 기본 실행 수준을 정의하는 지시문이 포함됩니다. 다음은 새 단위 파일에 필요한 데이터를 수집하는 분석 작업의 개요입니다. postfix init 스크립트는 예제로 사용됩니다.