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磁盘分区、格式化和挂载方式

《Linux磁盘分区、格式化和挂载方式》本文详细介绍了Linux系统中磁盘分区、格式化和挂载的基本操作步骤和命令,包括MBR和GPT分区表的区别、fdisk和gdisk命令的使用、常见的文件系统格式以... 目录一、磁盘分区表分类二、fdisk命令创建分区1、交互式的命令2、分区主分区3、创建扩展分区,然后

Linux中chmod权限设置方式

《Linux中chmod权限设置方式》本文介绍了Linux系统中文件和目录权限的设置方法,包括chmod、chown和chgrp命令的使用,以及权限模式和符号模式的详细说明,通过这些命令,用户可以灵活... 目录设置基本权限命令:chmod1、权限介绍2、chmod命令常见用法和示例3、文件权限详解4、ch

Linux内核之内核裁剪详解

《Linux内核之内核裁剪详解》Linux内核裁剪是通过移除不必要的功能和模块,调整配置参数来优化内核,以满足特定需求,裁剪的方法包括使用配置选项、模块化设计和优化配置参数,图形裁剪工具如makeme... 目录简介一、 裁剪的原因二、裁剪的方法三、图形裁剪工具四、操作说明五、make menuconfig

Linux使用nohup命令在后台运行脚本

《Linux使用nohup命令在后台运行脚本》在Linux或类Unix系统中,后台运行脚本是一项非常实用的技能,尤其适用于需要长时间运行的任务或服务,本文我们来看看如何使用nohup命令在后台... 目录nohup 命令简介基本用法输出重定向& 符号的作用后台进程的特点注意事项实际应用场景长时间运行的任务服

什么是cron? Linux系统下Cron定时任务使用指南

《什么是cron?Linux系统下Cron定时任务使用指南》在日常的Linux系统管理和维护中,定时执行任务是非常常见的需求,你可能需要每天执行备份任务、清理系统日志或运行特定的脚本,而不想每天... 在管理 linux 服务器的过程中,总有一些任务需要我们定期或重复执行。就比如备份任务,通常会选在服务器资

Linux限制ip访问的解决方案

《Linux限制ip访问的解决方案》为了修复安全扫描中发现的漏洞,我们需要对某些服务设置访问限制,具体来说,就是要确保只有指定的内部IP地址能够访问这些服务,所以本文给大家介绍了Linux限制ip访问... 目录背景:解决方案:使用Firewalld防火墙规则验证方法深度了解防火墙逻辑应用场景与扩展背景:

Linux下MySQL8.0.26安装教程

《Linux下MySQL8.0.26安装教程》文章详细介绍了如何在Linux系统上安装和配置MySQL,包括下载、解压、安装依赖、启动服务、获取默认密码、设置密码、支持远程登录以及创建表,感兴趣的朋友... 目录1.找到官网下载位置1.访问mysql存档2.下载社区版3.百度网盘中2.linux安装配置1.

Linux使用粘滞位 (t-bit)共享文件的方法教程

《Linux使用粘滞位(t-bit)共享文件的方法教程》在Linux系统中,共享文件是日常管理和协作中的常见任务,而粘滞位(StickyBit或t-bit)是实现共享目录安全性的重要工具之一,本文将... 目录文件共享的常见场景基础概念linux 文件权限粘滞位 (Sticky Bit)设置共享目录并配置粘

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip