环境:CentOS 6.3 X86 minimal 安装
所需软件包:dhcp、tftp-server、syslinux、nfs、kickstart
1、 安装、配置dncp服务。
安装:yum -y install dhcp
复制配置文件并改名
cp /usr/share/doc/dhcp-…/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
配置:vim /etc/dhcp/dhcpd.conf 以下为配置文件内容
option domain-name-servers 202.106.0.20,202.106.46.151; //DNS
default-lease-time 600;
max-lease-time 7200;
ddns-update-style interim; //这个必须有
authoritative;
subnet 192.168.0.0 netmask 255.255.255.0 { //申明网段
range 192.168.0.220 192.168.0.230; //分配地址范围
option routers 192.168.0.1; //客户机网关
option subnet-mask 255.255.255.0; //子网掩码
next-server 192.168.0.210; //指定tftp服务器地址
filename "/pxelinux.0"; //指定启动文件 (相对与../tftpboot路径)
}
DHCP 配置完成。
2、 安装、配置tftp-server服务。
安装:yum -y install tftp-server (tftp被xinetd管理)
配置:vim /etc/xinetd.d/tftp
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -u nobody -s /var/lib/tftpboot //加了 -u nobody 所有人可以使用
disable = no //原为yes 改为no 为启用的意思
per_source = 11
cps = 100 2
flags = IPv4
tftp-server 配置完成。
3、 安装syslinux (为了生成pxelinux.0这个文件)
安装:yum -y install syslinux
文件在 /usr/share/syslinux/pxelinux.0
4、 配置
将pxelinux.0复制到tftp共享目录
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
挂载光盘,并复制isolinux目录下所有文件到tftp共享目录
mount /dev/cdrom /mnt
cp /mnt/isolinux/* /var/lib/tftpboot/
cd /var/lib/tftpboot/
创建pxelinux.cfg目录,并将isolinux.cfg移动到目录下改名为default
mkdir pxelinux.cfg
mv isolinux.cfg pxelinux.cfg/default
5、 配置nfs服务(默认已经安装)网上说有个portmap 这已经不用了,改为rpcbind
vim /etc/exports //默认为空文件
/mnt 192.168.0.0/24(ro,sync) //ro 只读共享,sync 在内存中共享
保存退出,导出共享目录,启动所有服务,关闭防火墙、SElinux,设置启动级别
至此,已经可以实现pxe引导安装,但还不是无人值守!
这里选择nfs directory
默认,自动获取IP地址
设置NFS服务器IP iso镜像存放位置 之后就进入安装页面!
6、 安装、配置kickstart 实现无人值守安装。
首先要有桌面环境支持,由于我系统是minimal安装的,所以没有装桌面,我们要先安装桌面(GNOME)。而桌面(GNOME)又由X-window环境支持,所有还要装X-window。
yum grouplist | grep -i “x window system” yum grouplist | grep -i desktop
虽然显示有这两个包,但是直接安装完还是不能用,要先执行yum update
安装:yum -y groupinstall “X Window System” //严格区分大小写
yum -y groupinstall “Desktop” //严格区分大小写
yum -y groupinstall “Chinese Support” //安装中文支持
OK!我们切换到图形界面执行接下来的步骤。init 5
安装:yum -y install system-config-kickstart
启动:system-config-kickstart //进入工具界面配置
点击<文件>保存到<文件系统>选择路径/nfsinstall
mkdir /nfsinstall cp ks.cfg /nfsinstall chmod 777 ks.cfg
vim /etc/exports
/nfsinstall 192.168.0.0/24(ro,srnc) //共享/nfsinstall 这个目录
编辑default文件
vim /var/lib/tftpboot/pxelinux.cfg/default
加入 ks=nfs:192.168.0.210:/nfsinstall/ks.cfg
ß---------------------------------default 文件内容-----------------------------------------à
default vesamenu.c32
#prompt 1
timeout 50 //这里改为50,为等待5秒 默认为600 即60秒
display boot.msg
menu background splash.jpg
menu title Welcome to CentOS 6.3!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000
label linux
menu label ^Install or upgrade an existing system
menu default
kernel vmlinuz
append ks=nfs:192.168.0.210:/nfsinstall/ks.cfg initrd=initrd.img //红色字体为添加后的
label vesa
menu label Install system with ^basic video driver
kernel vmlinuz
append initrd=initrd.img xdriver=vesa nomodeset
label rescue
menu label ^Rescue installed system
kernel vmlinuz
append initrd=initrd.img rescue
label local
menu label Boot from ^local drive
localboot 0xffff
label memtest86
menu label ^Memory test
kernel memtest
append -
ß--------------------------------------default---------------------------------------------à
ß----------------------------------ks.cfg 文件内容-----------------------------------------à
#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.210 --dir=/mnt
# Root password
rootpw --iscrypted $1$R0pI15Yt$hlTsbDR5TFDCIDTLtgT2w.
# System authorization information
auth --useshadow --passalgo=sha512
# Use graphical install
graphical
firstboot --disable
# System keyboard
keyboard us
# System language
lang zh_CN
# SELinux configuration
selinux --disabled
# Installation logging level
logging --level=info
# Reboot after installation
reboot
# System timezone
timezone --isUtc 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 --initlabel
# Disk partitioning information
part /boot --asprimary --fstype="ext3" --size=200
part swap --fstype="swap" --size=2048
part / --fstype="ext3" --grow --size=1
%packages
@basic-desktop
@chinese-support
@input-methods
@internet-applications
@internet-browser
@x11
%end
ß--------------------------------------ks.cfg----------------------------------------------à
OK 然后,重启所有服务 开始测试。
成功标志为:测试机只需开机(引导方式为网络引导),就可以完成安装。
真正的无人值守 ^_^