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脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

Linux链表操作方式

《Linux链表操作方式》:本文主要介绍Linux链表操作方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、链表基础概念与内核链表优势二、内核链表结构与宏解析三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势六、典型应用场景七、调试技巧与

详解Linux中常见环境变量的特点与设置

《详解Linux中常见环境变量的特点与设置》环境变量是操作系统和用户设置的一些动态键值对,为运行的程序提供配置信息,理解环境变量对于系统管理、软件开发都很重要,下面小编就为大家详细介绍一下吧... 目录前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变

Linux系统中的firewall-offline-cmd详解(收藏版)

《Linux系统中的firewall-offline-cmd详解(收藏版)》firewall-offline-cmd是firewalld的一个命令行工具,专门设计用于在没有运行firewalld服务的... 目录主要用途基本语法选项1. 状态管理2. 区域管理3. 服务管理4. 端口管理5. ICMP 阻断

Linux实现线程同步的多种方式汇总

《Linux实现线程同步的多种方式汇总》本文详细介绍了Linux下线程同步的多种方法,包括互斥锁、自旋锁、信号量以及它们的使用示例,通过这些同步机制,可以解决线程安全问题,防止资源竞争导致的错误,示例... 目录什么是线程同步?一、互斥锁(单人洗手间规则)适用场景:特点:二、条件变量(咖啡厅取餐系统)工作流

Linux中修改Apache HTTP Server(httpd)默认端口的完整指南

《Linux中修改ApacheHTTPServer(httpd)默认端口的完整指南》ApacheHTTPServer(简称httpd)是Linux系统中最常用的Web服务器之一,本文将详细介绍如何... 目录一、修改 httpd 默认端口的步骤1. 查找 httpd 配置文件路径2. 编辑配置文件3. 保存

Linux使用scp进行远程目录文件复制的详细步骤和示例

《Linux使用scp进行远程目录文件复制的详细步骤和示例》在Linux系统中,scp(安全复制协议)是一个使用SSH(安全外壳协议)进行文件和目录安全传输的命令,它允许在远程主机之间复制文件和目录,... 目录1. 什么是scp?2. 语法3. 示例示例 1: 复制本地目录到远程主机示例 2: 复制远程主

Linux基础命令@grep、wc、管道符的使用详解

《Linux基础命令@grep、wc、管道符的使用详解》:本文主要介绍Linux基础命令@grep、wc、管道符的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录grep概念语法作用演示一演示二演示三,带选项 -nwc概念语法作用wc,不带选项-c,统计字节数-

IIS 7.0 及更高版本中的 FTP 状态代码

《IIS7.0及更高版本中的FTP状态代码》本文介绍IIS7.0中的FTP状态代码,方便大家在使用iis中发现ftp的问题... 简介尝试使用 FTP 访问运行 Internet Information Services (IIS) 7.0 或更高版本的服务器上的内容时,IIS 将返回指示响应状态的数字代

Linux CPU飙升排查五步法解读

《LinuxCPU飙升排查五步法解读》:本文主要介绍LinuxCPU飙升排查五步法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录排查思路-五步法1. top命令定位应用进程pid2.php top-Hp[pid]定位应用进程对应的线程tid3. printf"%