탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
Oracle Solaris 11.1에서 서비스 및 결함 관리 Oracle Solaris 11.1 Information Library (한국어) |
inetd 제어 서비스에 대한 등록 정보를 변경하는 방법
inetd 제어 서비스에 대한 명령줄 인수를 수정하는 방법
부트 중 system/filesystem/local:default 서비스가 실패할 경우 sulogin 프롬프트를 강제로 표시하는 방법
다음 절차에서는 실행 제어 스크립트를 사용하여 레거시 서비스를 중지하거나 시작하는 방법을 보여줍니다. 또한 실행 제어 스크립트를 추가 또는 제거하기 위한 지침이 포함되어 있습니다.
다음 작업 맵에서는 실행 제어 스크립트를 사용하는 것과 관련된 여러 절차가 포함됩니다. 각 행에는 작업, 해당 작업을 수행할 시점에 대한 설명 및 작업에 대한 링크가 포함되어 있습니다.
|
자세한 내용은 Oracle Solaris 11.1 관리: 보안 서비스의 지정된 관리 권한을 사용하는 방법을 참조하십시오.
# /etc/init.d/filename stop
# /etc/init.d/filename start
# pgrep -f service
예 2-19 실행 제어 스크립트를 사용하여 서비스 중지 또는 시작
예를 들어, 다음을 입력하여 PPPoE 서버 데몬을 중지할 수 있습니다.
# /etc/init.d/pppd stop # pgrep -f nfs
그런 다음, 다음을 입력하여 PPPoE 서버 데몬을 다시 시작할 수 있습니다.
# /etc/init.d/pppd start # pgrep -f ppp 101748 # pgrep -f ppp -d, | xargs ps -fp UID PID PPID C STIME TTY TIME CMD daemon 101748 1 0 Sep 01 ? 0:06 /usr/lib/inet/pppoed
서비스를 시작 및 중지하는 실행 제어 스크립트를 추가하려면 스크립트를 /etc/init.d 디렉토리에 복사합니다. 그런 다음 서비스를 시작 및 중지할 rcn .d 디렉토리에서 링크를 만듭니다.
실행 제어 스크립트 이름 지정에 대한 자세한 내용은 각 /etc/rc n.d 디렉토리의 README 파일을 참조하십시오. 다음 절차에서는 실행 제어 스크립트를 추가하는 방법을 설명합니다.
자세한 내용은 Oracle Solaris 11.1 관리: 보안 서비스의 지정된 관리 권한을 사용하는 방법을 참조하십시오.
# cp filename/etc/init.d # chmod 0744 /etc/init.d/filename # chown root:sys /etc/init.d/filename
# cd /etc/init.d # ln filename /etc/rc2.d/Snnfilename # ln filename /etc/rcn.d/Knnfilename
# ls /etc/init.d/*filename /etc/rc2.d/*filename /etc/rcn.d/*filename
예 2-20 실행 제어 스크립트 추가
다음 예는 xyz 서비스에 대한 실행 제어 스크립트를 추가하는 방법을 보여줍니다.
# cp xyz /etc/init.d # chmod 0744 /etc/init.d/xyz # chown root:sys /etc/init.d/xyz # cd /etc/init.d # ln xyz /etc/rc2.d/S99xyz # ln xyz /etc/rc0.d/K99xyz # ls /etc/init.d/*xyz /etc/rc2.d/*xyz /etc/rc0.d/*xyz
파일 이름 시작 부분에 밑줄(_)을 붙여 이름을 바꾸어 실행 제어 스크립트를 사용 안함으로 설정할 수 있습니다. 밑줄이나 점으로 시작하는 파일은 실행되지 않습니다. 파일에 접미어를 추가하여 복사할 경우 두 파일 모두 실행됩니다.
자세한 내용은 Oracle Solaris 11.1 관리: 보안 서비스의 지정된 관리 권한을 사용하는 방법을 참조하십시오.
# cd /etc/rcn.d # mv filename_filename
# ls _* _filename
예 2-21 실행 제어 스크립트를 사용 안함으로 설정
다음 예는 S99datainit 스크립트의 이름을 바꾸는 방법을 보여줍니다.
# cd /etc/rc2.d # mv S99datainit _S99datainit # ls _* _S99datainit
이 절차에서는 SMF의 기능을 사용하여 기존 실행 제어 스크립트를 지원하는 방법을 보여 줍니다. 자세한 내용은 svcbundle (1M) 매뉴얼 페이지를 참조하십시오.
시작하기 전에
먼저 스크립트에 필요한 서비스 모델을 결정합니다. 스크립트가 몇 가지 작업을 수행한 후 오래 실행되는 프로세스를 시작하지 않고 종료하는 경우 임시 서비스일 가능성이 높습니다. 스크립트가 오래 실행되는 데몬을 시작한 후 종료하는 경우 계약 서비스입니다. 서비스 모델에 대한 자세한 내용은 svc.startd(1M) 매뉴얼 페이지의 Duration 절을 참조하십시오.
다음으로는 서비스에 적합한 실행 레벨을 결정합니다. 실행 레벨은 스크립트가 링크된 디렉토리(예: /etc/rc3.d)를 확인하여 결정할 수 있습니다.
자세한 내용은 Oracle Solaris 11.1 관리: 보안 서비스의 지정된 관리 권한을 사용하는 방법을 참조하십시오.
이 예에서 서비스 이름은 ex_svc입니다. 이 서비스는 계약 서비스이며 레벨 3에서 실행됩니다.
# svcbundle -o /tmp/ex_svc.xml -s service-name=ex_svc -s start-method=/lib/svc/method/ex_svc -s model=transient
/tmp/ex_svc.xml의 매니페스트 내용이 원하는 대로인지 확인합니다
# cp /tmp/ex_svc.xml /lib/svc/manifest/site/ex_svc.xml
# /etc/init.d/ex_svc stop
해당 rc n.d 디렉토리에서 실행 제어 스크립트에 대한 모든 링크를 제거합니다.
# svcadm restart svc:/system/manifest-import