使用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…...
云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地
借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...
css3笔记 (1) 自用
outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size:0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格ÿ…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...
2025季度云服务器排行榜
在全球云服务器市场,各厂商的排名和地位并非一成不变,而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势,对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析: 一、全球“三巨头”…...
回溯算法学习
一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...
日常一水C
多态 言简意赅:就是一个对象面对同一事件时做出的不同反应 而之前的继承中说过,当子类和父类的函数名相同时,会隐藏父类的同名函数转而调用子类的同名函数,如果要调用父类的同名函数,那么就需要对父类进行引用&#…...
