使用vmware制作云平台redhat7.9镜像模板
一、概述
1.1 redhat7.9 定制镜像上传到云平台。 这个制作镜像得方式适用于多种iso 镜像。
将iso 镜像通过vmware 创建出一台虚机,对虚机做一些基础配置。在虚机上安装kvm 虚拟化得工具, 将iso 镜像在导入虚机种通过kvm创建一下虚机, 虚机创建出来后会进入安装得界面无法自己引导安装, 所以我们通过图形化界面virt-manager 或者console 方法进入引导得界面,将虚机生产出来,此时得虚机是允许在qcow2 里,然后我对这个镜像做定制得配置或者按照。
二、开始制作镜像
2.1 通过vmware 创建新的虚机


2.2 创建自定义虚拟机



2.3 指定系统磁盘容量,大小根据自己实际分配

2.4 自定义硬件,移除其他不必要的硬件,根据自己实际移除。



2.5 指定启动光盘

2.6 启动虚拟机

2.7 根据自身选择语言
本次测试选择英文

2.8 根据需求选择安装信息

本次安装是最小安装模式
2.9 进入分区





2.10 设置密码

2.11 创建完成后重启虚机,登录虚机

**到此镜像就准备差不多了,如果需要下载安装报自己做一个网络源安装所需要得软件包 **
三、定制配置信息
3.1 指定网卡名为eth0(根据需求来做,需要就做,不需要跳过就好)
修改网卡配置文件
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-ens32 /home/ifcfg-ens32
[root@localhost network-scripts]# cp ifcfg-ens33 /home/ifcfg-ens33[root@localhost network-scripts]# mv ifcfg-ens32 ifcfg-eth0
[root@localhost network-scripts]# sed -i 's/ens32/eth0/g' ifcfg-eth0
[root@localhost network-scripts]# cat ifcfg-eth0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth0
UUID=8221b333-543f-4818-b4a1-b3ac55933901
DEVICE=eth0
ONBOOT=yes[root@localhost network-scripts]# mv ifcfg-ens33 ifcfg-eth1
[root@localhost network-scripts]# sed -i 's/ens33/eth1/g' ifcfg-eth1
[root@localhost network-scripts]# cat ifcfg-eth1
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth1
UUID=59748da2-300f-41c4-9711-1052e2525cd8
DEVICE=eth1
ONBOOT=yes
3.2 修改/etc/sysconfig/grub,给GRUB_CMDLINE_LINUX参数中增加net.ifnames=0 biosdevname=0
[root@localhost ~]# cat /etc/sysconfig/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet net.ifnames=0 biosdevname=0"
GRUB_DISABLE_RECOVERY="true"
3.3 添加udev网卡规则
[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope hostvalid_lft forever preferred_lft forever
2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 00:0c:29:bd:47:6b brd ff:ff:ff:ff:ff:ff
3: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 00:0c:29:bd:47:75 brd ff:ff:ff:ff:ff:ffinet 192.168.111.136/24 brd 192.168.111.255 scope global noprefixroute dynamic ens33valid_lft 1651sec preferred_lft 1651secinet6 fe80::478d:2a32:d1fc:48dd/64 scope link noprefixroutevalid_lft forever preferred_lft forever[root@localhost ~]# vim /etc/udev/rules.d/70-persistent-ipoib.rulesACTION=="add", SUBSYSTEM=="net", DRIVERS=="?*", ATTR{type}=="32", ATTR{address}=="自己本地得mac地址", NAME="eth0"ACTION=="add", SUBSYSTEM=="net", DRIVERS=="?*", ATTR{type}=="33", ATTR{address}=="自己本地得mac地址", NAME="eth1"
3.4 生成系统引导文件
[root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-693.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-693.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-5ac3927ec296497d93cca4c4ef73aedc
Found initrd image: /boot/initramfs-0-rescue-5ac3927ec296497d93cca4c4ef73aedc.img
done
重启虚机,可以观察到网卡已经被更正为eth0、eth1

3.5 创建网络yum源
[root@localhost ~]# cat /etc/yum.repos.d/redhat-aliyun.repo
[aliyun]
name=aliyun
baseurl= https://mirrors.aliyun.com/centos/7/os/x86_64/
enabled=1
gpgcheck=0[root@localhost yum.repos.d]# yum repolist
Loaded plugins: product-id, search-disabled-repos, subscription-managerThis system is not registered with an entitlement server. You can use subscription-manager to register.aliyun | 3.6 kB 00:00:00
(1/2): aliyun/group_gz | 153 kB 00:00:01
(2/2): aliyun/primary_db | 6.1 MB 00:00:42
repo id repo name status
aliyun aliyun 10,072
repolist: 10,072
3.5 软件包安装,禁用selinux
禁用selinux
[root@localhost yum.repos.d]# cat /etc/selinux/config | grep SELINUX
# SELINUX= can take one of these three values:
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
SELINUXTYPE=targeted
卸载防火墙与NetworkManager
[root@localhost yum.repos.d]# yum remove -y NetworkManager-* firewalld-* python-firewall
Loaded plugins: product-id, search-disabled-repos, subscription-managerThis system is not registered with an entitlement server. You can use subscription-manager to register.Resolving Dependencies
--> Running transaction check
---> Package NetworkManager.x86_64 1:1.18.8-1.el7 will be erased
---> Package NetworkManager-config-server.noarch 1:1.18.8-1.el7 will be erased
---> Package NetworkManager-libnm.x86_64 1:1.18.8-1.el7 will be erased
---> Package NetworkManager-team.x86_64 1:1.18.8-1.el7 will be erased
---> Package NetworkManager-tui.x86_64 1:1.18.8-1.el7 will be erased
---> Package firewalld.noarch 0:0.6.3-11.el7 will be erased
---> Package firewalld-filesystem.noarch 0:0.6.3-11.el7 will be erased
---> Package python-firewall.noarch 0:0.6.3-11.el7 will be erased
--> Finished Dependency ResolutionDependencies Resolved=============================================================================================================================================================================================================================================Package Arch Version Repository Size
=============================================================================================================================================================================================================================================
Removing:NetworkManager x86_64 1:1.18.8-1.el7 @anaconda/7.9 5.1 MNetworkManager-config-server noarch 1:1.18.8-1.el7 @anaconda/7.9 463NetworkManager-libnm x86_64 1:1.18.8-1.el7 @anaconda/7.9 8.5 MNetworkManager-team x86_64 1:1.18.8-1.el7 @anaconda/7.9 40 kNetworkManager-tui x86_64 1:1.18.8-1.el7 @anaconda/7.9 648 kfirewalld noarch 0.6.3-11.el7 @anaconda/7.9 1.9 Mfirewalld-filesystem noarch 0.6.3-11.el7 @anaconda/7.9 239python-firewall noarch 0.6.3-11.el7 @anaconda/7.9 1.9 MTransaction Summary
=============================================================================================================================================================================================================================================
Remove 8 PackagesInstalled size: 18 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transactionErasing : firewalld-0.6.3-11.el7.noarch 1/8Erasing : 1:NetworkManager-tui-1.18.8-1.el7.x86_64 2/8Erasing : firewalld-filesystem-0.6.3-11.el7.noarch 3/8Erasing : python-firewall-0.6.3-11.el7.noarch 4/8Erasing : 1:NetworkManager-config-server-1.18.8-1.el7.noarch 5/8Erasing : 1:NetworkManager-team-1.18.8-1.el7.x86_64 6/8Erasing : 1:NetworkManager-1.18.8-1.el7.x86_64 7/8Erasing : 1:NetworkManager-libnm-1.18.8-1.el7.x86_64 8/8Verifying : python-firewall-0.6.3-11.el7.noarch 1/8Verifying : firewalld-filesystem-0.6.3-11.el7.noarch 2/8Verifying : 1:NetworkManager-tui-1.18.8-1.el7.x86_64 3/8Verifying : firewalld-0.6.3-11.el7.noarch 4/8Verifying : 1:NetworkManager-1.18.8-1.el7.x86_64 5/8Verifying : 1:NetworkManager-libnm-1.18.8-1.el7.x86_64 6/8Verifying : 1:NetworkManager-config-server-1.18.8-1.el7.noarch 7/8Verifying : 1:NetworkManager-team-1.18.8-1.el7.x86_64 8/8Removed:NetworkManager.x86_64 1:1.18.8-1.el7 NetworkManager-config-server.noarch 1:1.18.8-1.el7 NetworkManager-libnm.x86_64 1:1.18.8-1.el7 NetworkManager-team.x86_64 1:1.18.8-1.el7 NetworkManager-tui.x86_64 1:1.18.8-1.el7firewalld.noarch 0:0.6.3-11.el7 firewalld-filesystem.noarch 0:0.6.3-11.el7 python-firewall.noarch 0:0.6.3-11.el7Complete!
[root@localhost yum.repos.d]#
安装系统常用命令
[root@localhost yum.repos.d]# yum install -y net-tools vim-enhanced bridge-utils psmisc java
四、打包镜像
4.1 安装生产镜像软件包
[root@localhost ~]# yum install qemu-img -y
4.2 将系统盘生成为qcow2镜像
[root@localhost yum.repos.d]# qemu-img convert -f raw -O qcow2 /dev/sda /home/redhat7.9.qcow2
[root@localhost yum.repos.d]# ll /home/
total 2098628
-rw-r--r--. 1 root root 1982857216 Feb 21 02:22 redhat7.9.qcow2
[root@localhost yum.repos.d]# qemu-img info /home/redhat7.9.qcow2
image: /home/redhat7.9.qcow2
file format: qcow2
virtual size: 60G (64424509440 bytes)
disk size: 2.0G
cluster_size: 65536
Format specific information:compat: 1.1lazy refcounts: false
将/home/redhat7.9.qcow2 拉取下来上传云平台即可,若是需要安装其他得软件自行安装,安装完在将系统盘生成为qcow2镜像即可。
相关文章:
使用vmware制作云平台redhat7.9镜像模板
一、概述 1.1 redhat7.9 定制镜像上传到云平台。 这个制作镜像得方式适用于多种iso 镜像。 将iso 镜像通过vmware 创建出一台虚机,对虚机做一些基础配置。在虚机上安装kvm 虚拟化得工具, 将iso 镜像在导入虚机种通过kvm创建一下虚机, 虚机创…...
OpenCV基础(28)使用OpenCV进行摄像机标定Python和C++
摄像头是机器人、监控、太空探索、社交媒体、工业自动化甚至娱乐业等多个领域不可或缺的一部分。 对于许多应用,必须了解相机的参数才能有效地将其用作视觉传感器。 在这篇文章中,您将了解相机校准所涉及的步骤及其意义。 我们还共享 C 和 Python 代码以…...
APB总线详解及手撕代码
本文的参考资料为官方文档AMBA™3 APB Protocol specification文档下载地址: https://pan.baidu.com/s/1Vsj4RdyCLan6jE-quAsEuw?pwdw5bi 提取码:w5bi APB端口介绍介绍总线具体握手规则之前,需要先熟悉一下APB总线端口,APB的端口…...
【Linux/Windows】源文件乱码问题解决方法总结
🐚作者简介:花神庙码农(专注于Linux、WLAN、TCP/IP、Python等技术方向)🐳博客主页:花神庙码农 ,地址:https://blog.csdn.net/qxhgd🌐系列专栏:Linux技术&…...
Python 四大主流 Web 编程框架
目前Python的网络编程框架已经多达几十个,逐个学习它们显然不现实。但这些框架在系统架构和运行环境中有很多共通之处,本文带领读者学习基于Python网络框架开发的常用知识,及目前的4种主流Python网络框架:Django、Tornado、Flask、Twisted。 …...
学UI设计,可以向哪些方向发展?该怎么学?
1、什么是UI设计?UI设计,全称 User Interface,翻译成中文意思叫做用户界面设计。2、UI设计的类型UI设计按用户和界面来分可分成四种UI设计。分别是移动端UI设计,PC端UI设计,游戏UI设计,以及其它UI设计。第一…...
【C++】初识CC++内存管理
前言 我们都知道C&C是非常注重性能的语言,因此对于C&C的内存管理是每一个C/C学习者必须重点掌握的内容,本章我们并不是深入讲解C&C内存管理,而是介绍C&C内存管理的基础知识,为我们以后深入理解C&C内存管理做铺…...
Nacos快速使用指南
简单例子:springboot快速集成nacos官方github文档命名空间是绝对隔离的。group之间可以通过配置实现跨 group访问配置中心Nacos config官方文档应用级别的默认配置文件名(dataId)dataId 的完整格式如下:${prefix}-${spring.profil…...
复旦发布国内首个类ChatGPT模型MOSS,和《流浪地球》有关?
昨晚,复旦大学自然语言处理实验室邱锡鹏教授团队发布国内首个类ChatGPT模型MOSS,现已发布至公开平台https://moss.fastnlp.top/ ,邀公众参与内测。 MOSS和ChatGPT一样,开发的过程也包括自然语言模型的基座训练、理解人类意图的对…...
国家级高新区企业主要经济指标(2012-2021年)
数据来源:国家统计局 时间跨度:2012-2021 区域范围:全国(及各分类统计指标) 指标说明:手工提取最新的中国统计年鉴数据中各个excel指标表,形成各个指标文件的多年度数据,便于多年…...
SpringBoot2核心技术-核心功能【05、Web开发】
目录 1、SpringMVC自动配置概览 2、简单功能分析 2.1、静态资源访问 1、静态资源目录 2、静态资源访问前缀 2.2、欢迎页支持 2.3、自定义 Favicon 2.4、静态资源配置原理 3、请求参数处理 0、请求映射 1、rest使用与原理 2、请求映射原理 1、普通参数与基本注解 …...
2021-03 青少年软件编程(C语言)等级考试试卷(六级)解析
2021-03 青少年软件编程(C语言)等级考试试卷(六级)解析T1. 生日相同 2.0 在一个有180人的大班级中,存在两个人生日相同的概率非常大,现给出每个学生的名字,出生月日。试找出所有生日相同的学生。 时间限制:1000 内存限制:65536 输入 第一行为整数n,表示有n个学生,n …...
数据库的多租户隔离
数据库的多租户隔离有三种方案 1、独立数据库 一个租户一个数据库,这种方案的用户数据隔离级别最高,安全性最好,成本也最高 优点:为不同的租户提供独立的数据库,有助于简化数据模型的扩展设计,满足不同租…...
网络输入分辨率是否越大越好
目标检测比如 yolov5,训练输入图像大小默认是 640*640,这个是不是越大训练的效果越好 ? 这个肯定不是的。而且,如果仅调整输入图像的分辨率,不改变网络结构的话,检测准确率反而会下降的。首先,…...
离线采集普遍解决方案
简介 使用Datax每日全量相关全量表,使用Maxwell增量采集到Kafka然后到Flume然后到Hdfs。 DataX全量 生成模板Json gen_import_config.py # codingutf-8 import json import getopt import os import sys import MySQLdb#MySQL相关配置,需根据实际情…...
SAP ABAP 数据类型P类型详解
ABAP中比较难以理解的是P类型的使用,P类型是一种压缩类型,主要用于存储小数,定义时要指定字节数和小数点位数,定义语法如下: DATA: name(n) TYPE P decimals m,n代表字节数,最大为16,m是小…...
应用沙盒seccomp的使用
应用沙盒原理参考https://zhuanlan.zhihu.com/p/513688516 1、什么是Seccomp? seccomp 是 secure computing 的缩写,其是 Linux kernel 从2.6.23版本引入的一种简洁的 sandboxing 机制。 系统调用: 在Linux中,将程序的运行空间分为内核与用户空间(内核态和用户态),在逻辑…...
C++项目——高并发内存池(2)——thread_cache的基础功能实现
1.并发内存池concurrent memory pool 组成部分 thread cache、central cache、page cache thread cache:线程缓存是每个线程独有的,用于小于64k的内存的分配,线程从这里申请内存不需要加锁,每个线程独享一个cache,这…...
【C进阶】数据的存储
文章目录:star:1. 数据类型:star:2. 整形在内存中的存储2.1 存储规则2.2 存储模式2.3 验证大小端模式:star:3. 数据范围3.1 整形溢出3.2 数据范围的求解3.3 练习:star:4. 浮点型在内存中的存储4.1 浮点数的存储规则4.2 练习5. :star::star:总结(思维导图)⭐️1. 数据类型 在了…...
【已解决】异常断电文件损坏clickhouse启动不了:filesystem error Structure needs cleaning
问题 办公室有一台二手服务器,作为平时开发测试使用。由于机器没放在机房,会偶发断电异常断电后,文件系统是有出问题的可能的,尤其是一些不断在读写合并的文件春节后,发现clickhouse启动不了,使用systemct…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...
MVC 数据库
MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...
【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
SpringCloudGateway 自定义局部过滤器
场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...
零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)
本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...
Vite中定义@软链接
在webpack中可以直接通过符号表示src路径,但是vite中默认不可以。 如何实现: vite中提供了resolve.alias:通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...
WPF八大法则:告别模态窗口卡顿
⚙️ 核心问题:阻塞式模态窗口的缺陷 原始代码中ShowDialog()会阻塞UI线程,导致后续逻辑无法执行: var result modalWindow.ShowDialog(); // 线程阻塞 ProcessResult(result); // 必须等待窗口关闭根本问题:…...
stm32进入Infinite_Loop原因(因为有系统中断函数未自定义实现)
这是系统中断服务程序的默认处理汇编函数,如果我们没有定义实现某个中断函数,那么当stm32产生了该中断时,就会默认跑这里来了,所以我们打开了什么中断,一定要记得实现对应的系统中断函数,否则会进来一直循环…...
