Red Hat Training

A Red Hat training course is available for Red Hat Satellite

6장. 직접 설정 스크립트 작성하기

이 장에서는 RHN Bootstrap을 사용하지 않고 부트스트랩 스크립트를 생성하는 방법에 대하여 설명하고 있습니다. 이 지시 사항을 따르시면 직접 처음부터 부트스트랩 스크립트를 작성하실 수 있을 것입니다.
스크립팅시 기본적으로 필요한 파일을 중앙 위치에 놓고, 각 클라이언트에서 간단하고 스크립트 가능한 명령어를 사용하여 이 파일들을 가져오고 설치한다는 공통점이 있습니다. 이 장에서는 이러한 기술을 하나의 스크립트로 작성하여 조직 내 어떠한 시스템에서도 사용 가능하도록 하는 방법에 대하여 설명해보겠습니다.
앞 장에서 설명된 모든 명령어를 가장 효율적인 순서로 묶어서 다음과 같은 스크립트를 작성하였습니다. rhn_register는 Red Hat Enterprise Linux 3 또는 4에서는 존재하지 않는다는 사실을 염두해 두십시오:
# First, install the latest client RPMs to the system.
rpm -Uvh \
	http://proxy-or-sat.example.com.com/pub/rhn_register-2.8.27-1.7.3.i386.rpm \
	http://proxy-or-sat.example.com.com/pub/rhn_register-gnome-2.8.27-1.7.3.i386.rpm \
	http://proxy-or-sat.example.com.com/pub/up2date-3.0.7-1.i386.rpm \
	http://proxy-or-sat.example.com.com/pub/up2date-gnome-3.0.7-1.i386.rpm

# Second, reconfigure the clients to talk to the correct server.

perl -p -i -e 's/s/www\.rhns\.redhat\.com/proxy-or-sat\.example\.com/g' \
	/etc/sysconfig/rhn/rhn_register \
	/etc/sysconfig/rhn/up2date


# Third, install the SSL client certificate for your company's 
# RHN Satellite Server or RHN Proxy Server.
rpm -Uvh http://proxy-or-sat.example.com/pub/rhn-org-trusted-ssl-cert-*.noarch.rpm

# Fourth, reconfigure the clients to use the new SSL certificate.
perl -p -i -e 's/^sslCA/#sslCA/g;' \
	/etc/sysconfig/rhn/up2date /etc/sysconfig/rhn/rhn_register
echo "sslCACert=/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT" \
	>> /etc/sysconfig/rhn/up2date
echo "sslCACert=/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT" \
	>> /etc/sysconfig/rhn/rhn_register


# Fifth, download the GPG key needed to validate custom packages.
wget -O - -q http://proxy-or-sat.example.com.com/pub/YOUR-RPM-GPG-KEY


# Sixth, import that GPG key to your GPG keyring.
rpm --import /path/to/YOUR-RPM-GPG-KEY
6번째 단계는 Red Hat Linux 3 또는 이후 버전을 실행중인 시스템에서 사용하셔야 합니다.
이 스크립트는 Red Hat Network 클라이언트를 RHN Proxy Server 또는 RHN Satellite Server에 등록하는데 필요한 절차로 구성되어 있습니다. RHN 서버의 URL과 공개 디렉토리 및 GPG 키와 같은 중요한 값을 스크립트 내에 필요한 위치에 추가하시는 것을 잊지 마시기 바랍니다. 또한 상황에 따라서 스크립트를 추가 수정하셔야할 경우도 있습니다. 이 스크립트는 참조 자료로만 사용하시기 바랍니다.
이 스크립트도 중앙 서버에 저장하여 사용하실 수 있습니다. 이 스크립트를 서버의 /pub/ 디렉토리에 저장하신 후 wget -O- 명령을 실행하여 그 출력 결과를 쉘로 파이프하면, 각 클라이언트에서 명령어 하나로 전체 부트스트랩 과정을 실행할 수 있습니다.
wget -O - http://proxy-or-sat.example.com.com/pub/bootstrap_script | bash

주의

웹 상에서 파이프된 결과를 쉘스크립트의 입력으로 바로 사용할 경우에는 어느 정도 보안 위험이 따르게 됩니다. 따라서 이러한 경우 소스 서버의 보안을 철저히 확인하는 것이 중요합니다.
이제 네트워크 상 모든 시스템에서 이 한줄짜리 명령어를 입력하실 수 있습니다. 관리자가 모든 시스템에 SSH 접근 가능하다면, 이 시스템 목록을 작성하여 원격적으로 명령을 실행하는 것도 좋은 방법입니다. 또한 기존 킥스타트 스크립트의 %post 부분에 이 스크립트를 추가하는 것도 적극 권장합니다.