myfinderの技術や周辺的活動のblog

2010年5月5日水曜日

最近VMをセットアップするときに使っているKickstartファイル

Linuxインストールの時にはkickstartを使うというのはよくやる手ですが、自分はVMでいっぱいノードを作るので、インストール時点でこのくらいまで設定済ませるようにしていますよという例をば。


# myfinder's Kickstart file.

install
url --url http://{インストール対象のOSが置いてあるWebサーバのURL}
lang ja_JP.UTF-8
keyboard jp106
network --device eth0 --bootproto static --ip {LOCAL IP} --netmask {NETMASK} --gateway {GATEWAY IP} --nameserver {LOCAL NAME SERVER} --hostname {HOSTNAME}
network --device eth1 --bootproto static --ip {GLOBAL IP} --netmask {NETMASK} --gateway {GATEWAY IP} --nameserver {LOCAL NAME SERVER} --hostname {HOSTNAME}
rootpw --iscrypted {ENCRYPTED PASSWORD}
firewall --enabled --port=22:tcp
authconfig --enableshadow --enablemd5
selinux --enforcing
timezone Asia/Tokyo
bootloader --location=mbr
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work
clearpart --all
part /boot --fstype ext3 --size=100
part pv.2 --size=0 --grow
volgroup VolGroup00 --pesize=32768 pv.2
logvol / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow
logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=512 --grow --maxsize=1024
reboot

%packages
@base
@core
@development-libs
@development-tools
@editors
keyutils
trousers
fipscheck
device-mapper-multipath
imake
ntp

%post
# ntp setting
echo 'server {NTP SERVER}' >> /etc/ntp.conf
chkconfig ntpd on
/etc/init.d/ntpd start

# ldap
authconfig --enableldap --enableldapauth --ldapserver={LDAP SERVER} --ldapbasedn=dc=example,dc=com --update
echo 'session required pam_mkhomedir.so skel=/etc/skel umask=0022' >> /etc/pam.d/system-auth
echo 'sudoers_base ou=SUDOers,dc=example,dc=com' >> /etc/ldap.conf

# ssh
yum remove -y openssh openssh-server openssh-clients
rpm -ivh http://{LOCAL YUM SERVER}/rpms/i386/openssh-4.3p2-26.lpk.i686.rpm
rpm -ivh http://{LOCAL YUM SERVER}/rpms/i386/openssh-clients-4.3p2-26.lpk.i686.rpm
rpm -ivh http://{LOCAL YUM SERVER}/rpms/i386/openssh-server-4.3p2-26.lpk.i686.rpm
echo 'UseLPK yes' >> /etc/ssh/sshd_config
echo 'LpkLdapConf /etc/ldap.conf' >> /etc/ssh/sshd_config
echo 'LpkServers ldap://{LDAP SERVER}' >> /etc/ssh/sshd_config
echo 'LpkUserDN ou=People,dc=example,dc=com' >> /etc/ssh/sshd_config
echo 'LpkGroupDN ou=Group,dc=example,dc=com' >> /etc/ssh/sshd_config
echo 'LpkForceTLS no' >> /etc/ssh/sshd_config
sed -i.bak "s/PasswordAuthentication yes/PasswordAuthentication no/" /etc/ssh/sshd_config
/etc/init.d/sshd restart

# local yum repo
cd /etc/yum.repos.d
wget http://{LOCAL YUM SERVER}/yum/myfinder.repo

# system service
chkconfig ntpd on
chkconfig bluetooth off
chkconfig cups off
chkconfig firstboot off
chkconfig gpm off
chkconfig haldaemon off
chkconfig hidd off
chkconfig ip6tables off
chkconfig kudzu off
chkconfig pcscd off
chkconfig xfs off
chkconfig yum-updatesd off

# iptables
sed -i.bak "s/-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT/-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -i eth0 --dport 22 -j ACCEPT/" /etc/sysconfig/iptables
/etc/init.d/iptables restart

# report mail
echo "Server setup completed" | mail -s 'server seetup report' medianetworks@gmail.com


肝心なのは「%post」セクションで、ここにインストール後に実施したいスクリプトを書いておく事ができる。
sedとかも使えるので便利。

0 件のコメント: