PXE高效批量网络装机

时间:2024-05-09 21:05:31

PXE:

PXE(预启动执行环境,在操作系统之前运行)是由Intel公司开发的网络引导技术,工作在Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。

PXE具备以下三个优点:

  1. 规模化:同时装配多台服务器
  2. 自动化:安装系统、配置各种服务
  3. 远程实现:不需要光盘IU盘等安装介质

若要搭建 PXE 网络体系,必须满足以下几个前提条件:

客户端:
1.客户机的网卡要支持PXE协议(集成BOOTROM芯片),且主板支持网络引导。一般大多数服务器主机都支持,只需在BIOS设置中允许从 Network 或 LAN 启动即可。
服务端:
2.网络中有一台 DHCP 服务器以便为客户机自动分配地址、指定引导文件位置。
3.服务器要通过 TFTP服务(简单文件传输协议)来提供系统内核和引导镜像文件的下载。

实验

初始化配置:关闭防火墙

[root@l3 ~]# systemctl disable --now firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@l3 ~]# setenforce 0
[root@l3 ~]# vim /etc/selinux/config

 

网络配置 

[root@l3 ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.217.30  netmask 255.255.255.0  broadcast 192.168.18.255
        inet6 fe80::4367:bd86:d4c9:c296  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:c9:0b:e0  txqueuelen 1000  (Ethernet)
        RX packets 359122  bytes 521929729 (497.7 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 56099  bytes 3425796 (3.2 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:1e:49:a2  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@l3 ~]# 

 网络服务器改成仅主机模式

 

[root@l3 ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.217.30  netmask 255.255.255.0  broadcast 192.168.217.255
        inet6 fe80::4367:bd86:d4c9:c296  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:c9:0b:e0  txqueuelen 1000  (Ethernet)
        RX packets 105  bytes 10209 (9.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 314  bytes 30949 (30.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 248  bytes 22314 (21.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 248  bytes 22314 (21.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:1e:49:a2  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@l3 ~]# 

 安装服务tftp服务

安装 xinetd 和 tftp-server这两个软件包 

[root@l3 ~]# yum install -y xinetd tftp-server
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
软件包 tftp-server-5.2-22.el7.x86_64 已安装并且是最新版本
正在解决依赖关系
--> 正在检查事务
---> 软件包 xinetd.x86_64.2.2.3.15-14.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

==============================================================================
 Package        架构           版本                       源             大小
==============================================================================
正在安装:
 xinetd         x86_64         2:2.3.15-14.el7            local         128 k

事务概要
==============================================================================
安装  1 软件包

总下载量:128 k
安装大小:261 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded

修改TFTP服务的配置文件 

[root@l3 xinetd.d]# vim tftp

 #修改TFTP服务的配置文件
vim /etc/xinetd.d/tftp
    protocol               = udp        #TFTP默认使用UDP协议    
    wait                      = no        #no表示客户机可以多台一起连接,yes表示客户机只能一台一台连接
    server_args         = -s /var/lib/tftpboot        #指定TFTP根目录(引导文件的存储路径)
    disable                 = no        #no表示开启TFTP服务

 

开启服务 

[root@l3 xinetd.d]# systemctl enable --now xinetd
[root@l3 xinetd.d]# systemctl enable --now tftp
Created symlink from /etc/systemd/system/sockets.target.wants/tftp.socket to /usr/lib/systemd/system/tftp.socket.
[root@l3 xinetd.d]# 

设置好之后检查状态 

[root@l3 xinetd.d]# systemctl status xinetd
● xinetd.service - Xinetd A Powerful Replacement For Inetd
   Loaded: loaded (/usr/lib/systemd/system/xinetd.service; enabled; vendor preset: enabled)
   Active: active (running) since 一 2024-05-06 11:45:04 CST; 2min 49s ago
 Main PID: 3244 (xinetd)
    Tasks: 1
   CGroup: /system.slice/xinetd.service
           └─3244 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid

5月 06 11:45:04 l3 xinetd[3244]: removing discard
5月 06 11:45:04 l3 xinetd[3244]: removing discard
5月 06 11:45:04 l3 xinetd[3244]: removing echo
5月 06 11:45:04 l3 xinetd[3244]: removing echo
5月 06 11:45:04 l3 xinetd[3244]: removing tcpmux
5月 06 11:45:04 l3 xinetd[3244]: removing time
5月 06 11:45:04 l3 xinetd[3244]: removing time
5月 06 11:45:04 l3 xinetd[3244]: Service tftp has socket_type dgram, but...it
5月 06 11:45:04 l3 xinetd[3244]: xinetd Version 2.3.15 started with libw...n.
5月 06 11:45:04 l3 xinetd[3244]: Started working: 0 available services
Hint: Some lines were ellipsized, use -l to show in full.
[root@l3 xinetd.d]# systemctl status tftp
● tftp.service - Tftp Server
   Loaded: loaded (/usr/lib/systemd/system/tftp.service; indirect; vendor preset: disabled)
   Active: active (running) since 一 2024-05-06 11:45:21 CST; 2min 50s ago
     Docs: man:in.tftpd
 Main PID: 3268 (in.tftpd)
    Tasks: 1
   CGroup: /system.slice/tftp.service
           └─3268 /usr/sbin/in.tftpd -s /var/lib/tftpboot

5月 06 11:45:21 l3 systemd[1]:

完成 dhcp服务和启动

安装dhcp
[root@l3 xinetd.d]# yum install -y dhcp
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 dhcp.x86_64.12.4.2.5-83.el7.centos.1 将被 安装
--> 解决依赖关系完成

依赖关系解决

==============================================================================
 Package     架构          版本                            源            大小
==============================================================================
正在安装:
 dhcp        x86_64        12:4.2.5-83.el7.centos.1        local        515 k

事务概要
==============================================================================
安装  1 软件包

总下载量:515 k
安装大小:1.4 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : 12:dhcp-4.2.5-83.el7.centos.1.x86_64                      1/1 
  验证中      : 12:dhcp-4.2.5-83.el7.centos.1.x86_64                      1/1 

已安装:
  dhcp.x86_64 12:4.2.5-83.el7.centos.1                                        

完毕!
[root@l3 xinetd.d]# 

配置文件 dhcp

[root@l3 xinetd.d]# cd /usr/share/doc/dhcp-4.2.5/
[root@l3 dhcp-4.2.5]# ls
dhcpd6.conf.example  dhcpd.conf.example  ldap
[root@l3 dhcp-4.2.5]# \cp -f dhcpd.conf.example /etc/dhcp/dhcpd.conf
[root@l3 dhcp-4.2.5]# cd /etc/dhcp/
[root@l3 dhcp]# ls
dhclient.d  dhclient-exit-hooks.d  dhcpd6.conf  dhcpd.conf  scripts
[root@l3 dhcp]# 
[root@l3 dhcp]# vim dhcpd.conf

另开一个页面安装引导程序

[root@l3 ~]# 
[root@l3 ~]# yum install -y syslinux
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 syslinux.x86_64.0.4.05-15.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

==============================================================================
 Package           架构            版本                  源              大小
==============================================================================
正在安装:
 syslinux          x86_64          4.05-15.el7           local          990 k

事务概要
==============================================================================
安装  1 软件包

总下载量:990 k
安装大小:2.3 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : syslinux-4.05-15.el7.x86_64                               1/1 
  验证中      : syslinux-4.05-15.el7.x86_64                               1/1 

已安装:
  syslinux.x86_64 0:4.05-15.el7                                               

完毕!
[root@l3 ~]# 

[root@l3 ~]# cd /usr/share/syslinux/

[root@l3 syslinux]# ls
altmbr.bin     ethersel.c32  isohdpfx.bin        mbr_c.bin     sanboot.c32
altmbr_c.bin   gfxboot.c32   isohdpfx_c.bin      mbr_f.bin     sdi.c32
altmbr_f.bin   gptmbr.bin    isohdpfx_f.bin      memdisk       sysdump.c32
cat.c32        gptmbr_c.bin  isohdppx.bin        memdump.com   syslinux64.exe
chain.c32      gptmbr_f.bin  isohdppx_c.bin      meminfo.c32   syslinux.com
cmd.c32        gpxecmd.c32   isohdppx_f.bin      menu.c32      syslinux.exe
config.c32     gpxelinux.0   isolinux.bin        pcitest.c32   ver.com
cpuid.c32      gpxelinuxk.0  isolinux-debug.bin  pmload.c32    vesainfo.c32
cpuidtest.c32  hdt.c32       kbdmap.c32          poweroff.com  vesamenu.c32
diag           host.c32      linux.c32           pwd.c32       vpdtest.c32
disk.c32       ifcpu64.c32   ls.c32              pxechain.com  whichsys.c32
dmitest.c32    ifcpu.c32     lua.c32             pxelinux.0    zzjson.c32
dosutil        ifplop.c32    mboot.c32           reboot.c32
elf.c32        int18.com     mbr.bin             rosh.c32
[root@l3 syslinux]# 

 启动

[root@l3 ~]# systemctl enable dhcpd --now
[root@l3 ~]# systemctl status dhcpd
● dhcpd.service - DHCPv4 Server Daemon
   Loaded: loaded (/usr/lib/systemd/system/dhcpd.service; enabled; vendor preset: disabled)
   Active: active (running) since 一 2024-05-06 13:30:38 CST; 5min ago
     Docs: man:dhcpd(8)
           man:dhcpd.conf(5)
 Main PID: 60763 (dhcpd)
   Status: "Dispatching packets..."
    Tasks: 1
   CGroup: /system.slice/dhcpd.service
           └─60763 /usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -...

5月 06 13:30:38 l3 dhcpd[60763]: No subnet declaration for virbr0 (192.16...).
5月 06 13:30:38 l3 dhcpd[60763]: ** Ignoring requests on virbr0.  If this...at
5月 06 13:30:38 l3 dhcpd[60763]:    you want, please write a subnet decla...on
5月 06 13:30:38 l3 dhcpd[60763]:    in your dhcpd.conf file for the netwo...nt
5月 06 13:30:38 l3 dhcpd[60763]:    to which interface virbr0 is attached. **
5月 06 13:30:38 l3 dhcpd[60763]: 
5月 06 13:30:38 l3 dhcpd[60763]: Listening on LPF/ens33/00:0c:29:c9:0b:e0...24
5月 06 13:30:38 l3 dhcpd[60763]: Sending on   LPF/ens33/00:0c:29:c9:0b:e0...24
5月 06 13:30:38 l3 dhcpd[60763]: Sending on   Socket/fallback/fallback-net
5月 06 13:30:38 l3 systemd[1]: Started DHCPv4 Server Daemon.
Hint: Some lines were ellipsized, use -l to show in full.
[root@l3 ~]# 

另一个页面

[root@l3 syslinux]# cp pxelinux.0 /var/lib/tftpboot/
[root@l3 syslinux]# ls /var/lib/tftpboot/
pxelinux.0
[root@l3 syslinux]# 
[root@l3 syslinux]# cd /mnt/
[root@l3 mnt]# ls
CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
EULA             isolinux  repodata  TRANS.TBL
[root@l3 mnt]# cd images/
[root@l3 images]# ls
efiboot.img  pxeboot  TRANS.TBL
[root@l3 images]# cd pxeboot
[root@l3 pxeboot]# ls
initrd.img  TRANS.TBL  vmlinuz
[root@l3 pxeboot]# 
[root@l3 pxeboot]# 
[root@l3 pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/
[root@l3 pxeboot]# ls /var/lib/tftpboot/
initrd.img  pxelinux.0  vmlinuz
[root@l3 pxeboot]# 

切换页面

安装软件vsftpd

[root@l3 dhcp]# yum install -y vsftpd
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 vsftpd.x86_64.0.3.0.2-29.el7_9 将被 安装
--> 解决依赖关系完成

依赖关系解决

===============================================================================
 Package         架构            版本                     源              大小
===============================================================================
正在安装:
 vsftpd          x86_64          3.0.2-29.el7_9           local          173 k

事务概要
===============================================================================
安装  1 软件包

总下载量:173 k
安装大小:353 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : vsftpd-3.0.2-29.el7_9.x86_64                               1/1 
  验证中      : vsftpd-3.0.2-29.el7_9.x86_64                               1/1 

已安装:
  vsftpd.x86_64 0:3.0.2-29.el7_9                                               

完毕!
[root@l3 dhcp]# 
[root@l3 dhcp]# systemctl enable --now vsftpd
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
[root@l3 dhcp]# 
[root@l3 dhcp]# cd /var/ftp
[root@l3 ftp]# mkdir centos7
[root@l3 ftp]# ls /mnt
CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
EULA             isolinux  repodata  TRANS.TBL
[root@l3 ftp]# mount /dev/sr0 /var/ftp/centos7/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@l3 ftp]# 
[root@l3 ftp]# cd /var/ftp/centos7/
[root@l3 centos7]# ls
CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
EULA             isolinux  repodata  TRANS.TBL
[root@l3 centos7]# 


[root@l3 centos7]# cd /var/lib/tftpboot/
[root@l3 tftpboot]# ls
initrd.img  pxelinux.0  vmlinuz
[root@l3 tftpboot]# mkdir pxelinux.cfg
[root@l3 tftpboot]# ls
initrd.img  pxelinux.0  pxelinux.cfg  vmlinuz
[root@l3 tftpboot]# cd pxelinux.cfg
[root@l3 pxelinux.cfg]# touch default
[root@l3 pxelinux.cfg]# ls
default
[root@l3 pxelinux.cfg]# 

[root@l3 pxelinux.cfg]# vim default
default auto
prompt 1

label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.217.30/centos7

label text
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.217.30/centos7

label rescue
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.217.30/centos7

[root@l3 pxelinux.cfg]# cd ..
[root@l3 tftpboot]# 
[root@l3 tftpboot]# pwd
/var/lib/tftpboot
[root@l3 tftpboot]# ls -R
.:
initrd.img  pxelinux.0  pxelinux.cfg  vmlinuz

./pxelinux.cfg:
default
[root@l3 tftpboot]# 
[root@l3 tftpboot]# 
[root@l3 tftpboot]# systemctl status tftp xinetd
● tftp.service - Tftp Server
   Loaded: loaded (/usr/lib/systemd/system/tftp.service; indirect; vendor preset: disabled)
   Active: inactive (dead) since 一 2024-05-06 12:00:21 CST; 2h 57min ago
     Docs: man:in.tftpd
 Main PID: 3268 (code=exited, status=0/SUCCESS)

5月 06 11:45:21 l3 systemd[1]: Started Tftp Server.

● xinetd.service - Xinetd A Powerful Replacement For Inetd
   Loaded: loaded (/usr/lib/systemd/system/xinetd.service; enabled; vendor preset: enabled)
   Active: active (running) since 一 2024-05-06 11:45:04 CST; 3h 13min ago
 Main PID: 3244 (xinetd)
    Tasks: 1
   CGroup: /system.slice/xinetd.service
           └─3244 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid

5月 06 11:45:04 l3 xinetd[3244]: removing discard
5月 06 11:45:04 l3 xinetd[3244]: removing discard
5月 06 11:45:04 l3 xinetd[3244]: removing echo
5月 06 11:45:04 l3 xinetd[3244]: removing echo
5月 06 11:45:04 l3 xinetd[3244]: removing tcpmux
5月 06 11:45:04 l3 xinetd[3244]: removing time
5月 06 11:45:04 l3 xinetd[3244]: removing time
5月 06 11:45:04 l3 xinetd[3244]: Service tftp has socket_type dgram, but ...it
5月 06 11:45:04 l3 xinetd[3244]: xinetd Version 2.3.15 started with libwr...n.
5月 06 11:45:04 l3 xinetd[3244]: Started working: 0 available services
Hint: Some lines were ellipsized, use -l to show in full.
[root@l3 tftpboot]# 
[root@l3 tftpboot]# systemctl restart tftp xinetd
[root@l3 tftpboot]# systemctl status tftp xinetd
● tftp.service - Tftp Server
   Loaded: loaded (/usr/lib/systemd/system/tftp.service; indirect; vendor preset: disabled)
   Active: active (running) since 一 2024-05-06 14:59:49 CST; 19s ago
     Docs: man:in.tftpd
 Main PID: 61785 (in.tftpd)
    Tasks: 1
   CGroup: /system.slice/tftp.service
           └─61785 /usr/sbin/in.tftpd -s /var/lib/tftpboot

5月 06 14:59:49 l3 systemd[1]: Started Tftp Server.

● xinetd.service - Xinetd A Powerful Replacement For Inetd
   Loaded: loaded (/usr/lib/systemd/system/xinetd.service; enabled; vendor preset: enabled)
   Active: active (running) since 一 2024-05-06 14:59:49 CST; 19s ago
  Process: 61787 ExecStart=/usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid $EXTRAOPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 61788 (xinetd)
    Tasks: 1
   CGroup: /system.slice/xinetd.service
           └─61788 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid

5月 06 14:59:49 l3 xinetd[61788]: removing discard
5月 06 14:59:49 l3 xinetd[61788]: removing discard
5月 06 14:59:49 l3 xinetd[61788]: removing echo
[root@l3 tftpboot]# systemctl status dhcpd
● dhcpd.service - DHCPv4 Server Daemon
   Loaded: loaded (/usr/lib/systemd/system/dhcpd.service; enabled; vendor preset: disabled)
   Active: active (running) since 一 2024-05-06 13:30:38 CST; 1h 30min ago
     Docs: man:dhcpd(8)
           man:dhcpd.conf(5)
 Main PID: 60763 (dhcpd)
   Status: "Dispatching packets..."
    Tasks: 1
   CGroup: /system.slice/dhcpd.service
           └─60763 /usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -...

5月 06 13:30:38 l3 dhcpd[60763]: No subnet declaration for virbr0 (192.16...).
5月 06 13:30:38 l3 dhcpd[60763]: ** Ignoring requests on virbr0.  If this...at
5月 06 13:30:38 l3 dhcpd[60763]:    you want, please write a subnet decla...on
5月 06 13:30:38 l3 dhcpd[60763]:    in your dhcpd.conf file for the netwo...nt
5月 06 13:30:38 l3 dhcpd[60763]:    to which interface virbr0 is attached. **
5月 06 13:30:38 l3 dhcpd[60763]: 
5月 06 13:30:38 l3 dhcpd[60763]: Listening on LPF/ens33/00:0c:29:c9:0b:e0...24
5月 06 13:30:38 l3 dhcpd[60763]: Sending on   LPF/ens33/00:0c:29:c9:0b:e0...24
5月 06 13:30:38 l3 dhcpd[60763]: Sending on   Socket/fallback/fallback-net
5月 06 13:30:38 l3 systemd[1]: Started DHCPv4 Server Daemon.
Hint: Some lines were ellipsized, use -l to show in full.
[root@l3 tftpboot]# 

三个服务准备好,接下来准备四个文件

[root@l3 tftpboot]# cd /var/lib/tftpboot/
[root@l3 tftpboot]# pwd
/var/lib/tftpboot
[root@l3 tftpboot]# ls
initrd.img  pxelinux.0  pxelinux.cfg  vmlinuz
[root@l3 tftpboot]# 

全部准备好之后,开始测试 

半自动化 

 

 

 

boot:auto 或者 直接回车 

 

 

 

 


全自动化

全部部署完毕之后,新建虚拟机

新建虚拟机步骤和上边一样

在开机之前

 

 

 配置和之前一样,如果不想一步步配置

[root@l3 tftpboot]# yum install -y system-config-kickstart.noarch 
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 system-config-kickstart.noarch.0.2.9.7-1.el7 将被 安装
--> 正在处理依赖关系 system-config-keyboard >= 1.3.1,它被软件包 system-config-kickstart-2.9.7-1.el7.noarch 需要
--> 正在处理依赖关系 system-config-language,它被软件包 system-config-kickstart-2.9.7-1.el7.noarch 需要
--> 正在处理依赖关系 system-config-date,它被软件包 system-config-kickstart-2.9.7-1.el7.noarch 需要
--> 正在检查事务
---> 软件包 system-config-date.noarch.0.1.10.6-3.el7.centos 将被 安装
--> 正在处理依赖关系 system-config-date-docs,它被软件包 system-config-date-1.10.6-3.el7.centos.noarch 需要
--> 正在处理依赖关系 gnome-python2-canvas,它被软件包 system-config-date-1.10.6-3.el7.centos.noarch 需要
---> 软件包 system-config-keyboard.noarch.0.1.4.0-5.el7 将被 安装
--> 正在处理依赖关系 system-config-keyboard-base = 1.4.0-5.el7,它被软件包 system-config-keyboard-1.4.0-5.el7.noarch 需要
---> 软件包 system-config-language.noarch.0.1.4.0-9.el7 将被 安装
--> 正在处理依赖关系 usermode-gtk,它被软件包 system-config-language-1.4.0-9.el7.noarch 需要
--> 正在检查事务
---> 软件包 gnome-python2-canvas.x86_64.0.2.28.1-14.el7 将被 安装
--> 正在处理依赖关系 gnome-python2(x86-64) = 2.28.1-14.el7,它被软件包 gnome-python2-canvas-2.28.1-14.el7.x86_64 需要
--> 正在处理依赖关系 libgnomecanvas(x86-64) >= 2.8.0,它被软件包 gnome-python2-canvas-2.28.1-14.el7.x86_64 需要
--> 正在处理依赖关系 libgnomecanvas-2.so.0()(64bit),它被软件包 gnome-python2-canvas-2.28.1-14.el7.x86_64 需要
--> 正在处理依赖关系 libart_lgpl_2.so.2()(64bit),它被软件包 gnome-python2-canvas-2.28.1-14.el7.x86_64 需要
---> 软件包 system-config-date-docs.noarch.0.1.0.11-4.el7 将被 安装
--> 正在处理依赖关系 rarian-compat,它被软件包 system-config-date-docs-1.0.11-4.el7.noarch 需要
---> 软件包 system-config-keyboard-base.noarch.0.1.4.0-5.el7 将被 安装
---> 软件包 usermode-gtk.x86_64.0.1.111-6.el7 将被 安装
--> 正在检查事务
---> 软件包 gnome-python2.x86_64.0.2.28.1-14.el7 将被 安装
---> 软件包 libart_lgpl.x86_64.0.2.3.21-10.el7 将被 安装
---> 软件包 libgnomecanvas.x86_64.0.2.30.3-8.el7 将被 安装
---> 软件包 rarian-compat.x86_64.0.0.8.1-11.el7 将被 安装
--> 正在处理依赖关系 rarian = 0.8.1-11.el7,它被软件包 rarian-compat-0.8.1-11.el7.x86_64 需要
--> 正在处理依赖关系 rarian,它被软件包 rarian-compat-0.8.1-11.el7.x86_64 需要
--> 正在处理依赖关系 librarian.so.0()(64bit),它被软件包 rarian-compat-0.8.1-11.el7.x86_64 需要
--> 正在检查事务
---> 软件包 rarian.x86_64.0.0.8.1-11.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

=============================================================================

在服务端 

或者 输入命令 ,也可以自动弹出
[root@l3 ~]# system-config-kickstart 

 

 

安装方法 

引导装载程序选项 
分区信息 

 

网络配置 

 防火墙配置

安装后脚本 

这里我们添加yum

mkdir /etc/yum.repos.d/repo.bak
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/repo.bak
echo [local]
name=local
baseurl=ftp://192.168.217.30/centos7
enabled=1
gpgcheck=0 > /etc/yum.repos.d/local.repo

 

 保存好,自动生成

 

[root@l3 ~]# vim ks.cfg

软件包配置
开另一个服务端窗口 
[root@l3 pxeboot]# cd
[root@l3 ~]# ls
anaconda-ks.cfg       ks.cfg  模板  图片  下载  桌面
initial-setup-ks.cfg  公共    视频  文档  音乐
[root@l3 ~]# vim anaconda-ks.cfg

复制出来

%packages
@^gnome-desktop-environment
@base
@core
@desktop-debugging
@development
@dial-up
@directory-client
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@input-methods
@internet-browser
@java-platform
@multimedia
@network-file-system-client
@networkmanager-submodules
@print-client
@x11
chrony
kexec-tools

%end

插入窗口1  (vim ks.cfg)

 如果想要最小化安装

[root@l3 tftpboot]# cd
[root@l3 ~]# 
[root@l3 ~]# ls
anaconda-ks.cfg       ks.cfg  模板  图片  下载  桌面
initial-setup-ks.cfg  公共    视频  文档  音乐
[root@l3 ~]# cp ks.cfg /var/ftp/
[root@l3 ~]# cd /var/ftp/
[root@l3 ftp]# ls
centos7  ks.cfg  pub
[root@l3 ftp]# 

[root@l3 ftp]# cd /var/lib/tftpboot/
[root@l3 tftpboot]# ls
initrd.img  pxelinux.0  pxelinux.cfg  vmlinuz
[root@l3 tftpboot]# 
[root@l3 tftpboot]# cd pxelinux.cfg/
[root@l3 pxelinux.cfg]# ls
default
[root@l3 pxelinux.cfg]# vim default

在新机 

 

[root@l3 pxelinux.cfg]# vim default
 重新启动客户机

不用动自动安装

快速过一遍

 

 

 

 

 

 

 

后面同上 。。。。