#!/bin/sh
#data 2011-7-23
#This is by Liuyang
#NETWORK
echo "--------------------- network --------------------------"
ifconfig eth0 | grep 'inet'
for eth0 in /etc/sysconfig/network-scripts/ifcfg-eth0
do
sed -i 's/IPADDR=.*/IPADDR=172.16.12.12/' $eth0
sed -i 's/NETMASK=.*/NETMASK=255.255.255.0/' $eth0
sed -i 's/GATEWAY=.*/GATEWAY=172.16.12.1/' $eth0
cat -n $eth0 | awk -F '=' '{ print $2 }' | tail -n 3
done
/etc/init.d/network restart
/etc/init.d/iptables stop
setenforce 0
echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ +
+ +
+ Version 1.0 +
+ LiuYang +
+ +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
#YUM INSTALLING
mount /dev/cdrom /media
for myyum in /etc/yum.repos.d/mylocal.repo
do
cat -n $myyum
sed -i '3c baseurl=file:///media/Server/' $myyum
sed -i 's/enable=.*/enable=1/g' $myyum
done
yum clean all
yum search dhcp tftp-server nfs-ntils portmap
yum list
#dhcp installing
echo "Now let us work together to install DHCP"
#
rpm -qa | grep dhcp
if [ $? = 1 ]
then
yum list install dhcpd
yum -y install dhcp
if [ -f /etc/dhcpd.conf ]
then
:
else
cp -f /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf
fi
else
echo "DHCP is exist!!!"
cp -f /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf
fi
#
#
#
for dhcpd in /etc/dhcpd.conf
do
egrep -v '^#|^$' $dhcpd >> /etc/dhcpd.conf.default
rm -rf /etc/dhcpd.conf
mv /etc/dhcpd.conf.default /etc/dhcpd.conf
sed -i '2a allow bootp;' $dhcpd
sed -i '3a allow booting;' $dhcpd
sed -i '5c subnet 172.16.12.0 netmask 255.255.255.0 {' $dhcpd
sed -i 's/option routers.*/option routers 172.16.12.1;/' $dhcpd
sed -i 's/option subnet-mask.*/option subnet-mask 255.255.255.0;/' $dhcpd
sed -i 's/option domain-name.*/option domain-name "kickstart.com";/' $dhcpd
sed -i '12c range dynamic-bootp 172.16.12.100 172.16.12.180;' $dhcpd
sed -i '14a next-server 172.16.12.12;' $dhcpd
sed -i '15a filename "pxelinux.0";' $dhcpd
sed -i 's/host ns/host linuxclient/' $dhcpd
sed -i 's/hardware ethernet .*/hardware ethernet 00:0c:29:99:39:5f;/' $dhcpd
sed -i 's/fixed-address .*/fixed-address 172.16.12.50;/' $dhcpd
sed -i 's/^[\t]*//' $dhcpd
done
/etc/init.d/dhcpd restart
chkconfig --level 35 dhcpd on
#TFTPSERVER INSTALLING
rpm -qa | grep tftp-server
if [ $? = 1 ]
then
yum -y install tftp-server
sed -i 's/disable.*/disabled \= no/g' /etc/xinetd.d/tftp
sed -i 's/server_args.*/server_args \= -s \/tftpboot/g' /etc/xinetd.d/tftp
/etc/init.d/xinetd restart
chkconfig --level 35 xinetd on
else
/etc/init.d/xinetd restart
exit 1
fi
#
#pxelinux.0
cp /usr/lib/syslinux/pxelinux.0 /tftpboot
strings /tftpboot/pxelinux.o >/dev/null
mkdir -p /tftpboot/pxelinux.cfg
cp /media/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
for default in /tftpboot/pxelinux.cfg/default
do
sed -i 's/timeout.*/timeout 5/g' $default
sed -i 's/default linux/default text/g' $default
sed -i '15c append ks=nfs:172.16.12.12:/var/install/ks.cfg initrd=initrd.img text' $default
done
cp -rf /media/isolinux/vmlinuz /tftpboot
cp -rf /media/isolinux/initrd.img /tftpboot
cp -rf /media/isolinux/*.msg /tftpboot
chmod -R a+rx /tftpboot
mkdir -p /var/install
cp -v -r /media/* /var/install
chmod -R a+rx /var/install
#nfs-server
yum -y install nfs-utils portmap
if [ -s /etc/exports ]
then
echo "/var/install *(rw,sync)" >>/etc/exports
echo "/tftpboot *(rw,sync)" >>/etc/exports
else
:
fi
#
/etc/init.d/nfs restart
/etc/init.d/portmap restart
showmount -e 127.0.0.1
cat <<EOF > /var/install/ks.cfg
#platform=x86, AMD64, ?.Intel EM64T
# System authorization information
auth --useshadow --enablemd5
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Use text mode install
text
# Firewall configuration
firewall --disabled
# Run the Setup Agent on first boot
firstboot --disable
# System keyboard
keyboard us
# System language
lang en_US
# Installation logging level
logging --level=info
# Use NFS installation media
nfs --server=172.16.12.12 --dir=/var/install
#Root password
rootpw --iscrypted $1$0nRAvzM2$drZcBj2NkUVAoG/Wy5/Ys1
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx
# System timezone
timezone America/New_York
# Install OS instead of upgrade
install
key --skip
# Disk partitioning information
part / --asprimary --bytes-per-inode=4096 --fstype="ext3" --ondisk=sda --size=10240
part swap --asprimary --bytes-per-inode=4096 --fstype="swap" --ondisk=sda --size=2048
part /usr --asprimary --bytes-per-inode=4096 --fstype="ext3" --grow --ondisk=sda --size=1
%pre
mkfs.ext3 -F /dev/sda
%packages
@admin-tools
@base
@chinese-support
@core
@dialup
@editors
@gnome-desktop
@games
@graphical-internet
@graphics
@java
@legacy-software-support
@office
@printing
@sound-and-video
@text-internet
@base-x
kexec-tools
fipscheck
device-mapper-multipath
sgpio
emacs
libsane-hpaio
xorg-x11-utils
xorg-x11-server-Xnest
EOF
chmod +x /var/install/ks.cfg
ps -eaf | grep dhcpd
ps -eaf | grep tftp-server
ps -eaf | grep nfs
ps -eaf | grep portmap
ps -eaf | grep xinetd
转载于:https://blog.51cto.com/uselinux/813339