pxe+kickstart
环境:
服务端:192.168.10.10
客户端:后面创建
指定网卡并在虚拟网络编辑器中添加相应的网卡
重启网卡并关闭防火墙
[root@localhost ~]# systemctl restart network
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
具体操作:
1、安装dhcp服务并更改配置文件 重启
[root@localhost ~]# yum -y install dhcp
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
#在末尾添加
subnet 192.168.10.0 netmask 255.255.255.0 { #声明一个网段
range 192.168.10.100 192.168.10.200; #指定DHCP分配ip地址的范围
next-server 192.168.10.20; #tftp服务器的ip(也就是本机的ip)
filename "pxelinux.0"; #引导文件的第一个文件名称 (isolinux.bin)
}
[root@localhost ~]# systemctl restart dhcpd
释:
pxelinux.0 是指通过pxe来启动引导文件
isolinux.bin 指通过镜像来启动引导文件
2、安装tftp服务和引导文件并修改配置文件
[root@localhost ~]# yum -y install tftp-server xinetd
注:xinetd是TFTP的管理程序
[root@localhost ~]# vim /etc/xinetd.d/tftp
#将disable后面的yes改为no
disable = no
3、安装syslinux
[root@localhost ~]# yum -y install syslinux #里面有引导文件
3.1、把需要的引导文件放到TFTP的传输目录下
[root@localhost ~]# cd /var/lib/tftpboot/
[root@localhost tftpboot]# cp /usr/share/syslinux/pxelinux.0 ./
#引导程序
[root@localhost tftpboot]# mount /dev/sr0 /media/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost tftpboot]# cp /media/images/pxeboot/vmlinuz ./
#虚拟的内核
[root@localhost tftpboot]# cp /media/images/pxeboot/initrd.img ./
#虚拟的根文件系统
[root@localhost tftpboot]# cp /media/isolinux/vesamenu.c32 ./
#菜单
[root@localhost tftpboot]# cp /media/isolinux/splash.png ./
#背景图片
[root@localhost tftpboot]# cp /media/isolinux/boot.* ./
#提示信息
3.2、创建引导程序的配置文件的目录
[root@localhost tftpboot]# mkdir pxelinux.cfg
[root@localhost tftpboot]# cp /media/isolinux/isolinux.cfg pxelinux.cfg/default
#引导程序默认的配置文件
注:
因为要让程序自动安装,所以要选择默认的安装配置 只能创建一个目录,让其加载default的配置文件
3.3、修改引导程序的配置文件 并重启服务
[root@localhost tftpboot]# vim pxelinux.cfg/default
1 default linux #把菜单选择成默认安装linux的选项
64 append initrd=initrd.img inst.stage2=ftp://192.168.10.20/centos ks=ftp://192.168.10.20/centos/ks.cfg quiet
#指定ftp服务器的地址和kickstart配置文件的地址
[root@localhost tftpboot]# systemctl restart xinetd
[root@localhost tftpboot]# systemctl restart tftp
4、安装ftp服务
[root@localhost tftpboot]# yum -y install vsftpd
[root@localhost tftpboot]# cd /var/ftp/ #匿名用户的共享目录
[root@localhost ftp]# mkdir centos
[root@localhost ftp]# cd centos/
[root@localhost centos]# cp -r /media/* ./ #将整个镜像文件复制到共享目录下
注:
有可能会出现空间分配不足的问题 新添加一块硬盘,重启虚拟机并将添加的硬盘分成一个分区,然后挂载到 /var/ftp 就ok了
#kickstart文件
方法一:复制本身主机上面的文件
方法二:可以通过图形化界面来生成
方法一:直接复制
[root@localhost centos]# cp /root/anaconda-ks.cfg ./ks.cfg
#复制本机的kickstart文件
[root@localhost centos]# chmod +r ks.cfg
[root@localhost centos]# vim ks.cfg
5 url --url=ftp://192.168.10.20/centos #从ftp中获取完整的操作系统
24 timezone Asia/Shanghai --isUtc #时间同步
#最后一行添加:
67 reboot #重启
68 eula --agreed #自动同意协议文件
[root@localhost centos]# systemctl restart vsftpd #重启ftp服务
验证:
客户端:
新建一台虚拟机
直接开启虚拟机 出现以下窗口直接关闭即可
接下来只需要等待安装即可
方法二:通过图形化界面生成kickstart文件
1、自建一个yum源,名字必须是
[root@localhost ~]# vim /etc/yum.repos.d/development.repo
[development] #这个名字不可变
name=xiix
baseurl=file:///rzh
enabled=1
gpgcheck=0
2、安装system-config-kickstart
[root@localhost ~]# yum -y install system-config-kickstart
[root@localhost centos]# system-config-kickstart
基础配置:
安装方法:
引导程序需要pxe的引导文件
重新制定分区 也可以保留现在的分区
添加分区:
防火墙:
安装图形化界面:
保存:
3、修改ks.cfg配置文件
[root@localhost ~]# cd /var/ftp/centos/
[root@localhost centos]# ls
CentOS_BuildTag GPL ks.cfg repodata TRANS.TBL
EFI images LiveOS RPM-GPG-KEY-CentOS-7
EULA isolinux Packages RPM-GPG-KEY-CentOS-Testing-7
[root@localhost centos]# vim ks.cfg
#在末尾这两行下添加
%packages
@gnome-desktop
#以下三行是添加的内容
@11
initial-setup
initial-setup-gui #这两行是初始化操作系统
%end
user --name=test --password=123.com #创建普通用户
eula --agreed #同意协议
[root@localhost centos]# systemctl restart vsftpd
之后验证的步骤和前面一样