PXE自动化安装linux操作系统
安装vsftp,搭建ftp服务器提供镜像源
安装并配置dhcp
yum -y install dhcp
cd /usr/share/doc/dhcp-4.2.5/
cp dhcpd.conf.example /etc/dhcp/dhcpd.conf
cd /etc/dhcp/
vi dhcpd.conf
#删除其中所有内容,添加如下内容
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet 182.17.3.0 netmask 255.255.255.0{
range 182.17.3.20 182.17.3.99;
next-server 182.17.3.12;
filename "pxelinux.0";
}
安装tftp,xinetd
yum -y install tftp-server syslinux
#修改tftp
vi /etc/xinetd.d/tftp
disable = no
systemctl start xinetd #如果没有 yum -y install xinetd
配置系统启动文件
cd /var/lib/tftpboot/
cp /usr/share/syslinux/pxelinux.0 ./
cp /var/ftp/yum/isolinux/vmlinuz ./
cp /var/ftp/yum/isolinux/initrd.img ./
cp /var/ftp/yum/isolinux/vesamenu.c32 ./
cp /var/ftp/yum/isolinux/boot.msg ./
mkdir /var/lib/tftpboot/pxelinux.cfg
cp /var/ftp/yum/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
vi /var/lib/tftpboot/pxelinux.cfg/default
#找到 label linux 在它上面添加如下内容,并删除下面标签中的menu default:
label centos
menu label ^Install CentOS Linux 7 PXE
menu default
kernel vmlinuz
append initrd=initrd.img inst.stage2=ftp://182.17.3.12/yum inst.ks=ftp://182.17.3.12/ks.cfg quiet
配置system-config-kickstart
yum -y install system-config-kickstart
执行
system-config-kickstart
#没有安装桌面 yum groupinstall -y "GNOME Desktop" -y
最后一项配置在安装后配置yum源
mkdir /etc/yum.repos.d/old
cp -rf /etc/yum.repos.d/* /etc/yum.repos.d/old/
rm -f /etc/yum.repos.d/*
echo '[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
baseurl=ftp://182.17.3.100/yum
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7'>/etc/yum.repos.d/CentOS-Base.repo
并保存到root目录下
配置ks.cfg
在root目录下找到anaconda-ks.cfg,在这个文件中找到
%packages
@^minimal
@core
kexec-tools
%end
将其加到ks.cfg 配置yum的脚本之前,文件后面部分如下:
# Disk partitioning information
part /boot --fstype="xfs" --size=1024
part / --fstype="xfs" --size=20480
part /home --fstype="xfs" --grow --size=1
%packages
@^minimal
@core
kexec-tools
%end
%post --interpreter=/bin/bash
mkdir /etc/yum.repos.d/old
cp -rf /etc/yum.repos.d/* /etc/yum.repos.d/old/
rm -f /etc/yum.repos.d/*
echo '[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
baseurl=ftp://182.17.3.12/yum
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7'>/etc/yum.repos.d/CentOS-Base.repo
%end
最后将ks.cfg拷贝至/var/ftp/ 在default文件中指定的 inst.ks=ftp://182.17.3.12/ks.cfg
cp ks.cfg /var/ftp
新建虚拟机,测试自动安装操作系统