Red Hat Training

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

31.6. 사전 설치 스크립트

ks.cfg 가 구문 분석된 직후 시스템에서 실행되도록 명령을 추가할 수 있습니다. 이 섹션은 Kickstart 파일의 끝에 있어야 하며 (명령 뒤에) 시작되어야 하며 %pre 명령으로 시작해야 합니다. %pre 섹션에서 네트워크에 액세스할 수 있지만 이 시점에는 이름 서비스가 구성되지 않았으므로 IP 주소만 작동합니다.
참고
사전 설치 스크립트는 변경 루트 환경에서 실행되지 않습니다.
--interpreter /usr/bin/python
Python과 같은 다른 스크립팅 언어를 지정할 수 있습니다. /usr/bin/python 을 선택한 스크립팅 언어로 바꿉니다.

31.6.1. 예제

다음은 %pre 섹션의 예입니다.
%pre  
#!/bin/sh  
hds="" 
mymedia=""  
for file in /proc/ide/h* do   
	mymedia=`cat $file/media`   
	if [ $mymedia == "disk" ] ; then       
		hds="$hds `basename $file`"   
	fi 
done  
set $hds 
numhd=`echo $#`  
drive1=`echo $hds | cut -d' ' -f1` 
drive2=`echo $hds | cut -d' ' -f2`  
#Write out partition scheme based on whether there are 1 or 2 hard drives  
if [ $numhd == "2" ] ; then   
	#2 drives   
	echo "#partitioning scheme generated in %pre for 2 drives" > /tmp/part-include   
	echo "clearpart --all" >> /tmp/part-include   
	echo "part /boot --fstype ext3 --size 75 --ondisk hda" >> /tmp/part-include   
	echo "part / --fstype ext3 --size 1 --grow --ondisk hda" >> /tmp/part-include   
	echo "part swap --recommended --ondisk $drive1" >> /tmp/part-include   
	echo "part /home --fstype ext3 --size 1 --grow --ondisk hdb" >> /tmp/part-include 
else   
	#1 drive   
	echo "#partitioning scheme generated in %pre for 1 drive" > /tmp/part-include   
	echo "clearpart --all" >> /tmp/part-include   
	echo "part /boot --fstype ext3 --size 75" >> /tmp/part-include   
	echo "part swap --recommended" >> /tmp/part-include   
	echo "part / --fstype ext3 --size 2048" >> /tmp/part-include   
	echo "part /home --fstype ext3 --size 2048 --grow" >> /tmp/part-include 
fi
이 스크립트는 시스템의 하드 드라이브 수를 결정하고 한 개 또는 두 개의 드라이브가 있는지 여부에 따라 다른 파티션 스키마를 사용하여 텍스트 파일을 작성합니다. Kickstart 파일에 파티셔닝 명령 세트가 있는 대신 다음 행을 포함합니다.
%include /tmp/part-include
스크립트에서 선택한 파티션 명령이 사용됩니다.
참고
Kickstart의 사전 설치 스크립트 섹션에서는 여러 설치 트리 또는 소스 미디어를 관리할 수 없습니다. 설치 프로세스의 두 번째 단계에서 사전 설치 스크립트가 수행되므로 생성된 각 ks.cfg 파일에 이 정보가 포함되어야 합니다.