[Kickstart를 왜 사용하나?]
서버관리자는 동일한 설정을 갖는 Linux 서버들을 여러대 설치해야 할 때가 있다.같은 작업의 반복이다 보니 관리자 입장에서는 시간 낭비가 될 수도 있고, 여러 대 동일한 설정을 반복하면서 실수가 생길 위험도 있다.
이런 경우 Kickstart를 이용하여 Linux를 설치하게 되면 Kickstart 파일에 입력된 설정내용을 읽어와 자동으로 설치하게 되므로 시간도 줄이고 실수 방지도 할 수 있다.또한, 동일한 서버가 아니더라도 언제든 anaconda-ks.cfg의 설정 내용만 변경하면 다른 설정의 서버 설치가 가능하므로 설치과정이 간편해 진다.
- Kickstart 파일은 다음과 같은 내용들을 포함한다.
- Command section: 설치 옵션들과 관련된 값들
- %packages section: 설치할 패키지들을 정의
- %pre and %post sections: 설치 전과 설치 후에 필요한 script 내용
[Kickstart 파일 예문]
#vi ks.cfg
## Command section ##
lang en_US.UTF-8
keyboard us
network --onboot yes --device eth0 --bootproto static --ip 192.168.10.32 --netmask 255.255.255.0 --gateway 192.168.10.1 --noipv6 --hostname ktdsoss.example.com
timezone Asia/Seoul
rootpw --iscrypted $1$ZnvxIpZh$
reboot
#text
install
url --url http://ksrepo.example.com/
#System bootloader configuration
bootloader --location=mbr
#Partition clearing information
clearpart --all --drives=sda
part /boot --fstype ext3 --size=100 --ondisk=sda
part pv.2 --size=0 --grow --ondisk=sda
volgroup VolGroup00 --pesize=32768 pv.2
logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=256 --grow --maxsize=512
logvol /tmp --fstype ext3 --name=LogVol02 --vgname=VolGroup00 --size=512
logvol / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow
#System authorization infomation
auth --useshadow --enablemd5
network --bootproto=dhcp --device=eth0
firewall --disabled
selinux --disabled
## %packages section ##
%packages --resolvedeps
@base-x
@editors
@korean-support
vim-enhanced
lynx
## %post sections ##
%post
ADMIN_SERVER="example.xxx.co.
#!/bin/bash
echo "change service level"
for target in `ls /etc/init.d/ /etc/xinetd.d/ | \
egrep -v "/etc/init.d|/etc/xinetd.d" | \
egrep -v "rpmsave|rpmnew" | \
egrep -v 'auth|functions|halt|killall|
do
/sbin/chkconfig --level 345 $target off
done
SERVICE="crond irqbalance network ntpd sendmail sshd syslog xinetd yum"
/sbin/chkconfig --level 345 auth off
for service_target in $SERVICE
do
/sbin/chkconfig --level 345 $service_target on
done
# ssh auto login"
echo "nameserver 168.126.63.1" > /etc/resolv.conf
cd /root
mkdir .ssh
cd .ssh
wget http://$ADMIN_SERVER/example/
chmod 600 authorized_keys
#/bin/rm -f /etc/yum.repos.d/CentOS-*
#cd /etc/yum.repos.d
#wget -O /etc/yum.repos.d/example.repo http://$ADMIN_SERVER/example/
mkdir -p /var/cfengine/inputs
wget -O /var/cfengine/inputs/update.
rpm -ivh http://$ADMIN_SERVER/example/
/bin/grep "id:5" /etc/inittab && /bin/sed 's/id:5/id:3/' /etc/inittab > $$ && \
/bin/mv -f $$ /etc/inittab && \
echo "runleve 3 change!"
touch /var/log/btmp
[Kickstart 파일 이용하여 설치하기]
CD-ROM 부팅 후 부팅 화면에서 ESC누르면 boot prompt가 뜨는데, 아래와 같이 실행한다.
설치방법 및 설치파일위치에 따라 설정값이 달라진다.
boot: linux ks=nfs:
192.10.2
:/home/ktdsoss/iso/ks.cfg
Written by 김소령
'3. OS이야기 > 01. Administration' 카테고리의 다른 글
linux에서 raw device 구성하기 (0) | 2014.06.18 |
---|---|
[LINUX] OS bit 수 확인 방법 (0) | 2014.06.05 |
Linux서버에 NFS서버 구성하기 (0) | 2014.05.26 |
SAR 명령어를 이용한 서버 모니터링 방법 (2) | 2014.05.26 |
[LINUX] ulimit (0) | 2014.05.20 |