2008-11-13 7 views
4

몇 가지 데몬을 시작하는 데 사용하는 여러 init.d 스크립트가 있습니다. 인터넷에서 찾은 스크립트 대부분은 start-stop-daemon을 사용합니다. 나의 이해는 "start-stop-daemon"은 Linux 또는 BSD 배포판에만 해당되며 Solaris에서는 사용할 수없는 명령입니다.init.d 스크립트를 Ubuntu/Debian Linux에서 Solaris로 어떻게 변환합니까?

내 init.d 스크립트를 Linux에서 Solaris로 변환하는 가장 좋은 방법은 무엇입니까? 대략 사용할 수있는 start-stop-daemon과 동일한 명령이 있습니까?

저는 솔라리스 사용자가 아니기 때문에, 제 질문이 본질적으로 유효하지 않다고 할지라도 나는 기꺼이 알 수 있습니다.

답변

5

start-stop-daemon은 Linux이므로 Solaris에서는 그렇게 많이 사용되지 않습니다. init 스크립트를 다시 사용하려면 명령을 이식 할 수 있다고 생각합니다.

그렇지 않으면 사용중인 Solaris 버전에 따라 다릅니다. Solaris 10 및 OpenSolaris를 시작으로 새로운 시작 스크립트 프레임 워크 인 "Solaris Service Management Facility"를 사용합니다.이 서비스는 svcs, svccfgsvcadm과 같은 명령으로 구성됩니다.

자세한 내용은 http://www.oracle.com/technetwork/server-storage/solaris/overview/servicemgmthowto-jsp-135655.html을 참조하십시오.

오래된 Solaris 릴리스의 경우 대부분의 init 스크립트는 start-stop-daemon과 같은 도우미 명령없이 순수한 쉘로 작성됩니다.

+0

저는 OpenSolaris를 사용하고 있습니다. 정보를 제공해 주셔서 감사합니다. 게시 한 링크를 확인해 보겠습니다. –

4

SMF를 사용하는 Solaris 10 이상을 권장하지만 이전 릴리스에서는 /etc/init.d에 init 스크립트를 만들고 rcX.d 디렉토리에서 init 스크립트를 만듭니다. 여기에 rsync를 데몬을 실행하기위한 init 스크립트의 빈약 한 예는 다음과 같습니다

#!/sbin/sh 

startcmd() { 
    /usr/local/bin/rsync --daemon # REPLACE WITH YOUR COMMANDS 
} 

stopcmd() { 
    pkill -f "/usr/local/bin/rsync --daemon" # REPLACE WITH YOUR COMMANDS 
} 

case "$1" in 
'start') 
     startcmd 
     ;; 
'stop') 
     stopcmd 
     ;; 
'restart') 
     stopcmd 
     sleep 1 
     startcmd 
     ;; 
*) 
     echo "Usage: $0 { start | stop | restart }" 
     exit 1 
     ;; 
esac 

합니다 ("S"/ "K"대회 다음) 각 rcX.d 디렉토리에서 스크립트에 대한 링크를 만듭니다.

ln rsync /etc/rc3.d/S91rsync 
for i in `ls -1d /etc/rc*.d | grep -v 3`; do ln rsync $i/K02rsync; done 

각 rcX.d 디렉토리의 README를 참조하고 init.d에 대한 매뉴얼 페이지를 확인하십시오. RC에서

파일 이름 K는 이 작업을 죽일 의미 .D 디렉토리 S가이 일을 시작하는 의미 형태 [SK] 윈,의, 그리고 윈은 IS : 여기 man 페이지의 비트입니다 죽이기의 상대 순서 번호 또는 작업 시작.

상태 (init S, 0,2,3, 등)를 입력하면 rc [S0-6] 스크립트 은 /etc/rc[S0-6].d에 K가 접두어로 붙어있는 스크립트를 실행합니다 스크립트 앞에 S가 붙은 스크립트가 있습니다. 각 스크립트를/etc/rc [S0-6] 디렉토리 중 하나에서 실행할 때/sbin/rc [S0-6] 스크립트는 단일 인수를 전달합니다. 스크립트 접두사가 이며 스크립트 접두사가 이고 접미사가 'start'인 스크립트가 S로 시작됩니다. 숫자를 여러 스크립트에 적용해도 아무런 해가 없습니다.

관련 문제