目录
二、PXE(Preboot eXecution Environment)
5.1、安装dhcp、vsftpd、tftp-server、syslinux服务
6、 修改/var/lib/tftpboot/pxelinux.cfg/default文件
一、系统装机
1、系统装机的方式
①、光驱安装
光驱是计算机中用于读取和写入光盘(如CD、DVD、Blu-ray)的设备,通过连接到计算机主板的SATA接口或USB接口实现,以支持安装软件、播放音视频内容等功能。
②、硬盘安装(u盘)
硬盘安装通过U盘指的是使用USB闪存驱动器作为安装介质,通常用于启动计算机并安装操作系统或其他软件,通过预先准备的安装程序或镜像文件,实现快速、便捷的安装过程。
③、网络安装
网络安装是一种通过计算机连接至网络来完成操作系统或软件的安装方式,通常利用PXE(Preboot eXecution Environment)或其他网络引导技术,在计算机启动时从网络服务器获取操作系统镜像或安装程序,实现远程部署和管理的方法。
2、系统的安装过程
①、加载引导程序
在计算机启动系统时,首先会引导加载程序,负责加载操作系统。它位于引导扇区(通常是硬盘的第一个扇区)中,将系统控制权传递给包含操作系统引导文件的分区。或者直接根据MBR 记录中的引导信息调用启动菜单(如 GRUB)
②、加载启动安装菜单
引导加载程序将会显示启动菜单给 用户选择,并根据所选项(或采用默认值)加载 Linux 内核文件,然后将系统控制权转交给 内核。
③、加载内核和initrd
它是一个预先编译好的特殊二进制文件,介于各种硬件资源与系统程序之间, 负责资源分配与调度。内核接过系统控制权以后,将完全掌控整个 Linux 操作系统的运行过 程。
④、加载根系统文件
操作系统将从硬盘或其他存储设备中加载存储操作系统的根文件系统。根文件系统包含操作系统的核心文件和配置信息,例如系统文件、设备驱动程序、用户数据等。加载根系统文件后,操作系统可以继续初始化并完成启动过程。
⑤、运行anaconda的安装向导
运行Anaconda的安装向导是指在操作系统的引导加载程序成功加载了系统内核和initrd之后,特定的Linux发行版(如Fedora、CentOS等)会启动Anaconda安装程序。Anaconda是一个强大的安装程序,它提供了图形化界面或命令行界面,引导用户完成操作系统的安装过程。
3、Linux安装光盘的相关文件
boot.cat:是光盘启动过程中的一个文件,包含了引导加载程序菜单的配置信息,例如菜单项的名称、操作系统的选项等。这个文件不是系统的关键组成部分,而是为了辅助引导加载程序在启动时提供用户友好的界面或指导信息而存在的。
isolinux.bin:它是启动Linux安装程序的引导加载程序(bootloader)文件,在mkisofs的选项中需要明确给出文件路径,这个文件属于SYSLINUX项目
isolinux.cfg:启动菜单的配置文件,当光盘启动后(即运行isolinux.bin),会自动去找 isolinux.cfg文件
vesamenu.c32:是引导加载程序的一个模块,用于创建基于图形的菜单界面,帮助用户选择不同的启动选项。它支持使用VESA图形模式显示菜单内容,使得启动管理更直观和用户友好。
memtest:Memtest,全称为Memtest86或Memtest86+,是一款用于测试计算机内存(RAM)稳定性和性能的工具程序。通常作为引导加载程序或独立的启动光盘存在,用于检测内存中的错误、不稳定性和硬件问题。
splash.png:光盘启动菜单界面的背景图
vmlinuz:是Linux操作系统内核的压缩版本,通常用于启动Linux系统。这个文件包含了操作系统的核心功能和驱动程序
initrd.img:是系统中的一个初始内存盘镜像文件,用于在引导过程中临时加载并提供必要的文件系统支持和驱动程序。它包含了在硬盘驱动器加载之前需要的关键组件和工具,例如设备驱动程序、文件系统模块和初始化脚本。
二、PXE(Preboot eXecution Environment)
1、PXE概述
PXE 的全称是 preboot execute environment它其实是Intel在很久以前提出来的一项用于通过网络来引 导系统的标准。允许客户机通过网络从远程服务器上下载引导镜像,并加载安装文件或者整个操作系 统。
PXE协议分为两部分
- PXE客户端:是指需要通过网络启动的计算机或设备。PXE客户端在启动过程中会通过网络接口发送特定的PXE引导请求,以获取IP地址、网关和其他必要的网络配置信息。它能够接收来自PXE服务器的引导图像或其他预启动服务,以完成系统的启动过程。
- PXE服务端:是提供PXE引导服务的计算机或设备。PXE服务器通常配有特定的服务软件(如DHCP服务器和TFTP服务器),能够响应PXE客户端的引导请求。服务器负责分配IP地址、提供引导图像和其他必要的预启动文件,使得PXE客户端能够通过网络启动操作系统或执行其他预启动任务。
2、运行PXE 批量部署的优点
- 规模化:同时装配多台服务器、
- 自动化:安装系统、配置各种服务
- 远程实现:不需要光盘、U盘等安装介质
3、pxe实现的硬件条件
- 网卡支持:PXE要求网络适配器(网卡)支持PXE协议,即能够在系统启动时通过网络加载启动文件。大多数现代计算机和服务器都具备这样的网卡
- BIOS支持:PXE需要计算机的BIOS或固件支持PXE引导。具体来说,BIOS需要能够配置启动设备,识别并启用网络引导功能,同时支持通过网络接口获取DHCP和TFTP服务相关信息,以便在启动时从网络中加载操作系统或其它引导程序。
- DHCP服务器:DHCP 服务器用来给 PXE client(将要安装系统的主机)分配一个 IP 地址,由于是给 PXE client 分配 IP 地址,所以在配置 DHCP 服务器时需要增加相应的 PXE 设置。
- TFTP服务器:TFTP服务器通过UDP协议向客户端传输启动文件,如操作系统映像和配置文件,使无盘的PXE客户端能够通过网络加载并启动操作系统。它与DHCP服务器配合,为客户端提供必要的TFTP服务器地址,确保在预启动阶段能够快速有效地完成文件传输,实现远程网络启动的功能。
4、运行PXE的实现过程
①、网卡需要查找相关的dhcp服务器(获取地址时间)
②、找到后dhcp服务器提供ip地址,和引导程序(boot loader)的地址 还提供给客户机TFTPserver地址 (dhcp本身不提供tftp服务)
③、网卡使用tftp客户端吧引导程序加载到内存中来
④、bios执行引导程序
⑤、引导程序会去TFTP去查找配置文件
⑥、根据配置文件去引导安装系统
⑦、系统安装过程
5、PXE的实现操作
首先需要先关闭防火墙和临时防护
1、systemctl stop firewalld #关闭防火墙
2、setenforce 0 #关闭临时防护
5.1、安装dhcp、vsftpd、tftp-server、syslinux服务
[root@localhost ~]# yum install -y dhcp vsftpd tftp-server syslinux
BDB2053 Freeing read locks for locker 0xed1: 14515/140262283777856
BDB2053 Freeing read locks for locker 0xed3: 14515/140262283777856
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 dhcp.x86_64.12.4.2.5-83.el7.centos.2 将被 安装
--> 正在处理依赖关系 dhcp-libs(x86-64) = 12:4.2.5-83.el7.centos.2,它被软件包 12:dhcp-4.2.5-83.el7.centos.2.x86_64 需要
--> 正在处理依赖关系 dhcp-common = 12:4.2.5-83.el7.centos.2,它被软件包 12:dhcp-4.2.5-83.el7.centos.2.x86_64 需要
--> 正在处理依赖关系 libisc-export.so.169()(64bit),它被软件包 12:dhcp-4.2.5-83.el7.centos.2.x86_64 需要
--> 正在处理依赖关系 libdns-export.so.1102()(64bit),它被软件包 12:dhcp-4.2.5-83.el7.centos.2.x86_64 需要
---> 软件包 syslinux.x86_64.0.4.05-15.el7 将被 安装
---> 软件包 tftp-server.x86_64.0.5.2-22.el7 将被 安装
---> 软件包 vsftpd.x86_64.0.3.0.2-29.el7_9 将被 安装
--> 正在检查事务
---> 软件包 bind-export-libs.x86_64.32.9.11.4-26.P2.el7_9.16 将被 安装
---> 软件包 dhcp-common.x86_64.12.4.2.5-58.el7.centos 将被 升级
--> 正在处理依赖关系 dhcp-common = 12:4.2.5-58.el7.centos,它被软件包 12:dhclient-4.2.5-58.el7.centos.x86_64 需要
---> 软件包 dhcp-common.x86_64.12.4.2.5-83.el7.centos.2 将被 更新
---> 软件包 dhcp-libs.x86_64.12.4.2.5-58.el7.centos 将被 升级
---> 软件包 dhcp-libs.x86_64.12.4.2.5-83.el7.centos.2 将被 更新
--> 正在检查事务
---> 软件包 dhclient.x86_64.12.4.2.5-58.el7.centos 将被 升级
---> 软件包 dhclient.x86_64.12.4.2.5-83.el7.centos.2 将被 更新
--> 解决依赖关系完成
依赖关系解决
=====================================================================================================================================================================
Package 架构 版本 源 大小
=====================================================================================================================================================================
正在安装:
dhcp x86_64 12:4.2.5-83.el7.centos.2 updates 515 k
syslinux x86_64 4.05-15.el7 base 990 k
tftp-server x86_64 5.2-22.el7 base 47 k
vsftpd x86_64 3.0.2-29.el7_9 updates 173 k
为依赖而安装:
bind-export-libs x86_64 32:9.11.4-26.P2.el7_9.16 updates 1.1 M
为依赖而更新:
dhclient x86_64 12:4.2.5-83.el7.centos.2 updates 286 k
dhcp-common x86_64 12:4.2.5-83.el7.centos.2 updates 177 k
dhcp-libs x86_64 12:4.2.5-83.el7.centos.2 updates 133 k
事务概要
=====================================================================================================================================================================
安装 4 软件包 (+1 依赖软件包)
升级 ( 3 依赖软件包)
总下载量:3.4 M
Downloading packages:
No Presto metadata available for updates
(1/8): dhclient-4.2.5-83.el7.centos.2.x86_64.rpm | 286 kB 00:00:00
(2/8): bind-export-libs-9.11.4-26.P2.el7_9.16.x86_64.rpm | 1.1 MB 00:00:01
(3/8): dhcp-4.2.5-83.el7.centos.2.x86_64.rpm | 515 kB 00:00:00
(4/8): dhcp-common-4.2.5-83.el7.centos.2.x86_64.rpm | 177 kB 00:00:00
(5/8): dhcp-libs-4.2.5-83.el7.centos.2.x86_64.rpm | 133 kB 00:00:00
(6/8): tftp-server-5.2-22.el7.x86_64.rpm | 47 kB 00:00:00
(7/8): vsftpd-3.0.2-29.el7_9.x86_64.rpm | 173 kB 00:00:00
(8/8): syslinux-4.05-15.el7.x86_64.rpm | 990 kB 00:00:00
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
总计 1.6 MB/s | 3.4 MB 00:00:02
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在更新 : 12:dhcp-libs-4.2.5-83.el7.centos.2.x86_64 1/11
正在更新 : 12:dhcp-common-4.2.5-83.el7.centos.2.x86_64 2/11
正在安装 : 32:bind-export-libs-9.11.4-26.P2.el7_9.16.x86_64 3/11
正在安装 : 12:dhcp-4.2.5-83.el7.centos.2.x86_64 4/11
正在更新 : 12:dhclient-4.2.5-83.el7.centos.2.x86_64 5/11
正在安装 : tftp-server-5.2-22.el7.x86_64 6/11
正在安装 : syslinux-4.05-15.el7.x86_64 7/11
正在安装 : vsftpd-3.0.2-29.el7_9.x86_64 8/11
清理 : 12:dhclient-4.2.5-58.el7.centos.x86_64 9/11
清理 : 12:dhcp-common-4.2.5-58.el7.centos.x86_64 10/11
清理 : 12:dhcp-libs-4.2.5-58.el7.centos.x86_64 11/11
验证中 : 12:dhcp-4.2.5-83.el7.centos.2.x86_64 1/11
验证中 : 32:bind-export-libs-9.11.4-26.P2.el7_9.16.x86_64 2/11
验证中 : vsftpd-3.0.2-29.el7_9.x86_64 3/11
验证中 : 12:dhclient-4.2.5-83.el7.centos.2.x86_64 4/11
验证中 : syslinux-4.05-15.el7.x86_64 5/11
验证中 : 12:dhcp-libs-4.2.5-83.el7.centos.2.x86_64 6/11
验证中 : tftp-server-5.2-22.el7.x86_64 7/11
验证中 : 12:dhcp-common-4.2.5-83.el7.centos.2.x86_64 8/11
验证中 : 12:dhcp-common-4.2.5-58.el7.centos.x86_64 9/11
验证中 : 12:dhcp-libs-4.2.5-58.el7.centos.x86_64 10/11
验证中 : 12:dhclient-4.2.5-58.el7.centos.x86_64 11/11
已安装:
dhcp.x86_64 12:4.2.5-83.el7.centos.2 syslinux.x86_64 0:4.05-15.el7 tftp-server.x86_64 0:5.2-22.el7 vsftpd.x86_64 0:3.0.2-29.el7_9
作为依赖被安装:
bind-export-libs.x86_64 32:9.11.4-26.P2.el7_9.16
作为依赖被升级:
dhclient.x86_64 12:4.2.5-83.el7.centos.2 dhcp-common.x86_64 12:4.2.5-83.el7.centos.2 dhcp-libs.x86_64 12:4.2.5-83.el7.centos.2
完毕!
5.2、将配置文件模板复制到DHCP目录下
[root@localhost ~]# cat /etc/dhcp/dhcpd.conf
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example
# see dhcpd.conf(5) man page
#
[root@localhost ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y
[root@localhost ~]#
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
subnet 172.16.88.0 netmask 255.255.255.0 {
range 172.16.88.10 172.16.88.20;
option domain-name-servers 8.8.8.8;
option routers 172.16.88.2;
filename= "pxelinux.0";
[root@localhost ~]#
[root@localhost ~]# systemctl start dhcpd
[root@localhost ~]#
- vim编辑 DHCP配置
5.3、修改配置文件——TFTP
[root@localhost tftpboot]# rpm -qc tftp-server
/etc/xinetd.d/tftp
[root@localhost tftpboot]# vim /etc/xinetd.d/tftp
[root@localhost tftpboot]# cd /var/lib/tftpboot/
[root@localhost tftpboot]#
[root@localhost tftpboot]# mount /dev/sr0 /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost tftpboot]#
[root@localhost tftpboot]# cp /mnt/isolinux/initrd.img /mnt/isolinux/vmlinuz .
[root@localhost tftpboot]#
[root@localhost tftpboot]# ls
initrd.img vmlinuz
[root@localhost tftpboot]# rpm -ql syslinux |grep pxelinux.0
/usr/share/syslinux/gpxelinux.0
/usr/share/syslinux/pxelinux.0
[root@localhost tftpboot]#
[root@localhost tftpboot]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@localhost tftpboot]# cp /usr/share/syslinux/pxelinux.0 .
cp:是否覆盖"./pxelinux.0"? y
[root@localhost tftpboot]#
[root@localhost tftpboot]# ls
initrd.img pxelinux.0 vmlinuz
[root@localhost tftpboot]# mkdir pxelinux.cfg
[root@localhost tftpboot]# cd pxelinux.cfg/
[root@localhost pxelinux.cfg]#
[root@localhost pxelinux.cfg]# ls
[root@localhost pxelinux.cfg]#
[root@localhost pxelinux.cfg]# vim default
[root@localhost pxelinux.cfg]#
[root@localhost pxelinux.cfg]# mkdir /var/ftp/centos7
[root@localhost pxelinux.cfg]# mount /dev/sr0 /var/ftp/centos7/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost pxelinux.cfg]#
[root@localhost pxelinux.cfg]# cd ..
[root@localhost tftpboot]# ls
initrd.img pxelinux.0 pxelinux.cfg vmlinuz
[root@localhost tftpboot]# systemctl start tftp
[root@localhost tftpboot]# systemctl start vsftpd
vim /etc/xinetd.d/tftp
vim default
三 、kickstart 工具
1、kickstart概述
Kickstart是一种自动化安装系统的方法,特别是在Red Hat Linux和其衍生发行版中广泛使用。它通过一个称为Kickstart文件的配置文件来定义安装过程中的各种设置和选项,从而实现无人值守或半自动化的操作系统安装。
2、kickstart组成部分
命令段,程序包段,脚本段
命令段:指明各种安装前配置,如键盘类型等
命令段中的常见命令:
keyboard: 设定键盘类型
lang: 语言类型
zerombr:清除mbr
clearpart:清除分区
part: 创建分区
rootpw: 指明root的密码
timezone: 时区
text: 文本安装界面
network:指定网络设置
firewall:设置防火墙设置
selinux:设置selinux设置
reboot:安装完自动重启
url: 指明安装源
程序包段:指明要安装的程序包组或程序包,不安装的程序包等
%packages
@^environment group: 指定环境包组,如:@^minimal-environment
@group_name
package
-package
%end
脚本段:
%pre: 安装前脚本
%post: 安装后脚本
1、%post
2、useradd wang
3、%end
注意:CentOS 8,7,6 不同版本的kickstart文件格式不尽相同,不可混用
3、kickstart 无人值守安装步骤
3.1、下载安装图形化工具
yum install system-config-kickstart -y
[root@localhost tftpboot]# yum install system-config-kickstart -y
已加载插件: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 将被 安装
--> 正在处理依赖关系 usermode = 1.111-6.el7,它被软件包 usermode-gtk-1.111-6.el7.x86_64 需要
--> 正在检查事务
---> 软件包 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 需要
---> 软件包 usermode.x86_64.0.1.111-5.el7 将被 升级
---> 软件包 usermode.x86_64.0.1.111-6.el7 将被 更新
--> 正在检查事务
---> 软件包 rarian.x86_64.0.0.8.1-11.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
=====================================================================================================================================================================
Package 架构 版本 源 大小
=====================================================================================================================================================================
正在安装:
system-config-kickstart noarch 2.9.7-1.el7 base 348 k
为依赖而安装:
gnome-python2 x86_64 2.28.1-14.el7 base 47 k
gnome-python2-canvas x86_64 2.28.1-14.el7 base 34 k
libart_lgpl x86_64 2.3.21-10.el7 base 67 k
libgnomecanvas x86_64 2.30.3-8.el7 base 226 k
rarian x86_64 0.8.1-11.el7 base 98 k
rarian-compat x86_64 0.8.1-11.el7 base 66 k
system-config-date noarch 1.10.6-3.el7.centos base 591 k
system-config-date-docs noarch 1.0.11-4.el7 base 527 k
system-config-keyboard noarch 1.4.0-5.el7 base 33 k
system-config-keyboard-base noarch 1.4.0-5.el7 base 103 k
system-config-language noarch 1.4.0-9.el7 base 133 k
usermode-gtk x86_64 1.111-6.el7 base 110 k
为依赖而更新:
usermode x86_64 1.111-6.el7 base 193 k
事务概要
=====================================================================================================================================================================
安装 1 软件包 (+12 依赖软件包)
升级 ( 1 依赖软件包)
总下载量:2.5 M
Downloading packages:
No Presto metadata available for base
(1/14): gnome-python2-canvas-2.28.1-14.el7.x86_64.rpm | 34 kB 00:00:00
(2/14): libart_lgpl-2.3.21-10.el7.x86_64.rpm | 67 kB 00:00:00
(3/14): gnome-python2-2.28.1-14.el7.x86_64.rpm | 47 kB 00:00:00
(4/14): rarian-0.8.1-11.el7.x86_64.rpm | 98 kB 00:00:00
(5/14): libgnomecanvas-2.30.3-8.el7.x86_64.rpm | 226 kB 00:00:00
(6/14): rarian-compat-0.8.1-11.el7.x86_64.rpm | 66 kB 00:00:00
(7/14): system-config-date-1.10.6-3.el7.centos.noarch.rpm | 591 kB 00:00:01
(8/14): system-config-keyboard-1.4.0-5.el7.noarch.rpm | 33 kB 00:00:00
(9/14): system-config-date-docs-1.0.11-4.el7.noarch.rpm | 527 kB 00:00:01
(10/14): system-config-keyboard-base-1.4.0-5.el7.noarch.rpm | 103 kB 00:00:00
(11/14): system-config-language-1.4.0-9.el7.noarch.rpm | 133 kB 00:00:00
(12/14): system-config-kickstart-2.9.7-1.el7.noarch.rpm | 348 kB 00:00:00
(13/14): usermode-1.111-6.el7.x86_64.rpm | 193 kB 00:00:00
(14/14): usermode-gtk-1.111-6.el7.x86_64.rpm | 110 kB 00:00:00
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
总计 774 kB/s | 2.5 MB 00:00:03
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在更新 : usermode-1.111-6.el7.x86_64 1/15
正在安装 : libart_lgpl-2.3.21-10.el7.x86_64 2/15
正在安装 : libgnomecanvas-2.30.3-8.el7.x86_64 3/15
正在安装 : usermode-gtk-1.111-6.el7.x86_64 4/15
正在安装 : system-config-language-1.4.0-9.el7.noarch 5/15
正在安装 : gnome-python2-2.28.1-14.el7.x86_64 6/15
正在安装 : gnome-python2-canvas-2.28.1-14.el7.x86_64 7/15
正在安装 : rarian-0.8.1-11.el7.x86_64 8/15
正在安装 : rarian-compat-0.8.1-11.el7.x86_64 9/15
正在安装 : system-config-date-docs-1.0.11-4.el7.noarch 10/15
正在安装 : system-config-date-1.10.6-3.el7.centos.noarch 11/15
正在安装 : system-config-keyboard-base-1.4.0-5.el7.noarch 12/15
正在安装 : system-config-keyboard-1.4.0-5.el7.noarch 13/15
正在安装 : system-config-kickstart-2.9.7-1.el7.noarch 14/15
清理 : usermode-1.111-5.el7.x86_64 15/15
验证中 : libgnomecanvas-2.30.3-8.el7.x86_64 1/15
验证中 : system-config-keyboard-base-1.4.0-5.el7.noarch 2/15
验证中 : system-config-date-docs-1.0.11-4.el7.noarch 3/15
验证中 : system-config-language-1.4.0-9.el7.noarch 4/15
验证中 : system-config-date-1.10.6-3.el7.centos.noarch 5/15
验证中 : system-config-keyboard-1.4.0-5.el7.noarch 6/15
验证中 : system-config-kickstart-2.9.7-1.el7.noarch 7/15
验证中 : gnome-python2-canvas-2.28.1-14.el7.x86_64 8/15
验证中 : rarian-compat-0.8.1-11.el7.x86_64 9/15
验证中 : rarian-0.8.1-11.el7.x86_64 10/15
验证中 : usermode-gtk-1.111-6.el7.x86_64 11/15
验证中 : libart_lgpl-2.3.21-10.el7.x86_64 12/15
验证中 : usermode-1.111-6.el7.x86_64 13/15
验证中 : gnome-python2-2.28.1-14.el7.x86_64 14/15
验证中 : usermode-1.111-5.el7.x86_64 15/15
已安装:
system-config-kickstart.noarch 0:2.9.7-1.el7
作为依赖被安装:
gnome-python2.x86_64 0:2.28.1-14.el7 gnome-python2-canvas.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.x86_64 0:0.8.1-11.el7 rarian-compat.x86_64 0:0.8.1-11.el7
system-config-date.noarch 0:1.10.6-3.el7.centos system-config-date-docs.noarch 0:1.0.11-4.el7 system-config-keyboard.noarch 0:1.4.0-5.el7
system-config-keyboard-base.noarch 0:1.4.0-5.el7 system-config-language.noarch 0:1.4.0-9.el7 usermode-gtk.x86_64 0:1.111-6.el7
作为依赖被升级:
usermode.x86_64 0:1.111-6.el7
完毕!
3.2、开启工具,选择程序
3.3、修改基本配置
3.4、修改安装方法
3.5、安装新引导装载程序
3.6、配置分区信息
3.6.1、配置boot分区
3.6.2、配置swap分区
3.6.3、配置根分区
3.7、网络配置
3.8、 防火墙配置
3.9、显示配置
3.9.1、预安装脚本
4、保存配置信息
5、查看配置文件
[root@localhost tftpboot]# cd /var/ftp/
[root@localhost ftp]# ls
centos7 ks.cfg pub
[root@localhost ftp]# vim ks.cfg
[root@localhost ftp]#
- 刚配置的一些信息
6、 修改/var/lib/tftpboot/pxelinux.cfg/default文件
[root@localhost ftp]# cd /var/lib/tftpboot/
[root@localhost tftpboot]#
[root@localhost tftpboot]#
[root@localhost tftpboot]# ls
default initrd.img pxelinux.0 pxelinux.cfg vmlinuz
[root@localhost tftpboot]# vim default
四、Cobbler工具
1、Cobbler概念
Cobbler是一个开源的Linux安装服务器,用于自动化和管理操作系统的安装。它允许管理员通过一个集中的Web界面或命令行工具集成Kickstart和Preseed等自动安装工具,轻松配置和部署多台服务器。Cobbler能够管理PXE启动、DHCP、DNS等网络服务,并支持自定义配置文件以及安装和配置多种Linux发行版。
2、Cobbler工作原理
①、client裸机配置了从网络启动后,开机后会广播包请求
②、DHCP服务器(cobbler server)发送其分配 好的一个IP DHCP服务器(cobbler server)收到请求后发送responese,包括其ip地址
③、client裸机拿到ip后再向cobbler server发送请求OS引导文件的请求
④、cobbler server告诉裸机OS引导文件的名字和TFTP server的ip和port
⑤、client裸机通过上面告知的TFTP server地址通信,下载引导文件
⑥、client裸机执行执行该引导文件,确定加载信息,选择要安装的os,期间会再向cobbler server请求 kickstart文件和os image
⑦、cobbler server发送请求的kickstart和os iamge
⑧、client裸机加载kickstart文件
⑨、client裸机接收os image,安装该os image
3、使用Cobbler工具装机
3.1、安装cobbler工具与dhcp
[root@centos7 ~]#yum install epel-release.noarch -y
[root@centos7 ~]#yum install cobbler dhcp httpd -y
[root@centos7 ~]#systemctl enable --now cobblerd httpd tftp dhcpd
[root@localhost ~]# yum install epel-release.noarch -y
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 epel-release.noarch.0.7-11 将被 安装
--> 解决依赖关系完成
依赖关系解决
=====================================================================================================================================================================
Package 架构 版本 源 大小
=====================================================================================================================================================================
正在安装:
epel-release noarch 7-11 extras 15 k
事务概要
=====================================================================================================================================================================
安装 1 软件包
总下载量:15 k
安装大小:24 k
Downloading packages:
epel-release-7-11.noarch.rpm | 15 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : epel-release-7-11.noarch 1/1
验证中 : epel-release-7-11.noarch 1/1
已安装:
epel-release.noarch 0:7-11
完毕!
[root@localhost ~]# yum install cobbler dhcp httpd -y
已加载插件:fastestmirror, langpacks
epel/x86_64/metalink | 16 kB 00:00:00
epel | 4.3 kB 00:00:00
(1/3): epel/x86_64/group | 399 kB 00:00:00
(2/3): epel/x86_64/updateinfo | 1.0 MB 00:00:01
(3/3): epel/x86_64/primary_db | 8.7 MB 00:01:19
Loading mirror speeds from cached hostfile
* epel: ftp.riken.jp
软件包 12:dhcp-4.2.5-83.el7.centos.2.x86_64 已安装并且是最新版本
正在解决依赖关系
--> 正在检查事务
---> 软件包 cobbler.x86_64.0.2.8.5-6.el7 将被 安装
--> 正在处理依赖关系 mod_wsgi,它被软件包 cobbler-2.8.5-6.el7.x86_64 需要
--> 正在处理依赖关系 python2-cheetah,它被软件包 cobbler-2.8.5-6.el7.x86_64 需要
--> 正在处理依赖关系 python2-pyyaml,它被软件包 cobbler-2.8.5-6.el7.x86_64 需要
--> 正在处理依赖关系 python2-simplejson,它被软件包 cobbler-2.8.5-6.el7.x86_64 需要
---> 软件包 httpd.x86_64.0.2.4.6-99.el7.centos.1 将被 安装
--> 正在处理依赖关系 httpd-tools = 2.4.6-99.el7.centos.1,它被软件包 httpd-2.4.6-99.el7.centos.1.x86_64 需要
--> 正在处理依赖关系 /etc/mime.types,它被软件包 httpd-2.4.6-99.el7.centos.1.x86_64 需要
--> 正在检查事务
---> 软件包 httpd-tools.x86_64.0.2.4.6-99.el7.centos.1 将被 安装
---> 软件包 mailcap.noarch.0.2.1.41-2.el7 将被 安装
---> 软件包 mod_wsgi.x86_64.0.3.4-18.el7 将被 安装
---> 软件包 python2-cheetah.x86_64.0.2.4.4-6.el7 将被 安装
--> 正在处理依赖关系 python-pygments,它被软件包 python2-cheetah-2.4.4-6.el7.x86_64 需要
--> 正在处理依赖关系 python2-markdown,它被软件包 python2-cheetah-2.4.4-6.el7.x86_64 需要
---> 软件包 python2-pyyaml.noarch.0.3.10-0.el7 将被 安装
--> 正在处理依赖关系 PyYAML >= 3.10,它被软件包 python2-pyyaml-3.10-0.el7.noarch 需要
---> 软件包 python2-simplejson.x86_64.0.3.11.1-1.el7 将被 安装
--> 正在检查事务
---> 软件包 PyYAML.x86_64.0.3.10-11.el7 将被 安装
--> 正在处理依赖关系 libyaml-0.so.2()(64bit),它被软件包 PyYAML-3.10-11.el7.x86_64 需要
---> 软件包 python-pygments.noarch.0.1.4-10.el7 将被 安装
--> 正在处理依赖关系 python-imaging,它被软件包 python-pygments-1.4-10.el7.noarch 需要
---> 软件包 python2-markdown.noarch.0.2.4.1-4.el7 将被 安装
--> 正在检查事务
---> 软件包 libyaml.x86_64.0.0.1.4-11.el7_0 将被 安装
---> 软件包 python-pillow.x86_64.0.2.0.0-25.gitd1c6db8.el7_9 将被 安装
--> 解决依赖关系完成
依赖关系解决
=====================================================================================================================================================================
Package 架构 版本 源 大小
=====================================================================================================================================================================
正在安装:
cobbler x86_64 2.8.5-6.el7 epel 580 k
httpd x86_64 2.4.6-99.el7.centos.1 updates 2.7 M
为依赖而安装:
PyYAML x86_64 3.10-11.el7 base 153 k
httpd-tools x86_64 2.4.6-99.el7.centos.1 updates 94 k
libyaml x86_64 0.1.4-11.el7_0 base 55 k
mailcap noarch 2.1.41-2.el7 base 31 k
mod_wsgi x86_64 3.4-18.el7 base 77 k
python-pillow x86_64 2.0.0-25.gitd1c6db8.el7_9 updates 440 k
python-pygments noarch 1.4-10.el7 base 599 k
python2-cheetah x86_64 2.4.4-6.el7 epel 342 k
python2-markdown noarch 2.4.1-4.el7 epel 250 k
python2-pyyaml noarch 3.10-0.el7 epel 3.0 k
python2-simplejson x86_64 3.11.1-1.el7 epel 188 k
事务概要
=====================================================================================================================================================================
安装 2 软件包 (+11 依赖软件包)
总下载量:5.5 M
安装大小:21 M
Downloading packages:
(1/13): libyaml-0.1.4-11.el7_0.x86_64.rpm | 55 kB 00:00:00
(2/13): httpd-tools-2.4.6-99.el7.centos.1.x86_64.rpm | 94 kB 00:00:00
(3/13): PyYAML-3.10-11.el7.x86_64.rpm | 153 kB 00:00:00
(4/13): mailcap-2.1.41-2.el7.noarch.rpm | 31 kB 00:00:00
(5/13): mod_wsgi-3.4-18.el7.x86_64.rpm | 77 kB 00:00:00
warning: /var/cache/yum/x86_64/7/epel/packages/cobbler-2.8.5-6.el7.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
cobbler-2.8.5-6.el7.x86_64.rpm 的公钥尚未安装
(6/13): cobbler-2.8.5-6.el7.x86_64.rpm | 580 kB 00:00:00
(7/13): python2-markdown-2.4.1-4.el7.noarch.rpm | 250 kB 00:00:00
(8/13): python2-pyyaml-3.10-0.el7.noarch.rpm | 3.0 kB 00:00:00
(9/13): python2-simplejson-3.11.1-1.el7.x86_64.rpm | 188 kB 00:00:00
(10/13): python-pillow-2.0.0-25.gitd1c6db8.el7_9.x86_64.rpm | 440 kB 00:00:01
(11/13): python2-cheetah-2.4.4-6.el7.x86_64.rpm | 342 kB 00:00:01
(12/13): python-pygments-1.4-10.el7.noarch.rpm | 599 kB 00:00:01
(13/13): httpd-2.4.6-99.el7.centos.1.x86_64.rpm | 2.7 MB 00:00:06
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
总计 885 kB/s | 5.5 MB 00:00:06
从 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 检索密钥
导入 GPG key 0x352C64E5:
用户ID : "Fedora EPEL (7) <[email protected]>"
指纹 : 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5
软件包 : epel-release-7-11.noarch (@extras)
来自 : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : python2-simplejson-3.11.1-1.el7.x86_64 1/13
正在安装 : python2-markdown-2.4.1-4.el7.noarch 2/13
正在安装 : python-pillow-2.0.0-25.gitd1c6db8.el7_9.x86_64 3/13
正在安装 : python-pygments-1.4-10.el7.noarch 4/13
正在安装 : python2-cheetah-2.4.4-6.el7.x86_64 5/13
正在安装 : mailcap-2.1.41-2.el7.noarch 6/13
正在安装 : httpd-tools-2.4.6-99.el7.centos.1.x86_64 7/13
正在安装 : httpd-2.4.6-99.el7.centos.1.x86_64 8/13
正在安装 : mod_wsgi-3.4-18.el7.x86_64 9/13
正在安装 : libyaml-0.1.4-11.el7_0.x86_64 10/13
正在安装 : PyYAML-3.10-11.el7.x86_64 11/13
正在安装 : python2-pyyaml-3.10-0.el7.noarch 12/13
正在安装 : cobbler-2.8.5-6.el7.x86_64 13/13
验证中 : libyaml-0.1.4-11.el7_0.x86_64 1/13
验证中 : httpd-tools-2.4.6-99.el7.centos.1.x86_64 2/13
验证中 : cobbler-2.8.5-6.el7.x86_64 3/13
验证中 : mailcap-2.1.41-2.el7.noarch 4/13
验证中 : PyYAML-3.10-11.el7.x86_64 5/13
验证中 : python-pillow-2.0.0-25.gitd1c6db8.el7_9.x86_64 6/13
验证中 : httpd-2.4.6-99.el7.centos.1.x86_64 7/13
验证中 : mod_wsgi-3.4-18.el7.x86_64 8/13
验证中 : python2-cheetah-2.4.4-6.el7.x86_64 9/13
验证中 : python2-pyyaml-3.10-0.el7.noarch 10/13
验证中 : python2-markdown-2.4.1-4.el7.noarch 11/13
验证中 : python2-simplejson-3.11.1-1.el7.x86_64 12/13
验证中 : python-pygments-1.4-10.el7.noarch 13/13
已安装:
cobbler.x86_64 0:2.8.5-6.el7 httpd.x86_64 0:2.4.6-99.el7.centos.1
作为依赖被安装:
PyYAML.x86_64 0:3.10-11.el7 httpd-tools.x86_64 0:2.4.6-99.el7.centos.1 libyaml.x86_64 0:0.1.4-11.el7_0
mailcap.noarch 0:2.1.41-2.el7 mod_wsgi.x86_64 0:3.4-18.el7 python-pillow.x86_64 0:2.0.0-25.gitd1c6db8.el7_9
python-pygments.noarch 0:1.4-10.el7 python2-cheetah.x86_64 0:2.4.4-6.el7 python2-markdown.noarch 0:2.4.1-4.el7
python2-pyyaml.noarch 0:3.10-0.el7 python2-simplejson.x86_64 0:3.11.1-1.el7
完毕!
[root@localhost ~]#
3.2、生成新密码
[root@localhost ~]# openssl passwd -1 'CxC666666'
$1$XHNWMeHR$774kpxlYSo1lgMV4gzRY01
[root@localhost ~]#
3.3、修改cobbler配置文件
vim /etc/cobbler/settings
[root@centos7 ~]#vim /etc/cobbler/settings
#将101行的加密密码替换成自己生成的密码
default_password_crypted: "$1$XHNWMeHR$774kpxlYSo1lgMV4gzRY01"
#第278行next_server字段,将回环地址设置成服务器的ip地址
next_server: 172.16.12.10
#在第390行server字段,将回环地址设置成服务器的ip地址
server:172.16.12.10
#将第242行manage_dhcp的值设置为1。
manage_dhcp:1
#将第298行的pxe_just_once的值设置为1。
3.4、重启服务,查看配置信息
3.5、配置dhcp
vim /etc/cobbler/dhcp.template
cobbler sync
3.6、导入CentOS系统的安装文件,生成相应的YUM源
[root@localhost ~]#mount /dev/sr0 /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]#cobbler import --name=centos-7-x86_64 --path=/mnt --arch=x86_64task started: 2024-01-17_141704_import
task started (id=Media import, time=Wed Jan 17 14:17:04 2024)
Found a candidate signature: breed=suse, version=opensuse15.0
Found a candidate signature: breed=suse, version=opensuse15.1
Found a candidate signature: breed=redhat, version=rhel6
Found a candidate signature: breed=redhat, version=rhel7
Found a matching signature: breed=redhat, version=rhel7
Adding distros from path /var/www/cobbler/ks_mirror/centos-7-x86_64:
creating new distro: centos-7-x86_64
trying symlink: /var/www/cobbler/ks_mirror/centos-7-x86_64 -> /var/www/cobbler/links/centos-7-x86_64
creating new profile: centos-7-x86_64
associating repos
checking for rsync repo(s)
checking for rhn repo(s)
checking for yum repo(s)
starting descent into /var/www/cobbler/ks_mirror/centos-7-x86_64 for centos-7-x86_64
processing repo at : /var/www/cobbler/ks_mirror/centos-7-x86_64
need to process repo/comps: /var/www/cobbler/ks_mirror/centos-7-x86_64
looking for /var/www/cobbler/ks_mirror/centos-7-x86_64/repodata/*comps*.xml
Keeping repodata as-is :/var/www/cobbler/ks_mirror/centos-7-x86_64/repodata
*** TASK COMPLETE ***
- 重启客户机,以网络方式安装即可成功