Linux——PXE_FTP_EL8

2024-06-05 09:44
文章标签 linux ftp pxe el8

本文主要是介绍Linux——PXE_FTP_EL8,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

PXE +Kickstart el8
使用两个网口一个用net接口用于下载服务和软件包,另一个为仅主机用于与其他的空主机相连
PXE(preboot execute environment)
        预启动执行环境。支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器 分配 IP 地址,再用 TFTP(trivial file transferprotocol)简单文件传 输协议下载启动软件包到本机内存中执行,由这个启动软件包完成客 户基本软件设置,从而引导预先安装在服务器中的终端操作系统。
Kickstart
        Kickstart 给用户提供了一种自动化安装红帽企业 Linux 的方法。
Kickstart 文件可以存放于单一的服务器上,在安装过程中被独立的机 器所读取。这个安装方法可以支持使用单一 Kickstart 文件在多台机器 上安装红帽企业版 Linux。
        Kickstart 安装可以使用本地光盘、本地硬盘驱动器,或通过 NFS、FTP、HTTP 来执行。
服务器配置

一、安装配置 FTP

1. 安装 FTP 服务端软件并修改配置文件
[root@pxe ~]#yum -y install vsftpd
[root@pxe ~]#vim /etc/vsftpd/vsftpd.conf
开启 FTP 匿名访问
anonymous_enable=YES
2. 启动启用服务
[root@pxe ~]#systemctl enable --now vsftpd
3. FTP 工作目录下建立指定目录,用于存放软件安装包,将系统安装光盘内所有文件复制到该目录下:
[root@pxe ~]#mount /dev/sr0 /mnt
[root@pxe ~]#cd /var/ftp
[root@pxe ftp]#mkdir rhel
[root@pxe ftp]#cp -a /mnt/* rhel/
[root@pxe ftp]#cp -p /mnt/.discinfo rhel/
[root@pxe ftp]#cp -p /mnt/.treeinfo rhel/
4 . 服务器建立本地 YUM
cd /etc/yum.repos.d/
vim CentOS-local.repo
[Appstream]
name=Appstream
baseurl=file:///var/ftp/rhel/AppStream
enabled=1
gpgcheck=0
[BaseOS]
name=local
baseurl=file:///var/ftp/rhel/BaseOS
enabled=1
gpgcheck=0

二、安装配置 DHCP

1. 安装 DHCP 服务端软件
[root@pxe ~]#yum -y install dhcp-server
2. 修改 DHCP 配置文件
打开配置文件/etc/dhcp/dhcpd.conf,从模版读取生成内容,并
添加配置(不需要的部分可以注释或删除):
subnet 172.16.1.0 netmask 255.255.255.0 {
range 172.16.1.1 172.16.1.50;
option domain-name-servers 172.16.1.254;
option routers 172.16.1.254;
option broadcast-address 172.16.1.255;
next-server 172.16.1.254;
filename "pxelinux.0";
}
3. 启动启用服务
[root@pxe ~]#systemctl enable --now dhcpd

三、安装配置 TFTP

1. 安装 TFTP 服务端软件
[root@pxe ~]#yum -y install tftp-server xinetd
2. 修改配置文件
[root@pxe ~]#vim /etc/xinetd.d/tftp
编辑文件内容为:
cat /etc/xinetd.d/tftp
service tftp
{socket_type = dgramprotocol = udpwait = yesuser = rootserver = /usr/sbin/in.tftpdserver_args = -s /var/lib/tftpbootdisable = noper_source = 11cps = 100 2flags = IPv4
}
 
3. 启动启用服务
[root@pxe ~]#systemctl restart xinetd
[root@pxe ~]#systemctl enable xinetd
[root@pxe ~]#systemctl start tftp
[root@pxe ~]#systemctl enable tftp

四、安装配置 syslinux

1. 安装 syslinux 软件
syslinux 是一个功能强大的引导加载程序(一个小型的 Linux 操作
系统),兼容各种介质。它的目的是简化首次安装 Linux 的时间,并建
立或修护其它特殊用途的启动盘。
[root@pxe ~]#yum -y install syslinux
2. TFTP 目录下建立 syslinux 所需目录
[root@pxe ~]#cd /var/lib/tftpboot
[root@pxe tftpboot]#mkdir pxelinux.cfg
3. 复制 syslinux 依赖工作文件及镜像
[root@pxe tftpboot]# cp /usr/share/syslinux/pxelinux.0 ./
[root@pxe tftpboot]# cp /var/ftp/rhel/isolinux/initrd.img ./
[root@pxe tftpboot]# cp /var/ftp/rhel/isolinux/vmlinuz ./
[root@pxe tftpboot]# cp /var/ftp/rhel/isolinux/ldlinux.c32 ./
[root@pxe tftpboot]# cd pxelinux.cfg
[root@pxe pxelinux.cfg]# cp /var/ftp/rhel/isolinux/isolinux.cfg ./
[root@pxe pxelinux.cfg]# mv isolinux.cfg default
[root@pxe pxelinux.cfg]# vim default
修改文件相关内容(无关内容不处理):
 
vim default
修改文件相关内容(无关内容不处理):
default linux
prompt 0
timeout 600
display boot.msg
label linuxmenu label ^Install or upgrade an existing systemmenu defaultkernel vmlinuzappend initrd=initrd.img ks=ftp://192.168.99.128/ks.cfg quiet

注:appent 是一行内容,保存时需要 wq!

五、创建 kickstart 文件

复制 kickstart

使用服务器系统自带的安装脚本作为模版:

cp /root/anaconda-ks.cfg /var/ftp/ks.cfg
编辑 ks 脚本
cat ks.cfg #version=RHEL8
# Use graphical install
graphicalrepo --name="AppStream" --baseurl=ftp://192.168.99.128/rhel/AppStream%packages
@^graphical-server-environment
kexec-tools%end# Keyboard layouts
keyboard --xlayouts='us'
# System language
lang en_US.UTF-8# Network information
network --bootproto=dhcp --device=ens33 --onboot=on --activate
network  --hostname=localhost.localdomain
# Use NETWORK installation
url --url="ftp://192.168.99.128/rhel"# Run the Setup Agent on first boot
firstboot --enableignoredisk --only-use=nvme0n1
# Partition clearing information
clearpart --none --initlabel
# Disk partitioning information
part pv.111 --fstype="lvmpv" --ondisk=nvme0n1 --size=58000
part /boot --fstype="ext4" --ondisk=nvme0n1 --size=1024
volgroup server --pesize=4096 pv.111
logvol swap --fstype="swap" --size=4096 --name=swap --vgname=server
logvol / --fstype="ext4" --size=51200 --name=root --vgname=server# System timezone
timezone Asia/Shanghai --isUtc --nontp# Root password
rootpw --iscrypted $6$7yH9Nx8fhw/X19wJ$DlNaRW564nGbmNPck/hISTxCv2LSVywsfkh.IbS4WJioxsyUZAQ3ta.5EKp8em5W9G.MfmcFM25TdmmUiosrC/
user --name=a --password=$6$/kU5tBkwXAm618Yr$FExtjLEdPK/e8mNIRAU3AWa/I8M1/XnuSo4xMOk.hsWvCmo4sdDG..7REuPeL/eGkYP2vuSJVJxpxKRd1xS3o. --iscrypted --gecos="a"%addon com_redhat_kdump --enable --reserve-mb='auto'%end%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end
# Reboot after install
reboot

注:给文件权限755

验证

将服务器却换到仅主机的网卡,与相连的客户机处于同一网段相同的vmnet

开机自动安装系统,或选择网卡启动后自动安装系统。

这篇关于Linux——PXE_FTP_EL8的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1032725

相关文章

Linux之platform平台设备驱动详解

《Linux之platform平台设备驱动详解》Linux设备驱动模型中,Platform总线作为虚拟总线统一管理无物理总线依赖的嵌入式设备,通过platform_driver和platform_de... 目录platform驱动注册platform设备注册设备树Platform驱动和设备的关系总结在 l

linux批量替换文件内容的实现方式

《linux批量替换文件内容的实现方式》本文总结了Linux中批量替换文件内容的几种方法,包括使用sed替换文件夹内所有文件、单个文件内容及逐行字符串,强调使用反引号和绝对路径,并分享个人经验供参考... 目录一、linux批量替换文件内容 二、替换文件内所有匹配的字符串 三、替换每一行中全部str1为st

Linux进程CPU绑定优化与实践过程

《Linux进程CPU绑定优化与实践过程》Linux支持进程绑定至特定CPU核心,通过sched_setaffinity系统调用和taskset工具实现,优化缓存效率与上下文切换,提升多核计算性能,适... 目录1. 多核处理器及并行计算概念1.1 多核处理器架构概述1.2 并行计算的含义及重要性1.3 并

Linux线程之线程的创建、属性、回收、退出、取消方式

《Linux线程之线程的创建、属性、回收、退出、取消方式》文章总结了线程管理核心知识:线程号唯一、创建方式、属性设置(如分离状态与栈大小)、回收机制(join/detach)、退出方法(返回/pthr... 目录1. 线程号2. 线程的创建3. 线程属性4. 线程的回收5. 线程的退出6. 线程的取消7.

Linux下进程的CPU配置与线程绑定过程

《Linux下进程的CPU配置与线程绑定过程》本文介绍Linux系统中基于进程和线程的CPU配置方法,通过taskset命令和pthread库调整亲和力,将进程/线程绑定到特定CPU核心以优化资源分配... 目录1 基于进程的CPU配置1.1 对CPU亲和力的配置1.2 绑定进程到指定CPU核上运行2 基于

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

Linux下删除乱码文件和目录的实现方式

《Linux下删除乱码文件和目录的实现方式》:本文主要介绍Linux下删除乱码文件和目录的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux下删除乱码文件和目录方法1方法2总结Linux下删除乱码文件和目录方法1使用ls -i命令找到文件或目录

Linux在线解压jar包的实现方式

《Linux在线解压jar包的实现方式》:本文主要介绍Linux在线解压jar包的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux在线解压jar包解压 jar包的步骤总结Linux在线解压jar包在 Centos 中解压 jar 包可以使用 u

linux解压缩 xxx.jar文件进行内部操作过程

《linux解压缩xxx.jar文件进行内部操作过程》:本文主要介绍linux解压缩xxx.jar文件进行内部操作,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、解压文件二、压缩文件总结一、解压文件1、把 xxx.jar 文件放在服务器上,并进入当前目录#

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon