Centos7.9 Kickstart自动应答,无人值守安装

news2024/12/26 6:34:19

  有时候安装一两台服务器是轻松的事,但是如果要安装2,3百台的时候那就不是很轻松了,这时候无人值守的操作系统安装就变得非常重要。通过网络自动安装是非常方便而且快捷的。

先关闭防火墙吧

systemctl stop firewalld
systemctl disable firewalld

1.下载安装ISO

  首先我们想要下载一个要安装的镜像iso,可以去阿里下载要安装的镜像ISO文件,我这里下载的是CentOS-7-x86_64-Minimal-2009.iso。
下载完成之后,上传到一台服务器上。然后把光盘挂载到目录。如果看到挂载目录下有光盘的内容,那就标识成功了。

mkdir -p /mnt/iso
mount /tmp/CentOS-7-x86_64-Minimal-2009.iso /mnt/iso
ll /mnt/iso

在这里插入图片描述

2.安装TFTP

yum install -y tftp-server

在这里插入图片描述
vi /etc/xinetd.d/tftp
修改配置,把disable改为no.

# default: off
# description: The tftp server serves files using the trivial file transfer \
#       protocol.  The tftp protocol is often used to boot diskless \
#       workstations, download configuration files to network-aware printers, \
#       and to start the installation process for some operating systems.
service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot
        disable                 = no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

启动ftpserver

systemctl start tftp
systemctl enable tftp
systemctl status tftp

在这里插入图片描述

3.拷贝数据文件到ftp目录

拷贝必要文件,建立pxe的默认配置目录

#拷贝镜像文件
cd /var/lib/tftpboot
cp /mnt/iso/isolinux/initrd.img ./
cp /mnt/iso/isolinux/vmlinuz ./


yum install -y syslinux
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

#建立pxe的默认配置目录
mkdir  pxelinux.cfg

加入pxe的默认配置
vi pxelinux.cfg/default

default auto
timeout 60 
label auto
   menu default
   kernel vmlinuz
   append initrd=initrd.img repo=http://192.168.124.165/centos7/ ks=http://192.168.124.165/ks.cfg quiet
label linux text
   kernel vmlinuz
   append text initrd=initrd.img method=http://192.168.124.165/centos7/
 
label linux rescue
   kernel vmlinuz
   append rescue initrd=initrd.img method=http://192.168.124.165/centos7/

timeout 默认超时60秒,default auto 默认启动菜单"auto" ,后面的label auto就是菜单,后面的配置就是内核加载,如何加载初始化镜像。在后面的http地址在下一步的时候,我们会建立。

4.安装配置nginx

yum -y install nginx

#增加centos镜像下载地址配置
vi /etc/nginx/conf.d/centosdownload.conf 

配置文件的内容如下,192.168.124.165这个ip是这台服务器的ip

    server {
        listen       80;
        listen       [::]:80;
        server_name  192.168.124.165;

        # Load configuration files for the default server block.
        #include /etc/nginx/default.d/*.conf;
        
        location / {
		autoindex on;
		root "/var/lib/tftpboot/";
	  }

   
    }

#启动nginx,如果出现80端口就代表启动成功
nginx

在这里插入图片描述
把ISO的挂载目录,放入nginx访问地址

ln -s /mnt/iso/ /var/lib/tftpboot/centos7

在这里插入图片描述
通过浏览器打开nginx的访问地址http://192.168.124.165
在这里插入图片描述

5.安装DHCP服务

yum install -y dhcp
#编辑dhcp配置
vi /etc/dhcp/dhcpd.conf

配置文件的配置如下:

subnet 192.168.124.0 netmask 255.255.255.0 {
  interface "ens3";
  range 192.168.124.10 192.168.124.200;
  option domain-name-servers 223.5.5.5;
  option routers 192.168.124.1;
  default-lease-time 600;
  max-lease-time 7200;
  next-server 192.168.124.165;
  filename "pxelinux.0";
}

subnet 指为哪个网段分配网络参数,
range设置为客户端分配的IP地址池,这个可以分配客户端分配从192.168.124.10到192.168.124.200之间的IP地址。
domain-name-servers设置为客户端分配的DNS服务器地址,
routers设置为客户端分配的网关地址。
对网络启动至关重要的参数是next-server和filename,从安装部署流程可以看出,客户端启动计算机通过DHCP获得IP地址后,还需要从TFTP下载启动文件,而next-server设置的即TFTP服务器的地址,filename设置的是在该TFTP文件服务器上共享的启动文件名称,客户端通过这两个参数连接TFTP服务器,并从中下载启动文件

6.配置Kickstart自动应答文件

这是cento7.9的自动应答文件,保存在 /var/lib/tftpboot/ks.cfg,内容如下,这里的root默认密码设置了123456

#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts,键盘布局
keyboard 'us'
# Root password root密码
rootpw --iscrypted $1$rtzAm//y$MScUNgC4bHyZidRwzKlkz/
# System language 系统语言
lang en_US 
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use text mode install 安装模式,text是文本模式,graphical是图形
#text
graphical
# SELinux configuration  selinux配置,这里是关闭
selinux --disabled
# Do not configure the X Window System  是否启动图形界面,这里是启动文本界面,因为是服务器安装
skipx


# Firewall configuration 防火墙是否打开,这里是关闭
firewall --disabled
# Network information  网络模式是dhcp
network  --bootproto=dhcp --device=ens3
# Reboot after installation
reboot
# System timezone  设置时区
timezone Asia/Shanghai
# Use network installation  这里就是镜像安装地址
url --url="http://192.168.124.165/centos7/"
# System bootloader configuration  启动启动模式,这里是mbr
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information  安装是否清理原来磁盘的所有分区
clearpart --all --initlabel
# Disk partitioning information  系统分区格式,/boot 512MB swap 8192M ,其他的全部给根分区
part /boot --fstype="xfs" --size=512
part swap --fstype="swap" --size=8192
part / --fstype="xfs" --grow --size=1

reboot
#这里是需要安装的软件包,core是必须的,net-tools是另外安装的软件
%packages
@^minimal
@core
net-tools
%end

以上的配置文件,也可以通过 system-config-kickstart生成,但是需要图形界面。这一块我们就不讲。

yum -y install system-config-kickstart
#安装后,可以在图形界面,直接启动system-config-kickstart

以上东西准备好后就可以直接用一个客户机来进行网络系统安装了
在这里插入图片描述

在这里插入图片描述
这样就会自动安装完成。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

安卓蓝牙日志的获取方法

有过蓝牙调试经历的同学们可能都知道,在安卓系统中,在手机的设置–>开发人员页面下有一个开启蓝牙HCI信息收集日志选项开关,如下图中标红处, 打开该开关,就可以收集本机发送和接收的蓝牙HCI包。蓝牙包的数据会保存在…

Java算法解析一:二分算法及其衍生出来的问题

这个算法的前提是,数组是升序排列的 算法描述: i和j是指针可以表示查找范围 m为中间值 当目标值targat比m大时,设置查找范围在m右边:i m-1 当目标值targat比m小时,设置查找范围在m左边:j m1 当targat的…

苹果手机垃圾清理:释放存储空间的终极指南

随着iPhone成为我们日常生活的重要组成部分,我们越来越多地依赖它来处理个人和工作相关的事务。然而,长时间的使用会让iPhone积累大量不必要的数据和文件,这些所谓的“手机垃圾”不仅占用了宝贵的存储空间,还可能影响设备的性能。…

【Vite】模块热替换 HMR

概述 Vite 提供了一套原生 ESM 的 HMR API。 具有 HMR 功能的框架可以利用该 API 提供即时、准确的更新,而无需重新加载页面或清除应用程序状态。当通过 create-vite 创建应用程序时,所选模板已经预先配置了相关的集成。 HMR API Vite 通过特殊的 imp…

C++初学(12)

前段时间去旅游了&#xff0c;回来继续写。 12、指针、数组和指针算术 对上一篇进行的补充 #include <iostream> int main() {using namespace std;double wages[3] { 10000.0,20000.0,30000.0 };short stacks[3] { 3,2,1 };double* pw wages;short* ps &stack…

实时监控Windows服务器:使用Prometheus和Grafana的终极方案

1. 下载并安装 Prometheus 下载 Prometheus&#xff1a; 访问 Prometheus 下载页面。下载适用于 Windows 的压缩包&#xff08;.zip 文件&#xff09;。prometheus-2.53.2.windows-amd64.zip 下载其中一个就行 安装 Prometheus&#xff1a; 解压下载的压缩包到你选择的目录&a…

欧拉远程桌面 安装tigervnc

注意&#xff1a;安装远程tigevnc前提必须已经安装桌面环境&#xff0c;以下为ukui桌面环境&#xff0c;dde稍有区别&#xff1b; 1、关闭selinux 注意&#xff1a;selinux为安全措施也可以加入对应规则 setenforce 0 sed -i s/^SELINUXenforcing.*/SELINUXdisabled/ /etc/sel…

基于大模型的AI论文简报生成系统

1、项目介绍 1.1 项目名称 AI 论文简报生成系统 1.2 项目简介 AI 论文简报生成系统是一款基于当前时间自动获取最新AI研究论文简报的桌面应用程序。通过集成各类大模型Kimi、deepSeek&#xff0c;OpenAI等模型API与多步数据处理脚本&#xff0c;该系统能够在用户指定的时间…

考勤系统选型难?9款工具深度对比助你决策

这篇文章介绍的工具有&#xff1a;Moka、天时考勤管理专家、劳勤、新开普、通达OA、OnTheClock、monday.com、Paycor、Beebole。 很多企业在选择考勤管理系统时都会面临一个难题&#xff1a;市场上的选项太多&#xff0c;功能繁杂&#xff0c;如何才能找到最适合自己业务需求的…

美团外卖新版 web mtgsig 1.2 分析

声明: 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、 敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业 用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01; 有相关问题请第一时间头像或私信联…

计算机毕业设计选题推荐-牧民画像系统-Java/Python项目实战

✨作者主页&#xff1a;IT研究室✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

SpringBoot(图书馆)自习室座位预约管理系统 - 附源码与配套论文

摘 要 在数字化转型的浪潮中&#xff0c;自习室座位预约业正积极采用先进的信息技术来优化客户体验和运营效率。本研究旨在开发一款基于Spring Boot后端框架的自习室座位预约客房预订管理系统&#xff0c;以满足现代自习室座位预约对高效、便捷、安全的预订管理需求。 座位预…

【Qt开发】QtCharts图表 在ui上添加QChartView控件并进行绘图配置

【Qt开发】QtCharts图表 在ui上添加QChartView控件并进行绘图配置 文章目录 控件安装和模块导入在ui上添加QChartView控件QChartView图表配置附录&#xff1a;C语言到C的入门知识点&#xff08;主要适用于C语言精通到Qt的C开发入门&#xff09;C语言与C的不同C中写C语言代码C语…

Simple RPC - 04 从零开始设计一个客户端(上)

文章目录 Pre设计Code1. 理解Stub“桩”的实现原理2. 动态生成桩的接口 StubFactory3. 如何来实现工厂方法创建桩动态生成“桩”类的过程步骤概述代码实现 技术点动态代理模式的应用动态代理的应用分析 依赖倒置和SPI Pre Simple RPC - 01 框架原理及总体架构初探 Simple RPC…

Postman文件上传接口测试

接口介绍 返回示例 测试步骤 1.添加一个新请求&#xff0c;修改请求名&#xff0c;填写URL&#xff0c;选择请求方式 2.将剩下的media参数放在请求body里&#xff0c;选择form-data&#xff0c;选择key右边的类型为file类型&#xff0c;就会出现选择文件的按钮Select Files&a…

继承 (上)【C++】

文章目录 继承的定义继承的语法继承权限和继承到子类后父类成员的访问限定符的变化继承到子类后父类成员的访问限定符的变化 子类继承到了父类的什么&#xff1f;继承中的作用域子类和父类之间的赋值转换子类对象可以直接赋值给父类对象&#xff0c;但是父类对象不能直接赋值给…

spring boot 接收第三方mq消息

文章目录 前言一、pom二、配置三、RabbitMQListener总结 前言 mq 用的很少&#xff0c;简单记录一下。 需求&#xff1a;数据提供方采用mq的方式推送数据&#xff0c;我方接收数据后&#xff0c;入库。 一、pom <dependency><groupId>org.springframework.boot&…

基于 Appium 的 App 爬取实战

除了运行 Appium 的基本条件外&#xff0c;还要一个日志输出库 安装&#xff1a; pip install loguru 思路分析 首先我们观察一下整个 app5 的交互流程&#xff0c;其首页分条显示了电影数据&#xff0c; 每个电影条目都包括封面&#xff0c;标题&#xff0c; 类别和评分 4…

Linux下Oracle 11g升级19c实录

1.组件信息 source /home/oracle/.bash_profile11g && sqlplus "/ as sysdba"<<EOF set line 200 col COMP_NAME for a40 select comp_name,VERSION,STATUS from dba_registry; exit; EOF COMP_NAME VERSION …

自动化之响应式Web设计:纯HTML和CSS的实现技巧

​ 大家好&#xff0c;我是程序员小羊&#xff01; 前言 响应式Web设计是一种使Web页面在各种设备和屏幕尺寸下都能良好显示的设计方法。随着移动设备的普及&#xff0c;响应式设计已经成为Web开发中的标准实践。本文将探讨如何使用纯HTML和CSS实现响应式Web设计&#xff0c;覆…