CentOS 网络全自动安装( kickstart
一、     环境
系统: CentOS 5.4 centos 系统盘中所有文件在 /install/centos
软件: dhcp dhcp / dhcp-devel / dhcpv6 / dhcpv6-client
           Nfs   (nfs-utils / portmap)
           Tftp   (tftp / tftp-server)
           Xinetd
二、     确保以上软件全部安装,所有服务都随开机启动
#vi /etc/exports
 /install/centos *(ro,sync)
#chmod –R 777 /install
三、     复制 PXE 启动时需要的文件资料
1 、复制必要的文件:
# cp /usr/lib/syslinux/pxelinux.0 /tftpboot/
# mkdir /tftpboot/pxelinux.cfg
# cp /install/centos/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
# cp /install/centos/p_w_picpaths/pxeboot/initrd.img /tftpboot/
# cp /install/centos/p_w_picpaths/pxeboot/vmlinuz /tftpboot/
# cp /install/centos/isolinux/*.msg /tftpboot/
2 修改 /tftpboot/pxelinux.cfg/default 文件
default ks
prompt 1
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
label ks
kernel vmlinuz
append ks=nfs:192.168.1.105:/install/centos/ks.cfg initrd=initrd.img devfs=nomount ramdisk_size=8192
label linux text
kernel vmlinuz
append text initrd=initrd.img devfs=nomount ramdisk_size=8192
label linux expert
kernel vmlinuz
append expert initrd=initrd.img devfs=nomount ramdisk_size=8192
label linux rescue
kernel vmlinuz
append rescue initrd=initrd.img devfs=nomount ramdisk_size=8192
文件中蓝色字体“ ks ”可以任意填写,但是最好 3 处填入相同的描写
红色部分是制定 ks 文件的路径。
四、   配置 DHCP TFTP 服务
1. 配置 tftp 服务器
#vi /etc/xined.d/tftp
service tftp
{
    disable = no  ( 默认为“ yes ”,一定要改成“ no )
    socket_type = dgram
    protocol = yes
    user = root
    server = /usr/sbin/in.tftpd
    server_args = -s /tftpboot
    per_source = 11
    cps = 100 2
    flags = IPv4
}
#service xinetd restart
2. 配置 DHCP 服务器
#cp /usr/share/doc/dhcp- 3.0.5 /dhcpd.conf.sample /etc/dhcpd.conf
cp
:是否覆盖 “/etc/dhcpd.conf”? y
#vi /etc/dhcpd.conf
ddns-update-style interim;
ignore client-updates;
filename "pxelinux.0"; //PXE
得到 IP 以后的引导文件
next-server 192.168.1.254; //
服务器 IP 地址。
subnet 192.168.1.0 netmask 255.255.255.0 { // 所属网段及掩码。
# --- default gateway
option routers 192.168.1.1; //
路由器 IP ,可以写网关 IP
option subnet-mask 255.255.255.0;
# option nis-domain "domain.org";    //
注销
# option domain-name "domain.org";   //
注销
option domain-name-servers 192.168.1.254; //DNS
服务器 IP
option time-offset -18000; # Eastern Standard Time
# option netbios-node-type 2;
range dynamic-bootp 192.168.1.100 192.168.1.200; //IP
地址池范围。
default-lease-time 21600;
......后面省略 // 写配置文件的时候注意每句后面的分号(;)不要丢了。
#service dhcpd start
#chkconfig --level 35 dhcpd on

**第一次运行dhcpd服务, /var/lib/dhcpd/dhcpd.leases里是空的,如果有了客户端,则里面会增加相应的信息
 
五、实现 RHEL5 系统的无人值守安装
以上述步骤中已完成的部分作为基础。
  1. 建立无人值守安装配置文件
    实现自动无人值守安装,需要事先建立 kickstart 配置文件,有两种方式可以建立该配置文件:
      1) 从已安装好的 RHEL5 系统中拷贝 /root/anaconda-ks.cfg 配置文件样本,在此基础上修改。
      2) 在已安装好的 RHEl5 系统图形界面中,通过“系统工具” --> kickstart ”向导建立配置文件。
后一种方式可能需要从光盘中安装两个 rpm 包: pykickstart-0.43-1.el5 system-config-kickstart- 2.6.19 .1-1.el5
我的 ks.cfg 文件内容如下
#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 --enabled  
# Run the Setup Agent on first boot
firstboot --disable
# System keyboard
keyboard us
# System language
lang en_US
# Installation logging level
logging --level=info
# Use NFS installation media
nfs --server=192.168.1.105 --dir=/install/centos
#url --url=ftp://192.168.1.1/install/rhel5/          // 如果安装源位于 FTP HTTP 服务器中,则使用 url 配置项
# Network information
network --bootproto=dhcp --device=eth0 --onboot=on
# Reboot after installation
reboot
#Root password
rootpw --iscrypted $1$axUWZnH1$lpwb5p3.ohevddND6SYr9.
# SELinux configuration
selinux --enforcing
# System timezone
timezone --isUtc Asia/Shanghai
# Install OS instead of upgrade
install
# X Window System configuration information
xconfig  --defaultdesktop=GNOME --depth=32 --resolution=800x600
# Disk partitioning information
part /boot --bytes-per-inode=4096 --fstype="ext3" --size=100
part / --bytes-per-inode=4096 --fstype="ext3" --size=7000
part swap --bytes-per-inode=4096 --fstype="swap" --size=512
%packages
@server-cfg
@gnome-desktop
@admin-tools
@chinese-support
@system-tools
@graphical-internet
@legacy-software-support
@text-internet
@news-server
@editors
3. 配置客户机并安装系统
    根据提示回车或者输入 linux text 回车选择安装方式,后续安装由系统自动完成。
注意:如果在 BIOS 中“ LAN ”设置为第一优先启动设备,则不要在 ks.cfg 中配置为 reboot (安装后自动重启),以避免循环安装系统。