1.配置DHCP服务
#安装dhcpd软件包
yum install dhcpd -y
#编辑dhcpd服务配置文件,配置问
#vim /etc/dhcpd.conf
- ddns-update-style interim;
- ignore client-updates;
-
- subnet 192.168.20.0 netmask 255.255.255.0 {
-
- option routers 192.168.20.254;
- option subnet-mask 255.255.255.0;
-
- option time-offset 28800;
-
- range dynamic-bootp 192.168.20.10 192.68.20.200;
- default-lease-time 21600;
- max-lease-time 43200;
-
- next-server 192.168.20.254;
- filename "pxelinux.0";
- }
#重启dhcpd服务
/etc/init.d/dhcpd restart
#将dhcpd服务设置为开机启动
chkconfig dhcpd on
2.配置TFTP服务(TFTP使用69端口)
#安装TFTP软件包
yum install tftp tftp-server -y
#编辑tftp的配置文件,修改下面内容
#vim /etc/xinetd.d/tftp
- #设定tftp的根目录位置
- server_args = -s /tftpboot/
- #启用tftp服务
- disable = no
#启动tftp服务,因为tftp是由xinetd进程管理的,所以只要重启xinetd服务即可
/etc/init.d/xinetd restart
#chkconfig xinetd on //如果是RHEL6,或许使用此条命令时xinetd服务开机启动
#挂载RHEL安装光盘并拷贝需要的文件到tftp根目录下
mount /dev/cdrom /media
mkdir -pv /tftpboot/pxelinux.cfg
cp /media/isolinux/vmlinuz /tftpboot/
cp /media/isolinux/initrd.img /tftpboot/
#yum install syslinux //需要在系统中安装syslinux软件包,才能够在系统中找到pxelinux.0文件
#查找pxelinux.0文件的位置,因为RHEL的版本不同,pxelinux.0文件的位置也不相同
find / -name pxelinux.0
cp /XXX/XXX/pxelinux.0 /tftpboot/
cp /XXX/XXX/menu.c32 /tftpboot/ //菜单的背景文件,可不复制
#制作安装引导菜单
#cp /media/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default //可以使用光盘下的isolinux.cfg文件作为模板制作启动菜单,也可自己编写,下面是我写好的菜单,大家可以用来作为参考。
#vim /tftpboot/pxelinux.cfg/default
- #设置菜单的背景文件
- default menu.c32
- #超时时间,超时后将使用默认启动项启动系统
- timeout 600
- #安装引导菜单的标题名称
- MENU TITLE welcome to MyKsServer
-
- #定义第一个启动选项
- MENU SEPARATOR
- #选项的描述
- label linux
- #选项显示的名称
- menu label ^Install system from ksServer
- #启动安装系统时使用的内核文件已及ks.cfg文件的位置,安装过程中,安装程序将从vsftp获得ks.cfg文件。
- kernel vmlinuz
- append initrd=initrd.img ks=ftp://192.168.20.254/pub/ks.cfg
-
- MENU SEPARATOR
- label local
- menu label Boot from ^local drive
- #设置该选项为默认启动选项
- menu default
- localboot 1
3.安装并配置vsftp服务
#因为该vsftp服务只为自动安装提供文件,故而在这不做过多配置
#安转vsftpd软件包
yum install vsftpd -y
#配置vsftp,这些选项都不是必须的,vsftp的默认配置就足以满足我们的需求了
#vim /etc/vsftpd/vsftpd.conf
- #允许匿名访问
- anonymous_enable=YES
- #禁止写入
- write_enable=yes
- #修改匿名用户的更目录位置,默认匿名用户的根目录为/var/ftp/,可写目录为/var/ftp/pub
- #anon_root=/var/ftp/
#启动vsftpd服务
/etc/init.d/vsftpd restart
chkconfig vsftpd on
4.安装kickstart软件包,用来生成自应答文件ks.cfgyum install system-config-kickstart -y
#启动该软件
system-config-kickstart
#这是一个图形界面下的软件,很容易配置,下面是我生成的一个自应答文件。
- #platform=x86, AMD64, or Intel EM64T
- # System authorization information
- auth
- # System bootloader configuration
- bootloader
- # Partition clearing information
- clearpart
- # Use text mode install
- text
- # Firewall configuration
- firewall
- # Run the Setup Agent on first boot
- firstboot
- # System keyboard
- keyboard us
- # System language
- lang zh_CN
- # Installation logging level
- logging
- # key 跳过输入key的步骤,不然中间会需要输入key,无法实现全自动安装
- key
- # Use network installation 安装所需要的软件包位置
- url
- # Network information
- network
- # Reboot after installation 安装完成后是否重启计算机。如果该项为reboot,你的默认第一引导为network,
- # 安装菜单的默认项为使用ks安装系统,那么,如果你不注意,很可能会再次安装系统哦~
- reboot
- #Root password
- rootpw
-
- # SELinux configuration
- selinux
- # System timezone
- timezone Asia/Shanghai
- # Install OS instead of upgrade
- install
- # X Window System configuration information
- xconfig
- # Disk partitioning information
- part /boot
- part swap
- part /
-
- #选择需要安装的软件包
- %packages
- @base
- @gnome-desktop
- @base-x
- @graphical-internet
- @system-tools
- @chinese-support
- @editors
- @engineering-and-scientific
#将生成的ks.cfg文件拷贝到相应的位置
cp ks.cfg /var/ftp/pub/
#将RHEL的安装光盘挂载到相应的位置。当然,你也可以拷贝安装所需的软件包到这个目录下,不过,笔者没有这么大的硬盘,就不进行拷贝了~
mkdir -pv /var/ftp/pub/redhat5
umount /dev/cdrom
mount /dev/cdrom /var/ftp/pub/redhat5
好了,到这里,我们的无人值守安装服务器就配置完成了,不过,为了保证该服务器能够正常运行,还是建议大家检查下iptables和selinux的状态,如果你不知的如何去调整这两个服务的话,可以执行下面这几条命令。
iptables -F
iptables -X
setenforce 0
这几条命令都是一次生效的命令,重启计算机就会失效。现在,你可以使用客户机去测试你的无人值守服务器了,只需要在客户机上配置开机的第一引导为网卡即可。
不过,如果在网络中,还有其他的DHCP服务器存在,一般也会影响到该服务器的工作。
如果无法通过DHCP自动安装的网络中,好比所您需要安装系统的服务器和您的这台ks服务器不在同一个网段中(如需要安装系统的服务器在IDC机房),那么,您只需要从该文档的第3部开始配置ks服务器即可,客户机可以使用光盘启动,并在启动菜单编辑默认的安装菜单如下即可:
RHEL5.X/CentOS5.x
RHEL6.x/CentOS6.x中,在默认菜单上按tab键即可编辑选项内容