部署PXE高效批量网络装机

news/2024/12/23 5:06:49/

目录

一、系统装机

1、系统装机的方式

2、系统的安装过程

3、Linux安装光盘的相关文件

二、PXE(Preboot eXecution Environment)

1、PXE概述

2、运行PXE 批量部署的优点

3、pxe实现的硬件条件

4、运行PXE的实现过程

5、PXE的实现操作

linux%E6%9C%8D%E5%8A%A1-toc" style="margin-left:80px;">5.1、安装dhcp、vsftpd、tftp-server、syslinux服务

5.2、将配置文件模板复制到DHCP目录下

5.3、修改配置文件——TFTP

三 、kickstart 工具

1、kickstart概述

2、kickstart组成部分

3、kickstart 无人值守安装步骤

3.1、下载安装图形化工具

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、查看配置文件

linux.cfg%2Fdefault%E6%96%87%E4%BB%B6-toc" style="margin-left:80px;">6、 修改/var/lib/tftpboot/pxelinux.cfg/default文件

 四、Cobbler工具

1、Cobbler概念

2、Cobbler工作原理

3、使用Cobbler工具装机

3.1、安装cobbler工具与dhcp

3.2、生成新密码

3.3、修改cobbler配置文件

3.4、重启服务,查看配置信息

 3.5、配置dhcp

3.6、导入CentOS系统的安装文件,生成相应的YUM源 


一、系统装机

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                              #关闭临时防护

linux%E6%9C%8D%E5%8A%A1">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 ksyslinux                                  x86_64                          4.05-15.el7                                        base                             990 ktftp-server                               x86_64                          5.2-22.el7                                         base                              47 kvsftpd                                    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 kdhcp-common                               x86_64                          12:4.2.5-83.el7.centos.2                           updates                          177 kdhcp-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 kgnome-python2-canvas                                x86_64                         2.28.1-14.el7                                 base                          34 klibart_lgpl                                         x86_64                         2.3.21-10.el7                                 base                          67 klibgnomecanvas                                      x86_64                         2.30.3-8.el7                                  base                         226 krarian                                              x86_64                         0.8.1-11.el7                                  base                          98 krarian-compat                                       x86_64                         0.8.1-11.el7                                  base                          66 ksystem-config-date                                  noarch                         1.10.6-3.el7.centos                           base                         591 ksystem-config-date-docs                             noarch                         1.0.11-4.el7                                  base                         527 ksystem-config-keyboard                              noarch                         1.4.0-5.el7                                   base                          33 ksystem-config-keyboard-base                         noarch                         1.4.0-5.el7                                   base                         103 ksystem-config-language                              noarch                         1.4.0-9.el7                                   base                         133 kusermode-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]# 
  • 刚配置的一些信息 

linux.cfg%2Fdefault%E6%96%87%E4%BB%B6">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 khttpd                                      x86_64                         2.4.6-99.el7.centos.1                               updates                         2.7 M
为依赖而安装:PyYAML                                     x86_64                         3.10-11.el7                                         base                            153 khttpd-tools                                x86_64                         2.4.6-99.el7.centos.1                               updates                          94 klibyaml                                    x86_64                         0.1.4-11.el7_0                                      base                             55 kmailcap                                    noarch                         2.1.41-2.el7                                        base                             31 kmod_wsgi                                   x86_64                         3.4-18.el7                                          base                             77 kpython-pillow                              x86_64                         2.0.0-25.gitd1c6db8.el7_9                           updates                         440 kpython-pygments                            noarch                         1.4-10.el7                                          base                            599 kpython2-cheetah                            x86_64                         2.4.4-6.el7                                         epel                            342 kpython2-markdown                           noarch                         2.4.1-4.el7                                         epel                            250 kpython2-pyyaml                             noarch                         3.10-0.el7                                          epel                            3.0 kpython2-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) <epel@fedoraproject.org>"指纹       : 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 ***
  • 重启客户机,以网络方式安装即可成功

http://www.ppmy.cn/news/1475754.html

相关文章

零信任的架构结合模块化沙箱,实现一机两用的解决方案

零信任沙箱是深信达提出的一种数据安全解决方案&#xff0c;它将零信任原则与SDC沙箱技术的优势相结合。零信任原则是一种安全概念&#xff0c;核心思想是“永不信任&#xff0c;总是验证”。它要求对每一个访问请求都进行严格的身份验证和授权&#xff0c;无论请求来源于内部还…

在大型企业级应用中,如何优化 XML 数据的存储和检索效率,以满足高并发访问需求?

在大型企业级应用中&#xff0c;优化XML数据的存储和检索效率可采取以下措施&#xff1a; 数据库选择&#xff1a;选择适合XML存储和查询的数据库&#xff0c;如Oracle、MySQL、PostgreSQL等。这些数据库提供了专门的XML存储和查询功能&#xff0c;能够更高效地处理XML数据。 …

在微服务架构架构中父工程中的`<dependencyManagement>`和 `<dependencies>`的区别

在微服务架构架构中父工程中的<dependencyManagement>和 <dependencies>的区别&#xff1a; 在微服务架构中&#xff0c;通常会有一个父工程&#xff08;或称作聚合工程&#xff09;来管理一组相关的子模块&#xff08;即各个微服务&#xff09;。Maven 的 <de…

无人机图像目标检测

本仓库是人工智能课程的课程作业仓库&#xff0c;主要是完成无人机图像目标检测的任务&#xff0c;我们对visdrone数据集进行了处理&#xff0c;在yolo和ssd两种框架下进行了训练和测试&#xff0c;并编写demo用于实时的无人机图像目标检测。 requirements依赖&#xff1a; ss…

使用 OpenCV 的 inRange 函数进行颜色分割

使用 OpenCV 的 inRange 函数进行颜色分割 在图像处理领域&#xff0c;颜色分割是一个常见的任务&#xff0c;常用于识别和提取图像中的特定颜色区域。OpenCV 提供了一个非常方便的函数 inRange 来实现这一功能。在这篇博客中&#xff0c;我们将详细介绍 inRange 函数的用法&a…

实验二:图像灰度修正

目录 一、实验目的 二、实验原理 三、实验内容 四、源程序和结果 源程序(python): 结果: 五、结果分析 一、实验目的 掌握常用的图像灰度级修正方法,包括图象的线性和非线性灰度点运算和直方图均衡化法,加深对灰度直方图的理解。掌握对比度增强、直方图增强的原理,…

TCP重传、滑动窗口、流量控制、拥塞控制机制

目录 1、TCP重传机制超时重传快速重传 2、滑动窗口3、流量控制4、拥塞控制1、慢启动2、拥塞避免3、拥塞发生 1、TCP重传机制 TCP 针对数据包丢失的情况&#xff0c;会用重传机制解决。 超时重传 就是在发送数据时&#xff0c;设定一个定时器&#xff0c;当超过指定的时间还没…

观察者模式的实现

引言&#xff1a;观察者模式——程序中的“通信兵” 在现代战争中&#xff0c;通信是胜利的关键。信息力以网络、数据、算法、算力等为底层支撑&#xff0c;在现代战争中不断推动感知、决策、指控等各环节产生量变与质变。在软件架构中&#xff0c;观察者模式扮演着类似的角色…