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

相关文章

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

linux下多个硬盘划分到同一挂载点问题

《linux下多个硬盘划分到同一挂载点问题》在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成... 目录linux下多个硬盘划分到同一挂载点需要明确的几个概念硬盘插上默认的是非lvm总结Linux下多

linux进程D状态的解决思路分享

《linux进程D状态的解决思路分享》在Linux系统中,进程在内核模式下等待I/O完成时会进入不间断睡眠状态(D状态),这种状态下,进程无法通过普通方式被杀死,本文通过实验模拟了这种状态,并分析了如... 目录1. 问题描述2. 问题分析3. 实验模拟3.1 使用losetup创建一个卷作为pv的磁盘3.

Linux环境变量&&进程地址空间详解

《Linux环境变量&&进程地址空间详解》本文介绍了Linux环境变量、命令行参数、进程地址空间以及Linux内核进程调度队列的相关知识,环境变量是系统运行环境的参数,命令行参数用于传递给程序的参数,... 目录一、初步认识环境变量1.1常见的环境变量1.2环境变量的基本概念二、命令行参数2.1通过命令编程

Linux之进程状态&&进程优先级详解

《Linux之进程状态&&进程优先级详解》文章介绍了操作系统中进程的状态,包括运行状态、阻塞状态和挂起状态,并详细解释了Linux下进程的具体状态及其管理,此外,文章还讨论了进程的优先级、查看和修改进... 目录一、操作系统的进程状态1.1运行状态1.2阻塞状态1.3挂起二、linux下具体的状态三、进程的

Linux编译器--gcc/g++使用方式

《Linux编译器--gcc/g++使用方式》文章主要介绍了C/C++程序的编译过程,包括预编译、编译、汇编和链接四个阶段,并详细解释了每个阶段的作用和具体操作,同时,还介绍了调试和发布版本的概念... 目录一、预编译指令1.1预处理功能1.2指令1.3问题扩展二、编译(生成汇编)三、汇编(生成二进制机器语

Rsnapshot怎么用? 基于Rsync的强大Linux备份工具使用指南

《Rsnapshot怎么用?基于Rsync的强大Linux备份工具使用指南》Rsnapshot不仅可以备份本地文件,还能通过SSH备份远程文件,接下来详细介绍如何安装、配置和使用Rsnaps... Rsnapshot 是一款开源的文件系统快照工具。它结合了 Rsync 和 SSH 的能力,可以帮助你在 li

Linux部署jar包过程

《Linux部署jar包过程》文章介绍了在Linux系统上部署Java(jar)包时需要注意的几个关键点,包括统一JDK版本、添加打包插件、修改数据库密码以及正确执行jar包的方法... 目录linux部署jar包1.统一jdk版本2.打包插件依赖3.修改密码4.执行jar包总结Linux部署jar包部署

mysqld_multi在Linux服务器上运行多个MySQL实例

《mysqld_multi在Linux服务器上运行多个MySQL实例》在Linux系统上使用mysqld_multi来启动和管理多个MySQL实例是一种常见的做法,这种方式允许你在同一台机器上运行多个... 目录1. 安装mysql2. 配置文件示例配置文件3. 创建数据目录4. 启动和管理实例启动所有实例