在rocklinux里面批量部署安装rocklinx9

部署三台Rockylinux9服务器

实验要求

1. 自动安装ubuntu server20以上版本

2. 自动部署三台Rockylinux9服务器,最小化安装,安装基础包,并设定国内源,设静态IP

实验步骤

安装软件

# yum源必须有epel源

# dnf install -y epel-release

#关闭防火墙和selinux

systemctl stop firewalld && systemctl disable firewalld

sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config

# reboot

三、部署Cobbler

1、安装软件

# dnf -y install cobbler dhcp-server

dnf -y install syslinux dnf-plugins-core pykickstart

创建三台虚拟机,设定MAC地址

将三台虚拟机的MAC地址记录下来:
00:50:56:3B:64:2F

00:50:56:23:4A:8E

00:50:56:39:61:7A

2、配置cobbler

(1)修改Cobbler主配置文件

# 生成密文密码

openssl passwd -1 "qweasd"

$1$hNAtwYE4$.l1apMwOWpCDpSmE.MBdG0

#设置root密码

vi /etc/cobbler/settings.yaml

default_password_crypted: "$1$hNAtwYE4$.l1apMwOWpCDpSmE.MBdG0"

$1$hNAtwYE4$.l1apMwOWpCDpSmE.MBdG0

# cobbler接管dhcp

manage_dhcp: true

manage_dhcp_v4: true

#cobbler服务器地址

server: 192.168.8.100 --指定自己的ip地址

#tftp地址

next_server_v4: 192.168.100.128 --指定自己的ip地址

#cobbler接管tftp

manage_tftpd: true

#当bios首选启动项是pxe时,此项设置为true,可避免重启反复安装系统,否则为false

pxe_just_once: true

  1. 修改dhcp模版文件

添加

    host server01 {

       hardware ethernet 00:50:56:3B:64:2F;  

       fixed-address 192.168.8.110;         

     }

     host server02 {

       hardware ethernet 00:50:56:23:4A:8E;  

       fixed-address 192.168.8.120;         

     }

     host server03 {

       hardware ethernet 00:50:56:39:61:7A;  

       fixed-address 192.168.8.130;         

     }

# vi /etc/cobbler/dhcp.template

……

subnet 192.168.8.10 netmask 255.255.255.0 { #-网段和子网掩码

     option routers             192.168.8.2; #-网关

     option domain-name-servers  8.8.8.8; #dns

     option subnet-mask         255.255.255.0;

     range dynamic-bootp        192.168.8.100 192.168.8.254; #--起始范围

     host server01 {

       hardware ethernet 00:50:56:3B:64:2F;   #-复制自己生成的mac地址

       fixed-address 192.168.8.110;         

     }

     host server02 {

       hardware ethernet 00:50:56:23:4A:8E;  

       fixed-address 192.168.8.120;         

     }

     host server03 {

       hardware ethernet 00:50:56:39:61:7A;  

       fixed-address 192.168.8.130;         

     }

     default-lease-time         21600;

     max-lease-time             43200;

     next-server                $next_server_v4;

……

(3)启动cobbler,同步配置

# systemctl enable --now cobblerd

# cobbler sync

(4)启动dhcp、tftp、http服务

# systemctl enable --now tftp httpd dhcpd

#生成引导加载程序 cobbler mkloaders ,此命令适用cobblerV3.3.1及之后的版本

# cobbler mkloaders

# 查看

# ls /var/lib/cobbler/loaders/

grub         libcom32.c32  linux.c32  menu.c32

ldlinux.c32  libutil.c32   memdisk    pxelinux.0

3、导入系统镜像资源

# 挂载光盘镜像

# mount /dev/cdrom /mnt/ #虚拟机挂载

# 导入系统镜像资源,并查看

cobbler profile add --name rocky-9-x86_64 --distro=rocky-9-x86_64 --autoinstall=rocky9.ks

# cobbler distro list

rocky-9-x86_64

# cobbler profile list

rocky-9-x86_64

注:导入的镜像资源存放在 /var/www/cobbler/distro_mirror/目录中。

#重启cobbler,同步配置

# systemctl restart cobblerd

# cobbler sync

#查看生成的启动菜单

# cat /var/lib/tftpboot/pxelinux.cfg/default

定义应答文件

# vi /var/lib/cobbler/templates/rocky9.ks

# version=Rocky9

ignoredisk --only-use=nvme0n1

# Partition clearing information

clearpart --all --initlabel

# Use graphical install

text

# Use CDROM installation media

# url --url=http://192.168.8.10/cblr/links/rocky9-x86_64/

url --url=$tree

reboot

# Keyboard layouts

keyboard --vckeymap=cn --xlayouts='cn'

# System language

lang en_US.UTF-8

selinux --disabled

firewall --disabled

# Network information

network  --bootproto=dhcp --device=ens33 --ipv6=auto --activate

# Root password

rootpw --iscrypted $1$s14oAn0D$evyEyWiCjQGRaDrI8UeP90

# Run the Setup Agent on first boot

firstboot --enable

# Do not configure the X Window System

skipx

# System services

services --disabled="chronyd"

# System timezone

timezone Asia/Shanghai --isUtc --nontp

# Disk partitioning information

zerombr

part /boot --fstype="ext4" --ondisk=nvme0n1 --size=1024

part /swap --fstype="swap" --ondisk=nvme0n1 --size=2048

part / --fstype="xfs" --ondisk=nvme0n1 --grow --size=1

%packages

@base

@^minimal-environment

%end

%addon com_redhat_kdump --enable --reserve-mb='auto'

sed -e 's|^mirrorlist=|#mirrorlist=|g' \

    -e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://mirrors.aliyun.com/rockylinux|g' \

    -i.bak \

    /etc/yum.repos.d/Rocky-*.repo

%end

%post

#!/bin/sh

#设置允许root用户ssh登录

echo "PermitRootLogin yes" >>/etc/ssh/sshd_config

sysemctl restart sshd

%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

#更新启动菜单

# cobbler profile remove --name rocky-9-x86_64

# cobbler profile add --name rocky-9-x86_64 --distro=rocky-9-x86_64 --autoinstall=rocky9.ks

重启cobbler,同步配置

# systemctl restart cobblerd

# cobbler sync

# cobbler profile list

rocky-9-x86_64

测试

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

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

相关文章

Oxidized收集H3C交换机网络配置报错,not matching configured prompt (?-mix:^(<CD>)$)

背景:问题如上标题,H3C所有交换机配置的model都是comware 解决方案: 1、找到compare.rb [rootoxidized model]# pwd /usr/local/lib/ruby/gems/3.1.0/gems/oxidized-0.29.1/lib/oxidized/model [rootoxidized model]# ll comware.rb -rw-r--…

mac本地安装运行Redis-单机

记录一下我以前用的连接服务器的跨平台SSH客户端。 因为还要准备毕设...... 服务器又过期了,只能把redis安装下载到本地了。 目录 1.github下载Redis 2.安装homebrew 3.更新GCC 4.自行安装Redis 5.通过 Homebrew 安装 Redis 安装地址:https://git…

C++学习之格斗小游戏综合案例

C格斗游戏效果视频 1.案例简介 #include "broadSword.h" //构造函数 BroadSword::BroadSword() { FileManager fm; map<string, map<string, string>> mWeapon; fm.loadCSVData("Weapons.csv", mWeapon); //武器id string id …

《用Python+PyGame开发双人生存游戏!源码解析+完整开发思路分享》

导语​ "你是否想过用Python开发一款可玩性高的双人合作游戏&#xff1f;本文将分享如何从零开始实现一款类《吸血鬼幸存者》的生存射击游戏&#xff01;包含完整源码解析、角色系统设计、敌人AI逻辑等核心技术点&#xff0c;文末提供完整代码包下载&#xff01;" 哈…

【理想解法学习笔记】

目录 理想解法原理简介算法步骤属性值规范化方法代码示例 理想解法 原理简介 TOPSIS(Technique for Order Preference by Simi larity to IdealSolution)法是一种逼近理想解的排序方法。其基本的处理思路是&#xff1a;首先建立初始化决策矩阵&#xff0c;而后基于规范化后的初…

Linux基础开发工具—vim

目录 1、vim的概念 2、vim的常见模式 2.1 演示切换vim模式 3、vim命令模式常用操作 3.1 移动光标 3.2 删除文字 3.3 复制 3.4 替换 4、vim底行模式常用命令 4.1 查找字符 5、vim的配置文件 1、vim的概念 Vim全称是Vi IMproved&#xff0c;即说明它是Vi编辑器的增强…

Skyvern AI 实现 浏览器爬虫+自动化工具

一、前言 本文Skyvern是一款功能强大的模拟浏览器自动化操作爬虫软件。它通过模拟人类在浏览器中的操作&#xff0c;实现对目标网站的自动化访问、数据抓取和处理。Skyvern支持多种编程语言&#xff0c;用户可根据需求编写脚本&#xff0c;实现高效的数据采集。同时&#xff0c…

Spring Boot + MyBatis + MySQL:快速搭建CRUD应用

一、引言 1. 项目背景与目标 在现代Web开发中&#xff0c;CRUD&#xff08;创建、读取、更新、删除&#xff09;操作是几乎所有应用程序的核心功能。本项目旨在通过Spring Boot、MyBatis和MySQL技术栈&#xff0c;快速搭建一个高效、简洁的CRUD应用。我们将从零开始&#xff…

【Academy】OAuth 2.0 身份验证漏洞 ------ OAuth 2.0 authentication vulnerabilities

OAuth 2.0 身份验证漏洞 ------ OAuth 2.0 authentication vulnerabilities 1. 什么是 OAuth&#xff1f;2. OAuth 2.0 是如何工作的&#xff1f;3. OAuth 授权类型3.1 OAuth 范围3.2 授权代码授权类型3.3 隐式授权类型 4. OAuth 身份验证4.1 识别 OAuth 身份验证4.2 侦察OAuth…

C#常用的循环语句

在C#中&#xff0c;循环是一种控制结构&#xff0c;用于重复执行一组语句直到满足特定条件。C#提供了几种循环结构&#xff0c;包括for循环、while循环、do-while循环和foreach循环。每种循环都有其特定的用途和场景。下面我将逐一介绍这些循环的用法。 一、C#循环类型 1. fo…

C语言(23)

字符串函数 11.strstr函数 1.1函数介绍&#xff1a; 头文件&#xff1a;string.h char *strstr ( const char * str1,const char *str2); 作用&#xff1a;在一个字符串&#xff08;str1&#xff09;中寻找另外一个字符串&#xff08;str2&#xff09;是否出现过 如果找到…

Vue3实战学习(Vue3的基础语法学习与使用(超详细))(3)

目录 &#xff08;1&#xff09;Vue3工程环境准备、项目基础脚手架搭建详细教程。(博客链接) &#xff08;2&#xff09;Vue3的基础语法学习与使用。 &#xff08;1&#xff09;"{{}}"绑定数据。 <1>ref()函数定义变量——绑定数据。 <2>reactive({...})…

vtkDepthSortPolyData 根据相机视图方向对多边形数据进行排序

1. 作用 在 3D 渲染中&#xff0c;透明对象的渲染顺序非常重要。如果透明对象的渲染顺序不正确&#xff0c;可能会导致错误的视觉效果&#xff08;例如&#xff0c;远处的透明对象遮挡了近处的透明对象&#xff09;。vtkDepthSortPolyData 通过对多边形数据进行深度排序&#…

【2025力扣打卡系列】0-1背包 完全背包

坚持按题型打卡&刷&梳理力扣算法题系列&#xff0c;语言为python3&#xff0c;Day5 0-1背包【目标和】 有n个物品&#xff0c;第i个物品的体积为w[i], 价值为v[i]。每个物品至多选一个&#xff0c;求体积和不超过capacity时的最大价值和常见变形 至多装capacity&#x…

MyBatis-Plus 分页查询接口返回值问题剖析

在使用 MyBatis-Plus 进行分页查询时,很多开发者会遇到一个常见的问题:当分页查询接口返回值定义为 Page<T> 时,执行查询会抛出异常;而将返回值修改为 IPage<T> 时,分页查询却能正常工作。本文将从 MyBatis-Plus 的分页机制入手,详细分析这一问题的根源,并提…

《人月神话》:软件工程的成本寓言与生存法则

1975年&#xff0c;Fred Brooks在《人月神话》中写下那句振聋发聩的断言——“向进度落后的项目增加人力&#xff0c;只会让进度更加落后”——时&#xff0c;他或许未曾料到&#xff0c;这一观点会在半个世纪后的人工智能与云原生时代&#xff0c;依然如达摩克利斯之剑般悬在每…

三维建模与视频融合(3D-Video Integration)技术初探。

三维建模与视频融合&#xff08;3D-Video Integration&#xff09;是一种将虚拟三维模型无缝嵌入实拍视频场景的技术&#xff0c;广泛应用于影视特效、增强现实&#xff08;AR&#xff09;、游戏开发、广告制作 、视频监控 等领域。 一、技术核心流程 三维建模与动画 使用工具…

SpringMVC-全局异常处理

文章目录 1. 全局异常处理2. 项目异常处理方案2.1 异常分类2.2 异常解决方案2.3 异常解决方案具体实现 1. 全局异常处理 问题&#xff1a;当我们在SpingMVC代码中没有对异常进行处理时&#xff0c;三层架构的默认处理异常方案是将异常抛给上级调用者。也就是说Mapper层报错会将…

2025 cv2.imwrite存储带有中文路径

一、前言 cv使用的更多一些&#xff0c;不过cv读取和写入带有中文路径的图片会报错有写出乱码。 以下代码是从视频中获取第2帧保存在中文文件夹下的实例&#xff1a; cap cv2.VideoCapture("***.mp4")cap.set(cv2.CAP_PROP_POS_FRAMES, 2)ret, framecap.read()cv2…

在 CentOS 上,常用几种方法来确保 Python 脚本在断开终端后继续运行

在 CentOS 上&#xff0c;你可以使用以下几种方法来确保 Python 脚本在断开终端后继续运行&#xff1a; 1. 使用 nohup 命令 nohup 命令可以让进程在终端关闭后继续运行。 nohup python main.py > output.log 2>&1 &nohup&#xff1a;忽略挂断信号&#xff0c…