Linux中使用无人值守安装脚本的一些注意事项及PXE环境搭建


前言

在企业中安装多台操作系统时面临的问题:
当安装 Linux 操作系统时,安装过程会需要回答很多关于设定的问题。这些问题必须手动选择,否则无法进行安装,当只安装 1 台 Linux 系统,手动选择设定工作量比较轻松。当安装多台 Linux,这些设定需要重复多次,这些重复动作是效率底下的操作
解决办法:
用文件来记录所有安装过程中问题的答案,并让所有需要安装的主机自动读取。以上解决方案中记录系统安装过程中所有问题答案的文件叫 kickstart 脚本

一、kickstart 自动安装脚本制作之前的准备工作

我们选择一台虚拟机,在其中制作kickstart脚本,实验之前我们需要保证:

1虚拟机火墙,selinux 关闭
2真机httpd 服务开启
3配置软件仓库能正常工作

需要注意的是,我们在虚拟机中操作时,如果也选择将镜像挂载到本地,然后搭建本地仓库,再下载所需要的资源时,这种方式费时费力,并且对系统的资源会有一个极大的兄消耗,因此我们选择在真机中搭建好网络共享环境,这样我们在虚拟机中就可以直接访问共享资源,极大的提高了效率。当然,这样共享的前提是虚拟机和真机必须在同一局域网内,即二者ip必须是同一网段的。

二、具体步骤

1、用模板自作 kickstart

在已经装好的系统中,/root/anaconda-ks.cfg 就是安装当前系统时回答的所有问题的答案生成的 kickstart,此文件为 kickstart 模板。

cp /root/anaconda-ks.cfg /var/www/html/westos.cfg
vim /var/www/html/westos.cfg
此文件中需要对下面部分进行修改:
#version=RHEL8
ignoredisk --only-use=sda    ##只是用我们系统中的第一快硬盘
# Partition clearing information
clearpart --all --initlabel --drives=sda   ##把 sda 硬盘的所有内容删掉
# Use graphical install
#graphical ##安装过程开启图形
text    ##安装过程不开图形(推荐)
repo --name="AppStream" --baseurl=http://xx.xx.xx.x/xx/xx  ##软件安装
资源
# Use netsource installation media
url --url="http://xx.xx.xx.x/xxx"   ##系统安装资源
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us' ##键盘布局为美式键盘
# System language
lang en_US.UTF-8 --addsupport=zh_CN.UTF-8 ##系统支持的语言
# Network information
network --bootproto=dhcp --device=ens160 --onboot=on --ipv6=auto --no-activate ##网卡设定
network --hostname=localhost.localdomain ##主机名设定
# Root password
rootpw --plaintext westos
authselect --enableshadow --passalgo=sha512 ##系统默认开启的加密认证方式
# X Window System configuration information
#xconfig --startxonboot ##安装完成后开机启动图形
skipx   ##安装完成后开机不启动图形(推荐)
# Run the Setup Agent on first boot
firstboot --disable ##首次启动初始化禁止
# System services
services --disabled="chronyd,firewalld" --enabled="sshd" ##在开机时开启或关闭的服务
# System timezone
timezone Asia/Shanghai --isUtc --nontp ##系统时区,启用utc计时方式,不其同ntp时间同步
#user --name=westos --
password=$6$W8HmY8FoDLmjcv65$Xo.SIxQ4rAWK19QBUvXP1et1us191K5w6GlIZvyEMaKx1FBK
6EFTiwHC0X5DiktBfJzRsCyxDlmVemkSWfHlx1 --iscrypted --gecos="westos"
# Disk partitioning information
part / --fstype="xfs" --ondisk=sda --grow --size=1 ##让/分区使用全部空闲磁盘空间
part /boot --fstype="xfs" --ondisk=sda --size=200 ##/boot 分区大小为 200M
part swap --fstype="swap" --ondisk=sda --size=500 ##swap 分区大小为 500M
%packages
@base ##安装软件组 base
httpd ##安装单个软件 httpd
%end
#%pre ##系统安装前自动执行的脚本
#%end
%post ##系统安装后自动执行的脚本(非必要)
cat >> /etc/yum.repos.d/westos.repo <<EOF
[AppStream]
name=AppStream
baseurl=http://172.25.254.20/westos_8/AppStream
gpgcheck=0
[BaseOS]
name=BaseOS
baseurl=http://172.25.254.20/westos_8/BaseOS
gpgcheck=0
EOF
%end
ksvalidator /var/www/html/westos.cfg    ##检测westos.cfg语法
chmod 644 /var/www/html/westos.cfg     #赋予该文件必要权限

2、搭建 dhcpd 服务器

目的:让被安装的主机可以获得 ip 来访问网络资源及 kickstart 文件
整体搭建步骤:下载dhcpd服务,修改配置文件,启动该服务

3、测试

方法一:在已有虚拟机的关闭模式下添加光盘,将光盘启动设置为第一启动项,应用,启动,之后在系统安装界面选择:

Install Red Hat Enterprise Linux 8.0.0    <---- <TAB>键
ks=http://172.25.254.20/westos.cfg       <----<ENTER>键
查看效果
关闭虚拟机,选择硬盘为第一启动项,启动,会看到进入非图形界面,试验成功!

方法二:新建虚拟机时选择网络方式创建,选择安装源及自己编写的cfg文件路径,安装,查看效果,进入非图形界面,试验成功!

三、PXE环境搭建

PXE介绍:预启动执行环境(Preboot eXecution Environment,PXE)也被称为预执行环境,提供了一种使用网络接口(Network Interface)启动计算机的机制。这种机制让计算机的启动可以不依赖本地数据存储设备(如硬盘)或本地已安装的操作系统。
步骤
在这里插入图片描述
注意:其中挂载镜像为非必要步骤,可以将真机中该部分的文件复制到虚拟机中,还有在虚拟机中要开启dhcp服务,具体操作在上篇文章中已讲过。
验证方法:在已经装好的虚拟机的关闭模式下选择网卡为第一启动项,启动虚拟机,能够正常进入到无图形模式,试验成功!

四、具体操作

kickstart 自动安装脚本编写过程:在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
验证:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
编写dhcp配置文件:
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PXE(Preboot Execution Environment)是一种远程引导技术,可以在没有本地存储设备的情况下,通过网络将操作系统安装到客户端计算机上。无人值守安装是指在安装过程不需要人工干预,所有的操作都可以自动完成。 要进行PXE无人值守安装Linux,首先需要搭建一个PXE远程安装服务器。这个服务器上需要安装一些必要的服务和软件包。具体步骤如下: 1. 安装PXE服务器需要的服务和软件包: - 安装vsftpd软件包,用来放置安装镜像,通过FTP访问镜像进行安装。 - 安装dhcp服务,用来给客户机分配IP地址。 - 安装syslinux软件包,提供pxe的引导程序。 - 安装tftp-server软件包,提供引导镜像文件的下载。 - 安装xinetd软件包,用来托管tftp服务。 - 安装system-config-kickstart软件包,用来实现无人值守安装。 2. 配置PXE服务器: - 配置vsftpd服务,设置安装镜像的存放路径。 - 配置dhcp服务,设置PXE客户端的IP地址分配范围和引导文件的位置。 - 配置tftp服务,设置引导文件的位置和相关权限。 3. 准备引导文件pxelinux.0: - 查询pxelinux.0文件是由哪个软件包安装的,可使用命令`yum provides */pxelinux.0`。 - 安装syslinux软件包,使用命令`yum -y install syslinux`。 - 查找pxe引导程序的位置,使用命令`rpm -ql syslinux | grep pxelinux`。 - 将pxelinux.0文件拷贝到tftp的根目录下,使用命令`cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/`。 4. 配置无人值守安装: - 使用system-config-kickstart工具创建一个Kickstart文件,该文件包含安装过程所有的配置选项和安装脚本。 - 将Kickstart文件放置到PXE服务器的指定位置,客户端可以通过网络访问该文件进行无人值守安装。 通过DHCP服务完成PXE客户机和服务器之间的连接,将FTP服务器地址发送到客户端。客户端向FTP服务器请求引导文件和系统安装文件,并通过引导文件加载到安装系统的安装向导界面。在无人值守安装过程安装程序将根据预先配置的Kickstart文件的参数自动完成安装过程。 请注意,以上步骤是一个简单的概述,具体的配置和操作可能会因为操作系统版本和网络环境的不同而有所差异。建议参考操作系统的官方文档或相关教程进行详细配置和操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值