#!/bin/bash
read -p "请输入你ISO镜像位置:" file
read -p "请输入你PXELINUX位置:" pxe
read -p "请输入你想安装服务器版本{server5.9|server6.4|servercentos6.4}:" vers
echo ${file:?"this not exis"}
echo ${vers:?"this not exis"}
echo ${pxe:?"this not exis"}
date=`date +"%Y-%m_%H:%M"`
NOWIP=`ifconfig | grep 192.168.0.254 | awk '{print $2}' | awk -F ":" '{print $2}'`
IP=192.168.0.254
nowserver=`cat /etc/redhat-release | awk -F " " '{print $7}'`
vers1=`find $file -name *5.9*`
vers2=`find $file -name *6.4*`
pxelinux=`find $pxe -name pxelinux.0`
if [ "$NOWIP" == "$IP" ];then
echo IP....OK
else
echo "请把你的IP设置为:192.168.0.254"
exit 1
fi
case $vers in
server5.9)
echo 2;;
server6.4)
echo 1;;
servercentos6.4)
echo 3;;
*)
echo $"Usage: $0 {server5.9|server6.4|servercentos6.4}"
esac
###################DHCP##################################
if [ "$nowserver" == "5.9" ];then
yum -y install dhcp &> /dev/null
\cp -rf /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf &> /dev/null
sed -i -e '2 anext-server 192.168.0.254;' -e '3 afilename pxelinux.0;' /etc/dhcpd.conf &> /dev/null
sed -i 's/pxelinux.0/"pxelinux.0"/' /etc/dhcpd.conf &> /dev/null
sed -i 's/192.168.1.1/192.168.0.254/' /etc/dhcpd.conf
sed -i '/option router/s/192.168.0.1/192.168.0.254/' /etc/dhcpd.conf
/etc/init.d/dhcpd restart &> /dev/null
fi
####################HTTP##################################
rpm -qa | grep -i httpd &> /dev/null
if [ $? -ne 0 ];then
yum -y install httpd &> /dev/null
else
echo
fi
echo "#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
key --skip
keyboard us
# System language
lang zh_CN
# Installation logging level
logging --level=info
# Use NFS installation media
nfs --server=192.168.0.254 --dir="$file"
# Network information
network --bootproto=dhcp --device=eth0 --onboot=on
# Reboot after installation
reboot
#Root password
rootpw --iscrypted $1$8WHLg8mV$L3Reze9dE9jFFADsp8Yfl0
# SELinux configuration
selinux --disabled
# System timezone
timezone America/New_York
# Install OS instead of upgrade
install
# X Window System configuration information
xconfig --defaultdesktop=GNOME --depth=8 --resolution=640x480 --startxonboot
# Disk partitioning information
part swap --bytes-per-inode=4096 --fstype="swap" --size=1000
part /boot --bytes-per-inode=4096 --fstype="ext3" --size=200
part / --bytes-per-inode=4096 --fstype="ext3" --size=9000
%packages
@chinese-support
@base
@gnome-desktop
@base-x
@text-internet
@graphics
@graphical-internet
@editors " > /var/www/html/rh5_ks.cfg
/etc/init.d/httpd restart &> /dev/null
#############################
echo "#platform=x86, AMD64, 或 Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use NFS installation media
nfs --server=192.168.0.254 --dir=/iso
# Root password
rootpw --iscrypted $1$1l4DFP35$D7aZMQv7nK4nbmqsSXc6E1
# System authorization information
auth --useshadow --passalgo=sha512
# Use text mode install
text
firstboot --disable
# System keyboard
keyboard us
# System language
key --skip
lang en_US
# SELinux configuration
selinux --disabled
# Installation logging level
logging --level=info
# Reboot after installation
reboot
# System timezone
timezone Africa/Abidjan
# Network information
network --bootproto=dhcp --device=eth0 --onboot=on
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all
# Disk partitioning information
part /boot --fstype="ext4" --size=150
part swap --fstype="swap" --size=1000
part / --fstype="ext4" --size=10000
%packages
@base
@basic-desktop
@chinese-support
@console-internet
@desktop-platform
@fonts
@general-desktop
@graphical-admin-tools
@graphics
@internet-browser
@kde-desktop
@remote-desktop-clients
@server-platform
@system-admin-tools
@x11
%end " > /var/www/html/rh6_ks.cfg
#####################################################
#######################NFS###########################
rpm -qa | grep -i nfs-utils &> /dev/null
if [ $? -ne 0 ];then
yum -y install utils &> /dev/null
else
echo
fi
rpm -qa | grep -i portmap &> /dev/null
if [ $? -ne 0 ];then
yum -y install portmap &> /dev/null
else
echo
fi
rm -rf /etc/exports &> /dev/null
echo "$file/ 192.168.0.0/24(ro)" > /etc/exports
/etc/init.d/portmap restart &> /dev/null
/etc/init.d/nfs restart &> /dev/null
#####################################################
#####################TFTP###############################
rpm -qa | grep -i tftp &> /dev/null
if [ $? -ne 0 ];then
yum -y install tftp &> /dev/null
fi
rpm -qa | grep -i xinetd &> /dev/null
if [ $? -ne 0 ];then
yum -y install xinetd &> /dev/null
fi
[ -e /tftpboot ]
if [ $? -ne 0 ];then
mkdir /tftpboot
fi
[ -e /wgl ]
if [ $? -ne 0 ];then
mkdir /wgl
fi
[ -e /tftpboot/pxelinux.cfg ]
if [ $? -ne 0 ];then
mkdir /tftpboot/pxelinux.cfg
fi
sed -i '/disable/s/yes/no/' /etc/xinetd.d/tftp
if [ "$vers" == "server5.9" ];then
mount -o loop $vers1 /wgl &> /dev/null
sed -i 's/initrd/ks=http:\/\/192.168.0.254\/rh5_ks.cfg initrd/' /tftpboot/pxelinux.cfg/default &> /dev/null
fi
if [ "$vers" == "server6.4" ];then
mount -o loop $vers2 /wgl &> /dev/null
sed -i 's/initrd/ks=http:\/\/192.168.0.254\/rh6_ks.cfg initrd/' /tftpboot/pxelinux.cfg/default &> /dev/null
fi
\cp -rf /wgl/isolinux/* /tftpboot
\cp -rf /tftpboot/isolinux.cfg /tftpboot/pxelinux.cfg/default
\cp -rf $pxelinux /tftpboot
service xinetd restart &> /dev/null
#########################################################
netstat -anput | grep :80 &> /dev/null
if [ $? -eq 0 ];then
echo "HTTP.........OK"
else
echo "HTTP.........NO"
fi
netstat -anput | grep dhcpd &> /dev/null
if [ $? -eq 0 ];then
echo "dhcp.........OK"
else
echo "dhcp.........NO"
fi
netstat -anput | grep 69 &> /dev/null
if [ $? -eq 0 ];then
echo "TFTP.........OK"
else
echo "TFTP.........NO"
fi
echo "初始用户root,密码123456"
本文出自 “linux网络服务搭建” 博客,谢绝转载!