环境:CentOS 5.3
软件:tftp-server Apache dhcpd system-config-kickstart
首先把软件都安装上去(在联网状态下运行下列命令,或者mount光盘用rpm安装)
yum install tftp-server -y
yum install httpd -y
yum install dhcp -y
yum install system-config-kickstart -y
yum install createrepo
把相关的软件包都安装完成
然后用setup配置本地的IP地址为10.71.1.1/24
完成后重启网络服务service network restart
接下来配置本地的CentOS YUM 源
把光盘挂载上去
然后复制光盘中所有的内容到 /var/www/html中(这里是用httpd服务做的YUM源)
mount /dev/cdrom /mnt
cd /mnt
cp -rf * /var/www/html
复制完成后用createrepo工具生成YUM通用数据库
createrepo -g /var/www/html/repodata/comps.cfg /var/www/html
进入/etc/yum.repos.d/修改YUM文件
cd /yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.bak
vi CentOS-Media.repo
里面修改内容为:
bassurl=http://10.71.1.1
enable=1
gpgcheck=0
gpgkey=http://10.71.1.1/RPM-GPG-KEY-CentOS-5
保存退出
重启httpd服务
service httpd restart
修改tftp-server并启动服务
vi /etc/xinetd.d/tftp
把disable = yes改为no
重启xinetd服务,因为tftp-server是依附在xinetd服务上的
service xinetd restart
配置pxe启动
看/下面有没有tftpboot文件夹,没有就新建一个
cp /usr/lib/syslinux/pxelinux.0 /tftpboot
cp /var/www/html/images/pxeboot/initrd.img /tftpboot
cp /var/www/html/images/pxeboot/vmlinuz /tftpboot
cp /var/www/html/isolinux/*.msg /tftpboot
mkdir /tftpboot/pxelinux.cfg新建一个pxelinux.cfg文件夹
cp /var/www/html/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default复制isolinux.cfg并改命为default
配置dhcpd服务
复制配置文件到/etc下
cp /usr/share/doc/dhcp-3.0.1/dhcp.conf.sample /etc/dhcpd.conf
vi /etc/dhcpd.conf
在subnet上面添加两行
next-server 10.71.1.1;
filename "/pxelinux.0";
subnet 10.71.1.0 netmask 255.255.255.0 {
option routers 10.71.1.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 10.71.1.1;
option time-offset -18000
range dynamic-bootp 10.71.1.128 10.71.1.254;
其他可不用修改
重启dhcpd服务
service dhcpd restart
运行kickstart并配置生成ks.cfg文件,需要gnome模式下
system-config-kickstart
根据情况设置选项 设置完成后生成ks.cfg文件保存在/var/www/html下
运行system-config-kickstart需保证你的yum能用,不然会运行不起来的
修改/tftpboot/pxelinux.cfg/default文件
vi /tftpboot/pxelinux.cfg/default
default ks
label ks
kernel vmlinuz
append initrd=initrd.img ks=http://10.71.1.1/ks.cfg
然后可以把其他的都给注释掉
到这里就完成了
找一台客户机和这台机器连在一起 用pxe模式启动,记得要在bios里面开启
如提示错误,试着把防火墙和SELINUX关闭