Linux中的无人职守安装脚本kickstart

news2024/12/28 4:15:06

一、linux中的无人职守安装脚本kickstart

作用:自动化装系统。就是创建虚拟机,建立完成以后,不需要再进入配置root等,直接就可以自动安装,快速装机。

1.1 提前准备

  1. 准备一台红帽linux7系统

  2. linux7 下载图形化界面

    [root@localhost ~]# yum group install “Server with GUI” -y

    [root@localhost ~]# init 5

  3. linux7若是有图形化界面,但是关了

    [root@localhost ~]# init 5

  4. 在vmware在虚拟网络适配器中,把linux7的仅主机模式的dhcp功能关闭

  5. ssh连接开启图形化界面:ssh -XL root ip地址

查看linux7的按机设置
在这里插入图片描述

1.2 kickstart装机过程

安装kickstart

​ [root@localhost ~]# yum install system-config-kickstart

在图形化界面打开kickstart

​ [root@localhost ~]# system-config-kickstart

开启后相关配置如下

yum下载httpd

​ [root@localhost ~]# yum install httpd -y

​ [root@localhost ~]# systemctl enable --now httpd

​ [root@localhost ~]# ln -s /rhel7/ /var/www/html/

​ [root@localhost ~]# cd /var/www/html
​ [root@localhost html]# ls
​ rhel7

然后再配置该位置,要保证172.25.254.200/rhel7有资源,可以在浏览器里输入该网址试一下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

点击add
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

选择第三个,fill all…,如果选错,需要在/root/ks.cfg 文件中修改,修改完毕后,在/var/www/html/ks.cfg中一并修改,最后使用[root@localhost ~]# systemctl restart dhcpd重新加载http服务
在这里插入图片描述

点击add network device
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

安装之后,自动进行的任务。

file->save->
在这里插入图片描述

点击save

​ [root@localhost ~]# vim ks.cfg

# Disk partitioning information
part / --fstype="xfs" --grow --size=1
part swap --fstype="swap" --size=512
part /boot --fstype="xfs" --size=1024

%packages
@base
httpd
%end

要是找不到ks.cfg文件,寻找ks.cfg的命令

​ [root@localhost ~]# find / -name ks.cfg

编写ks.cfg后,可以检查一下语法是否有问题,用以下命令检测语法问题

​ [root@localhost ~]# ksvalidator ks.cfg

@^g(G)raphical-server-environment是图形化界面,暂时不用
在这里插入图片描述

共享出去,给别人使用

​ [root@localhost ~]# cp /root/ks.cfg /var/www/html

检查共享资源

​ 在linux7的浏览器中搜,172.25.254.200/ks.cfg

1.3 配置dhcp服务器

安装dhcp服务器为其他服务器提供分配ip的功能

​ [root@localhost ~]# yum install dhcp -y

查看主配置文件

[root@localhost ~]# rpm -qc dhcp
/etc/dhcp/dhcpd.conf
/etc/dhcp/dhcpd6.conf
/etc/openldap/schema/dhcp.schema
/etc/sysconfig/dhcpd
/var/lib/dhcpd/dhcpd.leases
/var/lib/dhcpd/dhcpd6.leases

[root@localhost ~]# cat /etc/dhcp/dhcpd.conf

#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
#   see dhcpd.conf(5) man page
#

复制

[root@localhost ~]# cp -f /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.con
	cp: overwrite ‘/etc/dhcp/dhcpd.con’? 

会报错,使用转义符/,从而正确使用cp命令

​ [root@localhost ~]# \cp -f /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf

编辑配置文件

​ vim /etc/dhcp/dhcpd.conf

​ 注:原dhcp的配置文件中37行以后都不要,27,28行注释掉,第8行修改为114.114.114.114

​ 注:vim中命令行模式使用:set nu,方便查找,显示行数

​ 注:必须;号结尾

  1 # dhcpd.conf
  2 #
  3 # Sample configuration file for ISC dhcpd
  4 #
  5 
  6 # option definitions common to all supported networks...
  7 option domain-name "example.org";  #公司域名
    #对外分发的dns地址
  8 option domain-name-servers 114.114.114.114;
  9 
 10 default-lease-time 600;
 11 max-lease-time 7200;
 12 
 13 # Use this to enble / disable dynamic dns updates globally.
 14 #ddns-update-style none;
 15 
 16 # If this DHCP server is the official DHCP server for the local
 17 # network, the authoritative directive should be uncommented.
 18 #authoritative;
 19 
 20 # Use this to send dhcp log messages to a different log file (you also
 21 # have to hack syslog.conf to complete the redirection).
 22 log-facility local7;
 23 
 24 # No service will be given on this subnet, but declaring it helps the 
 25 # DHCP server to understand the network topology.
 26 
 27 #subnet 10.152.187.0 netmask 255.255.255.0 {
 28 #}
 29 
 30 # This is a very basic subnet declaration.
 31 #       网络位                子网掩码
 32 subnet 172.25.254.0 netmask 255.255.255.0 {
    #            地址池
 33   range 172.25.254.30 172.25.254.40;
    #                  网关
 34   option routers 172.25.254.2;
 35 }


启动dhcpd

[root@localhost ~]# systemctl enable --now dhcpd
Created symlink from /etc/systemd/system/multi-user.target.wants/dhcpd.service to /usr/lib/systemd/system/dhcpd.service.

查看dhcp的地址分配情况

​ [root@localhost ~]# cat /var/lib/dhcpd/dhcpd.leases

1.4 新建linux7虚拟机,用来检测kickstart的使用

  1. VMware新建虚拟机

  2. 选择稍后安装操作系统

  3. 默认

  4. 改名:ceshi-k

  5. 处理器数量:1,每个处理器的内核数量:2

  6. 内存:2048

  7. 选择NAT

  8. 默认

  9. 默认

  10. 默认

  11. 最大磁盘大小 100,多个文件

  12. 默认

  13. 默认

  14. 完成

  15. 编辑虚拟机设置,CD选择linux7.9光盘,显示器取消3D图形,选择拉伸模式,选择自由拉伸

  16. 确定

  17. 开启虚拟机

    前提:需要在配置好linux7的dhcp服务,配置步骤在1.3.

在这里插入图片描述

选择第一个,install red hat enterprise linux 7.9 按tab,然后输入ks=http://172.25.254.200/ks.cfg

注意:若是当前缺失dhcp服务,没有IP地址,无法上网访问172.25.254.100/ks.cfg地址,就会启动失败

二、快速部署多台服务器

需要重看这方面视频

Pxe:比如机房中有200台主机,一台P1有系统,有DHCP。其他机从网卡启动,从P1获取到ip地址,和文件地址。其他机根据文件地址,从P1处源源不断的下载安装,直到安装完成

​ pxelinux.0文件;指引下一步读取什么文件

注:nat模式的dhcp服务要取消

注:被测试的主机不可以配置CD镜像,最好是刚创建的新的虚拟机,进去后选否。然后配置如下图14步骤所示的选择。

思路:通过网络把这些文件共享出去
在这里插入图片描述

  1. [root@localhost www]# yum search pxelinux

    Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-
                  : manager
    
    This system is not registered with an entitlement server. You can use subscription-manager to register.
    
    ============================== Matched: pxelinux ===============================
    # 复制这个文件名
    syslinux.x86_64 : Simple kernel loader which boots from a FAT filesystem
    
    syslinux-extlinux.x86_64 : The EXTLINUX bootloader, for booting the local
                             : system.
    syslinux-tftpboot.noarch : SYSLINUX modules in /var/lib/tftpboot, available for
                             : network booting
    
    
  2. [root@localhost www]# yum install syslinux.x86_64

  3. 这个信息文件相当于目录,指引主机根据目录读取文件

    1. 查看命令

    在这里插入图片描述

  4. 共享pxelinux.0数据文件的网络服务

    [root@localhost www]# yum search tftp

    Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-
                  : manager
    
    This system is not registered with an entitlement server. You can use subscription-manager to register.
    
    ============================== N/S matched: tftp ===============================
    syslinux-tftpboot.noarch : SYSLINUX modules in /var/lib/tftpboot, available for
                             : network booting
    tftp.x86_64 : The client for the Trivial File Transfer Protocol (TFTP)
    
    #复制这个文件名
    tftp-server.x86_64 : The server for the Trivial File Transfer Protocol (TFTP)
    
      Name and summary matches only, use "search all" for everything.
    
    

    [root@localhost www]# yum install tftp-server.x86_64 -y

  5. 查看tftp启动文件

    [root@localhost www]# rpm -ql tftp-server

    /etc/xinetd.d/tftp
    
    #这个是启动文件
    /usr/lib/systemd/system/tftp.service
    
    /usr/lib/systemd/system/tftp.socket
    /usr/sbin/in.tftpd
    /usr/share/doc/tftp-server-5.2
    /usr/share/doc/tftp-server-5.2/CHANGES
    /usr/share/doc/tftp-server-5.2/README
    /usr/share/doc/tftp-server-5.2/README.security
    /usr/share/man/man8/in.tftpd.8.gz
    /usr/share/man/man8/tftpd.8.gz
    /var/lib/tftpboot
    
    

6 启动tftp

​ [root@localhost ~]# systemctl enable --now tftp

7 查询数据目录,东西都在最后一行。

[root@localhost ~]# rpm -ql tftp-server

/etc/xinetd.d/tftp
/usr/lib/systemd/system/tftp.service
/usr/lib/systemd/system/tftp.socket
/usr/sbin/in.tftpd
/usr/share/doc/tftp-server-5.2
/usr/share/doc/tftp-server-5.2/CHANGES
/usr/share/doc/tftp-server-5.2/README
/usr/share/doc/tftp-server-5.2/README.security
/usr/share/man/man8/in.tftpd.8.gz
/usr/share/man/man8/tftpd.8.gz
/var/lib/tftpboot

8 复制,共享

[root@localhost ~]# cp /rhel7/isolinux/* /var/lib/tftpboot/

[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

[root@localhost ~]# cd /var/lib/tftpboot/

9 创建数据目录

[root@localhost tftpboot]# mkdir pxelinux.cfg

10 创建数据文件,完成

[root@localhost tftpboot]# cp isolinux.cfg pxelinux.cfg/default

11 配置dhcp

[root@localhost tftpboot]# vim /etc/dhcp/dhcpd.conf

subnet 172.25.254.0 netmask 255.255.255.0 {
  range 172.25.254.30 172.25.254.40;
  option routers 172.25.254.2;
  next-server 172.25.254.200;   #本地ip地址
  filename "pxelinux.0";
}

filename这一行相当于找到下面这个文件
在这里插入图片描述

12

[root@localhost tftpboot]# vim /var/lib/tftpboot/pxelinux.cfg/default

timeout 30


label linux
  menu label ^Install Red Hat Enterprise Linux 7.9
  menu default
  kernel vmlinuz
  # ip地址为开了http协议的主机的ip地址。
  append initrd=initrd.img repo=http://172.25.254.200/rhel7 ks=http://172.25.254.200/ks.cfg  quiet

label check
  menu label Test this ^media & install Red Hat Enterprise Linux 7.9

  kernel vmlinuz
  append initrd=initrd.img inst.stage2=hd:LABEL=RHEL-7.9\x20Server.x86_64 rd.live.check quiet
  
  :wq!强制保存

写之前先在浏览器查询一下网址是否能看到

13 安装测试
在这里插入图片描述

使用左右方向键,选择boot,+:shift +。-:-改变顺序,顺序如图所示
在这里插入图片描述

进入这里,选择第一项,保存退出

在这里插入图片描述

14 安装完毕后,调整为硬盘启动

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

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

相关文章

Docker 常规安装简介

Docker常规安装简介 欢迎关注我的B站:https://space.bilibili.com/379384819 1. 安装mysql 1.1 docker hub上面查找mysql镜像 网址: https://hub.docker.com/_/mysql 1.2 从docker hub上(阿里云加速器)拉取mysql镜像到本地标…

【秋招笔试】2024-08-06-农商银行-三语言题解(CPP/Python/Java)

🍭 大家好这里是 春秋招笔试突围,一起备战大厂笔试 💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 编程一对一辅导 ✨ 本系列打算持续跟新 秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 和 手里的小花花🌸 ✨ 笔试合集传送们 -> 🧷春秋招笔试合集 🍒 小伙伴们心心…

CLM安装及运行、移植、编译、结果处理、可视化;CESM移植、安装及快速运行

NCAR陆面模式CLM (Community Land Model)是地球系统模式CESM (Community Earth System Model)中的陆面过程模式分量,是在结合了BATS、LSM和IAP94等众多陆面模式的优点后,加入水文过程而开发出的综合性陆面模式,是目前国际上发展最为完善且得到…

100个好用的智能体 | MBTI性格测试专家

今天要介绍的智能体是MBTI性格测试专家,这个是目前Coze里排名第一个的智能体。 默认一共会出8道题(这个可以进行修改) 回答完题目会总结出你的MBTI类型: 如何制作这个智能体? 非常简单,这个智能体只需要使…

论多源数据集成及应用写作框架软考高级论文系统架构设计师论文

论文真题 在如今信息爆炸的时代,企业、组织和个人面临着大量的数据。这些数据来自不同的渠道和资源,包括传感器、社交媒体、销售记录等,它们各自具有不同的数据格式、分布和存储方式。因此如何收集、整理和清洗数据,以建立一个一…

RocketMQ5.0课笔记-主从设计,持久化

rocketmq的副本分类 两副本三副本(两组副本写成功,可认为消息持久化成功)四副本 三副本:三副本的方式可以异步复制,远程容灾 rocketmq的复制方式 同步复制异步复制 云原生存储持久化可以保存时间:几个月…

【实现100个unity特效之19】使用ShaderGraph实现Unity 2D水

最终效果 文章目录 最终效果前言开始新增无光照影响的shaderGraph半透明效果,并且有一些颜色的变化其他办法参考完结 前言 先粗略记录一下,后面再补充 开始 我们新建一个render texture 设置尺寸 然后我要创建另外一个摄像机,将他的画面…

【原创】springboot+mysql法律咨询网设计与实现

个人主页:程序猿小小杨 个人简介:从事开发多年,Java、Php、Python、前端开发均有涉猎 博客内容:Java项目实战、项目演示、技术分享 文末有作者名片,希望和大家一起共同进步,你只管努力,剩下的交…

【Redis】Redis 数据类型

文章目录 前言1 通用知识1.1 基本全局命令1.2 数据结构和内部编码 2 String2.1 类型介绍2.2 相关命令2.2.1 SET/GET 系列命令2.2.2 INCR/DECR 计数系列命令2.2.3 其他命令2.2.4 命令小结 2.3 内部编码2.4 应用场景2.4.1 缓存功能2.4.2 计数功能2.4.3 共享会话2.4.4 验证码功能 …

4G工业路由器赋能智能停车场远程监控管理

随着城市化进程的加快和汽车保有量的不断增加,城市停车问题艰巨。传统停车场管理模式存在诸多弊端,如停车位信息不透明、寻找停车位耗时长、停车管理效率低下等。为了有效解决这些问题,提升城市停车管理水平,结合物联网技术4G工业…

计算机毕业设计Hadoop+Spark旅游景点推荐 旅游推荐系统 旅游可视化 景区游客满意度预测与优化 Apriori算法 景区客流量预测 旅游大数据

**开题报告** **题目:** Hadoop旅游推荐系统的设计与实现 **一、选题背景及意义** 随着互联网技术的发展和普及,越来越多的人选择利用网络平台进行旅游信息的获取和旅行计划的制定。然而,由于信息的多样性和用户个性化需求的增加&#xff…

HVV小科普:蓝方是什么?

正文共:12345 字 19 图,预估阅读时间:9 分钟 网络实战攻防演习,俗称“护网”、“HW”等,是指模拟真实网络环境中的攻击和防御行为,旨在提高网络安全防护能力和应急响应能力。这种演习通常由安全团队、军事组…

获取客户端真实IP

出于安全考虑,近期在处理一个记录用户真实IP的需求。本来以为很简单,后来发现没有本来以为的简单。这里主要备忘下,如果服务器处于端口回流(hairpin NAT),keepalived,nginx之后,如何取得客户端的…

springboot企业门户资讯网站-计算机毕业设计源码04252

基于springboot技术的企业门户资讯网站 摘 要 在当今数字化时代,企业门户资讯网站已成为企业展示形象、传递信息、吸引客户的重要渠道。随着技术的不断发展,传统的网站开发方式已经无法满足现代企业的需求。因此,基于Spring Boot技术的企业门…

阿里云播放器 web端 问题解决总结

1:ios设备长按视频,会出现系统的放大镜效果: 可以只监听touchstart事件即可 var playerContainer document.getElementById(this.playerId); playerContainer.addEventListener(touchstart, preventZoom, { passive: false }); playerConta…

【数据结构与算法 | 力扣+二叉搜索树篇】力扣938

1. 力扣938:二叉搜索树的范围和 1.1 题目: 给定二叉搜索树的根结点 root,返回值位于范围 [low, high] 之间的所有结点的值的和。 示例 1: 输入:root [10,5,15,3,7,null,18], low 7, high 15 输出:32示…

MySQL事务隔离级别、InnoDB使用MVCC+各种锁实现了RC和RR事务隔离级别、具体案例

事务隔离级别 脏读:一个事务读取到另一个未提交事务的更改。不可重复读:一个事务在两次读取同一数据时,发现数据被另一个已提交事务修改了。幻读:一个事务在读取过程中,因其他事务的插入而导致返回的行数不一致&#…

【LVS】nat模式+dr模式+防火墙标签解决轮询错误

集群:同一个业务系统,部署在多台服务器上,集群中,每一台服务器实现的功能没有差别,数据 和代码都是一样的 分布式:一个业务被拆成多个子业务,或者本身就是不同的业务,部署在多台服…

前端使用 Konva 实现可视化设计器(20)- 性能优化、UI 美化

这一章主要分享一下使用 Konva 遇到的性能优化问题,并且介绍一下 UI 美化的思路。 至少有 2 位小伙伴积极反馈,发现本示例有明显的性能问题,一是内存溢出问题,二是卡顿的问题,在这里感谢大家的提醒。 请大家动动小手&a…

【Bug记录】C2662:不能将this指针从const转换为非const

项目场景: 今天在模拟list时候,写到下面代码,出现了语法报错。 这个地方我自己的_iterator是私有的,所以提供了GetIterator接口去获取_iterator,但是不知道为什么就报出了下面的错误。 语法报错: 问题…