Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

32.7. 설치후 스크립트

설치가 완료된 후 시스템 상에서 실행될 명령을 추가할 수 있는 옵션을 갖게 됩니다. 이 섹션은 32.4절. “킥스타트 옵션”에서 설명하고 있듯이 킥스타트 명령 후 킥스타트 파일의 마지막 부분에 위치하며 %post 명령으로 시작해야 합니다. 킥스타트 파일에 %pre 섹션이 포함되어 있는 경우 %pre%post 섹션의 순서는 중요하지 않습니다.
다음 부분은 추가 소프트웨어를 설치하거나 추가 네임 서버를 설정하는 것과 같은 기능에 대해 유용합니다.

참고

정적 IP 정보를 사용하여 네트워크와 네임 서버를 설정하셨다면, %post 섹션에서 네트워크에 접속하여 IP 주소를 분석하실 수 있습니다. 네트워크에서 DHCP를 사용하도록 설정하셨다면, 설치가 %post 섹션을 실행할 때 /etc/resolv.conf 파일이 완료되지 않았기 때문에 네트워크에 접속은 가능하지만 IP 주소를 분석할 수는 없습니다. 따라서 DHCP를 사용하신다면 반드시 %post 섹션에 IP 주소를 지정해 주셔야 합니다.

참고

설치후 스크립트는 chroot 환경에서 실행됩니다; 따라서 설치 미디어에서 스크립트나 RPM을 복사하기와 같은 작업을 수행하실 수 없습니다.
--nochroot
chroot 환경 외부에서 실행하기를 원하는 명령어를 지정할 수 있게 허용합니다.
다음 예시에서는 방금 설치된 파일 시스템에 /etc/resolv.conf 파일을 복사합니다.
%post --nochroot 
cp /etc/resolv.conf /mnt/sysimage/etc/resolv.conf
--interpreter /usr/bin/python
파이썬과 같은 다른 스크립팅 언어를 사용할 수 있도록 합니다. /usr/bin/python 을 원하는 스크립팅 언어로 변경하십시오.
--log /path/to/logfile
설치후 스크립트의 출력을 로깅합니다. 로그 파일에 대한 경로는 --nochroot 옵션을 사용했는지에 따라서 달라질 수 있음에 유의하십시오. 예를 들어 --nochroot가 없다면:
%post --log=/root/ks-post.log
--nochroot가 있다면:
%post --nochroot --log=/mnt/sysimage/root/ks-post.log

32.7.1. 예시

예 32.1. 시스템을 Red Hat Network Satellite에 등록하고, 출력을 로깅합니다:

%post --log=/root/ks-post.log
wget -O- http://proxy-or-sat.example.com/pub/bootstrap_script | /bin/bash
/usr/sbin/rhnreg_ks --activationkey=<activationkey>

예 32.2. NFS 공유에서 runme라는 스크립트를 실행합니다:

mkdir /mnt/temp 
mount -o nolock 10.10.0.2:/usr/new-machines /mnt/temp 
openvt -s -w -- /mnt/temp/runme 
umount /mnt/temp
NFS 파일 잠금 기능은 킥스타트 모드에서 지원되지 않습니다. 따라서, NFS 마운트를 장착할 때 -o nolock 명령이 필요합니다.

예 32.3. 설치 후 스크립트로 subscription-manager 실행하기

Red Hat Enterprise Linux 6에는 subscription-manager라는 명령행 도구가 있어서 Red Hat이 호스팅하는 콘텐츠 서비스에 시스템을 등록하고 조직이 사용할 수 있는 서브스크립션에 따라 서비스의 컨텐츠를 꺼냅니다. 로컬 Satellite 서비스에 시스템을 등록하는 것과 마찬가지로 subscription-manager 도구는 설치 후 스크립트로 실행할 수 있습니다. --autosubscribe 옵션은 새 시스템을 인타이틀먼트 서비스를 사용하여 등록 후 사용 가능한 최적의 서브스크립션 풀에 자동으로 등록합니다.
%post --log=/root/ks-post.log
/usr/sbin/subscription-manager register --username rhn_username --password rhn_password --autosubscribe