| 탐색 링크 건너뛰기 | |
| 인쇄 보기 종료 | |
|
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