引到程序:pxelinux.0
包括vmlinuz,initrd
服务器DHCP 发送IP/netmask/gw/dns, pxelinux.0,tftp-server-ip给client
client去服务器里找到tftp服务,pxe.config
服务器存放光盘的安装文件,client通过ftp/http得到服务器里的文件并安装
设置静态IP
BOOTPROTO=static
IPADDR=192.168.101.10
ONBOOT=yes
#yum install dhcp
#yum install xinetd
#yum install tftp-server
#yum install [pxelinux]
#yum install vsftpd
#yum install system-config-kickstart
#rpm -ql dhcp | grep example
#cat /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example > /etc/dhcp/dhcpd.conf
#vim /etc/dhcp/dhcpd.conf 服务器配置dhcp
#setenforce 0 关闭防火墙
#!!关键一步!!firewall-cmd --set-default-zone=trusted
#vim /etc/xinetd.d/tftp 修改yes-》no
#systemctl start xineted
#systemctl enable xineted
#cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot /var/lib/tftpboot 是tftp的根目录
#cp isolinux/initrd.img & vmlinuz /var/lib/tftpboot
#mkdir /var/lib/tftpboot/pxelinux.cfg
#cp isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
编辑default,改成以下几行
default vesamenu.c32
timeout 150
prompt 0
nosecape 1
LABEL local
MENU LABEL Boot from local driver
men DEFAULT
localboot 0
找到label,更改label配置
修改default第一行 默认启动程序改成label name
编辑default的label的inst,
kernel 7.4/vmlinuz
inst.ks=ftp://192.168.xx.xx(本机IP):/ks.cfg 构建自动安装模式
或者inst.repo=nfs:192.168.xx.xx(本机IP):/mnt
编辑/etc/exports ,开启nfs服务
加入 /mnt *(ro)
重启xinetd服务
自动安装的话,需要配置应答文件
system-config-kickstart &
选择语言,时区
使用nfs安装,配置ip和目录 例如:本机ip和/mnt
创建分区,清除主引导分区
useradd test
echo test | passwd --stdin test
保存到/var/ftp,名字叫ks.cfg
到/下面anxxx.ks.cfg 里面复制 %package~%end 到ks.cfg里面
KS.cfg关键字
关键字 含义
install 告知安装程序,这是一次全新安装,而不是升级upgrade。
url --url=" " 通过FTP或HTTP从远程服务器上的安装树中安装。
url --url="http://10.0.0.7/CentOS-6.8/"
url --url ftp://<username>:<password>@<server>/<dir>
nfs 从指定的NFS服务器安装。
nfs --server=nfsserver.example.com --dir=/tmp/install-tree
text 使用文本模式安装。
lang 设置在安装过程中使用的语言以及系统的缺省语言。lang en_US.UTF-8
keyboard 设置系统键盘类型。keyboard us
zerombr 清除mbr引导信息。
bootloader 系统引导相关配置。
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
--location=,指定引导记录被写入的位置.有效的值如下:mbr(缺省),partition(在包含内核的分区的第一个扇区安装引导装载程序)或none(不安装引导装载程序)。
--driveorder,指定在BIOS引导顺序中居首的驱动器。
--append=,指定内核参数.要指定多个参数,使用空格分隔它们。
network 为通过网络的kickstart安装以及所安装的系统配置联网信息。
network --bootproto=dhcp --device=eth0 --onboot=yes --noipv6 --hostname=CentOS6
--bootproto=[dhcp/bootp/static]中的一种,缺省值是dhcp。bootp和dhcp被认为是相同的。
static方法要求在kickstart文件里输入所有的网络信息。
network --bootproto=static --ip=10.0.0.100 --netmask=255.255.255.0 --gateway=10.0.0.2 --nameserver=10.0.0.2
请注意所有配置信息都必须在一行上指定,不能使用反斜线来换行。
--ip=,要安装的机器的IP地址.
--gateway=,IP地址格式的默认网关.
--netmask=,安装的系统的子网掩码.
--hostname=,安装的系统的主机名.
--onboot=,是否在引导时启用该设备.
--noipv6=,禁用此设备的IPv6.
--nameserver=,配置dns解析.
timezone 设置系统时区。timezone --utc Asia/Shanghai
authconfig 系统认证信息。authconfig --enableshadow --passalgo=sha512
设置密码加密方式为sha512 启用shadow文件。
rootpw root密码
clearpart 清空分区。clearpart --all --initlabel
--all 从系统中清除所有分区,--initlable 初始化磁盘标签
part 磁盘分区。
part /boot --fstype=ext4 --asprimary --size=200
part swap --size=1024
part / --fstype=ext4 --grow --asprimary --size=200
--fstype=,为分区设置文件系统类型.有效的类型为ext2,ext3,swap和vfat。
--asprimary,强迫把分区分配为主分区,否则提示分区失败。
--size=,以MB为单位的分区最小值.在此处指定一个整数值,如500.不要在数字后面加MB。
--grow,告诉分区使用所有可用空间(若有),或使用设置的最大值。
firstboot 负责协助配置redhat一些重要的信息。
firstboot --disable
selinux 关闭selinux。selinux --disabled
firewall 关闭防火墙。firewall --disabled
logging 设置日志级别。logging --level=info
reboot 设定安装完成后重启,此选项必须存在,不然kickstart显示一条消息,并等待用户按任意键后才重新引导,也可以选择halt关机