服务器搭建环境:
server1:eth0:192.168.10.10/24 RHEL 5.8
一、安装必要的软件包
mount /dev/hdc /mnt/iso/
yum -y install vsftpd tftp tftp-server syslinux dhcp
二、配置DHCP服务器,注意1
echo 'ddns-update-style interim;
ignore client-updates;
allow booting;
allow bootp;
subnet 192.168.10.0 netmask 255.255.255.0 {
option routers 192.168.10.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 8.8.8.8;
option time-offset -18000; # Eastern Standard Time
range dynamic-bootp 192.168.10.128 192.168.10.254;
default-lease-time 21600;
max-lease-time 43200;
next-server 192.168.10.10;
filename "/pxelinux.0";
}' > /etc/dhcpd.conf
service dhcpd start
注2
三、配置tftp服务器
sed -i '/disable/s/=.*/= no/' /etc/xinetd.d/tftp
service xinetd start
service vsftpd start
四、复制和编辑pxe启动的文件(位于tftp服务器目录下)
cp /usr/lib/syslinux/pxelinux.0 /tftpboot/
echo '--To boot from local, type local
--To install RHEL 5.8, type rhel5
' > /tftpboot/boot.msg
cp /mnt/iso/images/pxeboot/initrd.img /tftpboot/initrd_rhel5_x86.img
cp /mnt/iso/images/pxeboot/vmlinuz /tftpboot/vmlinuz_rhel5_x86
mkdir /tftpboot/pxelinux.cfg
echo 'default local
display boot.msg
prompt 1
timeout 30
label local
localhost 0
label rhel5
kernel vmlinuz_rhel5_x86
append initrd=initrd_rhel5_x86.img devfs=nomount ramdisk=9216 text ks=ftp://192.168.10.10/pxe/rhel5.8/ks.cfg ksdecive=eth0' > /tftpboot/pxelinux.cfg/default
五、复制和编辑pxe的安装源(位于vsftp服务器目录下)
mkdir -p /var/ftp/pxe/rhel5.8
cp -rf /mnt/iso/* /var/ftp/pxe/rhel5.8/
echo '# Kickstart file automatically generated by anaconda.
install
url --url ftp://anonymous:@192.168.10.10/pxe/rhel5.8
key --skip
lang zh_CN.UTF-8
keyboard us
text
network --device eth0 --onboot yes --bootproto dhcp --hostname client.vicp.net
rootpw --iscrypted $1$sGFG3X5A$HoZCgkUnGIqleVD1wan.e1
firewall --disabled
authconfig --enableshadow --enablemd5
selinux --disabled
timezone --utc Asia/Shanghai
bootloader --location=mbr --driveorder=sda
# 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 --linux
part /boot --fstype ext3 --size=100
#part swap --size=512
part / --fstype ext3 --size=6005
reboot
%packages
@british-support
@chinese-support
@core
sgpio' > /var/ftp/pxe/rhel5.8/ks.cfg
注3
全篇完
在同一网段中启动一台新主机,只要输入rhel5就可以自动完成系统的安装了。如果硬盘没有初始化,系统会提示,只要按个回车即可。
root的初始密码为123456
注1:
本例是在虚拟机上测试的,在生产环境中我也是调试完机器再接入网络的。
如果是在生产环境中会遇到Windows和Linux并存的环境,Windows域必定会存在自己的DHCP服务器,有可能会和Linux的DHCP产生冲突(到底会不会有影响,有什么影响,笔者也没试过,也不敢试),因此笔者建议将PXE服务器放在调试环境中,以免影响生产环境的网络。
注2:
DHCP服务器配置文件中下面几条是关键:
allow booting;
allow bootp;
next-server 192.168.10.10; #指定tftp服务器
filename "/pxelinux.0"; #指定启动文件名,虽然是以/开头,但实际上是相对路径,表示“/tftpboot/pxelinux.0”
注3:
/var/ftp/pxe/rhel5.8/ks.cfg文件的内容怎么来的?如何编辑?
这文件是手工安装系统后在root目录下的anaconda-ks.cfg文件拷贝过来进行简单的修改得来的。
要修改哪些内容,读者可以和我的例子对比一下就明白了。文件里包含了root的初始密码(我的初始密码是123456),记得安装完以后要改密码呀!
原文地址:http://blog.51cto.com/lwm666/2068842