#!/bin/bash
#author:falconhero,sharkshow
#qq:40594324
mkdir /CENT55 /CENT62
mount -o loop /home/CentOS-5.5-x86_64-bin-DVD-1of2.iso /CENT55
mount -o loop /home/CentOS-6.2-x86_64-bin-DVD1.iso /CENT62
#change ifcfg-eth1
sed -i '/^BOOTPROTO/ s/.*//g' /etc/sysconfig/network-scripts/ifcfg-eth1
sed -i '/^ONBOOT/ s/no/yes/g' /etc/sysconfig/network-scripts/ifcfg-eth1
echo "IPADDR=192.168.254.2" >>/etc/sysconfig/network-scripts/ifcfg-eth1
echo "NETMASK=255.255.255.0" >>/etc/sysconfig/network-scripts/ifcfg-eth1
ifup eth1
#download
cd /root
wget http://mirrors.sohu.com/fedora-epel/5/i386/epel-release-5-4.noarch.rpm
rpm -ivh epel-release-5-4.noarch.rpm
yum -y install cobbler httpd xinetd tftp-server yum-utils rsync dhcp cman PyYAML debmirror
setenforce 0
/etc/init.d/iptables stop
#setup dhcp
cat > /etc/dhcpd.conf <<SKS
ddns-update-style interim;
allow booting;
allow bootp;
ignore client-updates;
set vendorclass = option vendor-class-identifier;
subnet 192.168.254.0 netmask 255.255.255.0 {
# option routers 192.168.254.2;
# option domain-name-servers 8.8.8.8,8.8.4.4;
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.254.100 192.168.254.254;
filename "/pxelinux.0";
default-lease-time 21600;
max-lease-time 43200;
next-server 192.168.254.2;
}
SKS
#reload
sed -i 's/#LoadModule/LoadModule/g ' /etc/httpd/conf.d/wsgi.conf
chkconfig --level 345 dhcpd on
chkconfig --level 345 httpd on
chkconfig --level 345 xinetd on
chkconfig --level 345 cobblerd on
/etc/init.d/httpd restart
/etc/init.d/dhcpd restart
/etc/init.d/xinetd restart
/etc/init.d/cobblerd restart
#change settings
setsebool -P httpd_can_network_connect=1
IP=$(ifconfig eth1|awk 'NR==2{print $2}'|cut -d: -f2)
PASS=$(openssl passwd -1 -salt '' '123456')
sed -i '/^server/ s/:.*$/: '$IP'/g' /etc/cobbler/settings
sed -i '/^next_server/ s/:.*$/: '$IP'/g' /etc/cobbler/settings
sed -i '/^default_password_crypted/ s/".*$/"'$PASS'"/g' /etc/cobbler/settings
sed -i '/disable.*$/ s/yes/no/g' /etc/xinetd.d/tftp
sed -i '/disable.*$/ s/yes/no/g' /etc/xinetd.d/rsync
sed -i 's!\(@dists\)!#\1!g;s!\(@arches\)!#\1!g' /etc/debmirror.conf
cobbler get-loaders
/etc/init.d/cobblerd restart
#cobbler import
cobbler import --path=/CENT55 --name=centos5.5 --arch=x86_64
cobbler import --path=/CENT62 --name=centos6.2 --arch=x86_64
cobbler sync
/etc/init.d/httpd restart
/etc/init.d/dhcpd restart
/etc/init.d/xinetd restart
/etc/init.d/cobblerd restart
#kickstart
cd /usr/local/src
cat>normal.ks<<FAL
#normal kickstart
#author:falconhero
#qq:40594324
install
text
url --url=$tree
lang en_US.UTF-8
keyboard us
skipx
network --device eth0 --bootproto static --onboot no --netmask 255.255.255.192 --gateway 1.1.1.1 --nameserver 8.8.8.8 --hostname normal
network --device eth1 --bootproto static --onboot no --netmask 255.255.255.0
rootpw --iscrypted 3AKrt3koAVfQA
firewall --disable
authconfig --enableshadow --enablemd5
selinux --disable
timezone Asia/Shanghai
bootloader --location=mbr
clearpart --all --initlabel
part /boot --fstype ext3 --size=100 --asprimary
part swap --size=8192
part / --fstype ext3 --size=1 --grow
reboot
%packages
@admin-tools
@base
@core
@editors
@development-libs
@development-tools
@system-tools
FAL
cat>cent6.2<<FAL
install
text
url --url=$tree
lang en_US.UTF-8
keyboard us
rootpw --iscrypted 3AKrt3koAVfQA
firewall --service=ssh
firewall --disable
authconfig --enableshadow --enablemd5
selinux --disable
timezone Asia/Shanghai
bootloader --location=mbr
clearpart --all --initlabel
part /boot --fstype=ext4 --size=500
part pv.6 --grow --size=1
volgroup vg_123 --pesize=4096 pv.6
logvol /home --fstype=ext4 --name=lv_home --vgname=vg_123 --grow --size=100
logvol / --fstype=ext4 --name=lv_root --vgname=vg_123 --grow --size=1024 --maxsize=51200
logvol swap --name=lv_swap --vgname=vg_123 --grow --size=1024 --maxsize=18112
reboot
%packages
@client-mgmt-tools
@core
@server-policy
%end
FAL
cobbler profile add --name=cent6.2 --distro=centos6.2-x86_64 --kickstart=/usr/local/src/cent6.2.ks
cobbler profile add --name=normal --distro=centos6.2-x86_64 --kickstart=/usr/local/src/normal.ks
注:此腳本不是線上腳本,做了些修改,線上腳本無kickstart,都是事先寫好,然後下載就OK了。不過大體上是通的,搭建了三臺服務器;都是一鍵搞定。kictstart的密碼請自行修改。這裏是隨便設置的:翻譯成可讀的語法就是123.。。當然線上肯定也不是這個密碼。。。