本机:centos 7.7 ip : 192.168.1.140
yum -y install vsftpd
systemctl restart vsftpd
systemctl enable vsftpd
/data/iso/CentOS-7-x86_64-Everything-1908.iso /var/ftp/centos iso9660 loop,ro 0 0
mount -a
测试
ftp://192.168.1.140/centos/
前置repo 必须是 development 否则报错,找不到安装包
[root@pxe-140 ~]# cat /etc/yum.repos.d/dvd.repo
[development]
name=dvd
baseurl=ftp://192.168.1.140/centos7/
enabled=1
gpgcheck=0
1.安装dhcp
yum -y install dhcp
2.配置文件
模板文件 : /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example
[root@pxe-140 dhcp]# cat dhcpd.conf
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.200 192.168.1.240;
option domain-name-servers 192.168.1.39;
option routers 192.168.1.1;
default-lease-time 600;
max-lease-time 7200;
next-server 192.168.1.140;
filename "pxelinux.0";
}
systemctl restart dhcpd
systemctl enable dhcpd
ss -nutlp | grep 67
3.tftp 简单的文件传输协议
yum -y install tftp-server
systemctl restart tftp
systemctl enable tftp
ss -nutlp | grep 69
4,部署 pxelinux.0
yum -y install syslinux
[root@pxe-140 ~]# rpm -ql syslinux | grep pxelinux.0
/usr/share/syslinux/gpxelinux.0
/usr/share/syslinux/pxelinux.0
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
mkdir /var/lib/tftpboot/pxelinux.cfg
cp /var/ftp/centos/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
cp /var/ftp/centos/isolinux/vesamenu.c32 /var/lib/tftpboot/
cp /var/ftp/centos/isolinux/initrd.img /var/lib/tftpboot/
cp /var/ftp/centos/isolinux/vmlinuz /var/lib/tftpboot/
[root@pxe-140 ~]# ls /var/lib/tftpboot/
initrd.img pxelinux.0 pxelinux.cfg vesamenu.c32 vmlinuz
vim /var/lib/tftpboot/pxelinux.cfg/default
2行:timeout 60 注释: 6s
11 行随意命名:menu title xiangzilong-centOS 7
64行开始 2段修改 位置随意, menu default 一定要放在 label linux
label check
menu label Test this ^media & install CentOS 7
kernel vmlinuz
append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 rd.live.check quiet
label linux
menu label ^Install CentOS 7
menu default
kernel vmlinuz
append initrd=initrd.img ks=ftp://192.168.1.140/ks.cfg
无人值守安装,生成签名文件
yum install -y system-config-kickstart
启动:
system-config-kickstart
图形化配置
基础配置:默认语言:中文简体
时区:Asia/shanghai
密码:root
安装重启勾选
添加:swap 和 /
大小选项:使用磁盘上全部未使用的空间
cat > /etc/sysconfig/network-scripts/ifcfg-ens192 <<EOF
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens192
DEVICE=ens192
ONBOOT=yes
IPADDR=192.168.1.2
PREFIX=24
GATEWAY=192.168.1.1
DNS1=192.168.1.39
EOF
cat > /root/ip.sh <<EOF
#!/bin/bash
read -p 'ip:' x
sed -i "s/192.168.1.2/192.168.1.$x/" /etc/sysconfig/network-scripts/ifcfg-ens192
systemctl restart network
rm -rf /root/ip.sh
EOF
保存:/var/ftp
[root@pxe-140 ~]# ls /var/ftp/ks.cfg
/var/ftp/ks.cfg
cd /var/lib/tftpboot
cp /var/ftp/centos/isolinux/* .