탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
Oracle Solaris 11 시스템 Oracle Solaris 11 Information Library (한국어) |
SMF 매니페스트 파일 만들기에 표시된 SMF 서비스 매니페스트의 위쪽 부근에 있는 다음 줄을 통해 서비스가 사용으로 설정됩니다.
<create_default_instance enabled='true' />
처음 부트 스크립트가 끝나면 서비스를 사용 안함으로 설정하고 패키지를 제거합니다. 그래야 처음 부트 스크립트가 한번만 실행됩니다.
#!/bin/sh svcadm disable svc:/site/first-boot-script-svc:default pkg uninstall pkg:/first-boot-script exit $SMF_EXIT_OK
이 예제에서 first-boot-script-svc는 SMF 매니페스트 파일 만들기에서 만든 SMF 서비스이며, first-boot-script는 스크립트 및 서비스에 대한 IPS 패키지 만들기에서 만든 IPS 패키지입니다.
참고 -
여러 스크립트의 여러 명령이 서로 충돌하는 것을 피하려면 처음 부트 스크립트를 하나만 사용하십시오.
처음 부트 스크립트로 재부트해야 하는 경우 재부트를 스크립트의 마지막 동작으로 만듭니다.
예 13-1 샘플 처음 부트 스크립트
이 예는 /opt/site/first-boot-script.sh라는 샘플 처음 부트 스크립트를 보여줍니다. 이 스크립트는 방금 AI 설치에서 만든 부트 환경(BE)의 복사본을 먼저 저장합니다. 처음 부트 스크립트를 수정하기 전에 BE의 복사본을 저장하면, 저장된 BE로 부트하면서 스크립트에서 소개된 문제를 쉽게 복구할 수 있습니다.
#!/bin/sh # Load SMF shell support definitions . /lib/svc/share/smf_include.sh echo "Save original boot environment first." # Obtain the active BE name from beadm: The active BE on reboot has an R in # the third column of 'beadm list' output. Its name is in column one. bename=`beadm list -Hd|nawk -F ';' '$3 ~ /R/ {print $1}'` beadm create ${bename}.orig # Add support for faster serial console echo "Setting up support for faster serial console" ! grep console115200 >/dev/null /etc/ttydefs && \ echo "console115200:115200 hupcl opost onlcr:115200::console115200" \ >>/etc/ttydefs echo "Configure ssh server for root login and X11 forwarding" ed - << EOF r /etc/ssh/sshd_config /PermitRootLogin/ c PermitRootLogin yes . /X11Forwarding/ c X11Forwarding yes . w q EOF svcadm refresh ssh # Set up coreadm echo "Setting core file configuration" coreadm -G default -g /var/cores/%f.%u.%p.%t.core coreadm -e global coreadm -e process coreadm -e proc-setid coreadm -e log # Disable service and uninstall package svcadm disable svc:/site/first-boot-script-svc:default pkg uninstall pkg:/first-boot-script echo "Site first-boot script done. Rebooting in 5 seconds." > /dev/console sleep 5 && reboot -p || reboot & exit $SMF_EXIT_OK