eve-ng 自定义linux镜像

2023-05-16

文章目录

  • 1. 创建目录
  • 2. 上传镜像并改名
  • 3. 创建虚拟磁盘qcow2
  • 4. 登录eve网页
  • 5. 查找lab UUID和虚拟机编号
  • 6. 将系统提交成模板
  • 7. 压缩镜像(可选)

1. 创建目录

root@eve-ng:/opt/unetlab/addons/qemu# mkdir linux-rocky-8

2. 上传镜像并改名

root@eve-ng:/opt/unetlab/addons/qemu/linux-rocky-8# ll
total 2213072
drwxr-xr-x  2 root root       4096 Aug  5 10:54 ./
drwxr-xr-x 47 root root       4096 Aug  5 09:14 ../
-rw-r--r--  1 root root 2265972736 Aug  5 10:57 Rocky-8.6-x86_64-minimal.iso
root@eve-ng:/opt/unetlab/addons/qemu/linux-rocky-8# mv Rocky-8.6-x86_64-minimal.iso cdrom.iso
root@eve-ng:/opt/unetlab/addons/qemu/linux-rocky-8# ll
total 2213072
drwxr-xr-x  2 root root       4096 Aug  5 10:57 ./
drwxr-xr-x 47 root root       4096 Aug  5 09:14 ../
-rw-r--r--  1 root root 2265972736 Aug  5 10:57 cdrom.iso

3. 创建虚拟磁盘qcow2

qcow2文件大小决定了虚拟机最大的磁盘使用量,根据实际使用来占用磁盘空间

root@eve-ng:/opt/unetlab/addons/qemu/linux-rocky-8# qemu-img create -f qcow2 virtioa.qcow2 30G
Formatting 'virtioa.qcow2', fmt=qcow2 size=32212254720 cluster_size=65536 lazy_refcounts=off refcount_bits=16
root@eve-ng:/opt/unetlab/addons/qemu/linux-rocky-8# ll
total 2213072
drwxr-xr-x  2 root root       4096 Aug  5 10:57 ./
drwxr-xr-x 47 root root       4096 Aug  5 09:14 ../
-rw-r--r--  1 root root 2265972736 Aug  5 10:57 cdrom.iso
-rw-r--r--  1 root root     197088 Aug  5 10:54 virtioa.qcow2

4. 登录eve网页

  • 新建node,并选择linux-Rocky-8,建议新建lab只建要自定义的镜像node,方便后续查询编号。
  • 开机进行系统安装。
  • 安装完成,重启之前,删除cdrom.ios
root@eve-ng:/opt/unetlab/addons/qemu/linux-rocky-8# rm cdrom.iso

5. 查找lab UUID和虚拟机编号

POD ID:在首页上方第二个manaement的user management中查看pod
lab UUID获取:点击左侧的LAB DETAILS,ID: 0bb92614-1544-4090-b631-b453fe512320
虚拟机编号:右键点击linux主机node后,主机名()里面内容就是虚拟机编号,例如Linux(1)

6. 将系统提交成模板

根据获取到的UUID和虚拟机编号进入运行中的实验目录找到镜像,目录:
/opt/unetlab/tmp/POD ID/UUID/虚拟机编号

root@eve-ng:/opt/unetlab/addons/qemu/linux-rocky-8# cd /opt/unetlab/tmp/0/0bb92614-1544-4090-b631-b453fe512320/1
root@eve-ng:/opt/unetlab/tmp/0/0bb92614-1544-4090-b631-b453fe512320/1# ll
total 2525984
drwxrwsr-x  5 root unl        4096 Aug  5 11:00 ./
drwxrwsr-x  3 root unl        4096 Aug  5 11:00 ../
drwxr-sr-x  3 root root       4096 Jul 12 12:33 dev/
drwxr-xr-x  5 root root       4096 Jun 15 16:04 jail/
lrwxrwxrwx  1 root root          8 May  3 07:46 lib -> jail/lib/
lrwxrwxrwx  1 root root         10 May  3 07:46 lib64 -> jail/lib64/
drwxr-sr-x 14 root root       4096 Jun 15 16:09 opt/
-rw-rw-r--  1 root unl           0 Aug  5 11:00 .prepared
lrwxrwxrwx  1 root root          8 May  3 07:46 usr -> jail/usr/
-rw-r--r--  1 root unl  2586640384 Aug  5 11:25 virtioa.qcow2
-rw-rw-r--  1 root unl         112 Aug  5 11:25 wrapper.txt
root@eve-ng:/opt/unetlab/tmp/0/0bb92614-1544-4090-b631-b453fe512320/1# qemu-img commit virtioa.qcow2
Image committed.

7. 压缩镜像(可选)

root@eve-ng:/opt/unetlab/addons/qemu/linux-rocky-8# eve-sparsify  --compress virtioa.qcow2 compressedvirtioa.qcow2
[   0.1] Create overlay file in /tmp to protect source disk
[   0.2] Examine source disk
◓ 25% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒═══════════════════════════════════════════════════════════════════════════════════⟧ --:--
 100% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒⟧ 00:00
[  77.4] Fill free space in /dev/sda1 with zero
[  78.1] Clearing Linux swap on /dev/sda2
[  79.6] Fill free space in /dev/sda3 with zero
 100% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒⟧ 00:00
[ 524.7] Copy to destination and make sparse

[1273.0] Sparsify operation completed with no errors.
virt-sparsify: Before deleting the old disk, carefully check that the
target disk boots and works correctly.
root@eve-ng:/opt/unetlab/addons/qemu/linux-rocky-8#
root@eve-ng:/opt/unetlab/addons/qemu/linux-rocky-8# ll -h
total 3.4G
drwxr-xr-x  2 root root 4.0K Aug  5 11:40 ./
drwxr-xr-x 47 root root 4.0K Aug  5 09:14 ../
-rw-r--r--  1 root root 964M Aug  5 11:52 compressedvirtioa.qcow2
-rw-r--r--  1 root root 2.5G Aug  5 11:29 virtioa.qcow2
root@eve-ng:/opt/unetlab/addons/qemu/linux-rocky-8# mv compressedvirtioa.qcow2 virtioa.qcow2

参考:https://www.eve-ng.net/index.php/documentation/howtos/howto-create-own-linux-host-image/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

eve-ng 自定义linux镜像 的相关文章

  • 让 MongoDB 在 Linux 上监听远程连接

    我已在 Windows 本地计算机上 上成功安装 MongoDB 作为服务 但现在我想将 MongoDb 移动到单独的服务器 所以我将 tarball 解压到网络上的虚拟服务器 运行 Linux 当我从本地计算机使用 PuTTY 连接到服务
  • 归档文件系统或格式

    我正在寻找一种文件类型来存储已退役系统的档案 目前 我们主要使用 tar gz 但从 200GB tar gz 存档中查找并提取几个文件是很麻烦的 因为 tar gz 不支持任何类型的随机访问读取规定 在你明白之前 使用 FUSE 安装 t
  • arm-linux-gnueabi 编译器选项

    我在用 ARM Linux gnueabi gcc在 Linux 中为 ARM 处理器编译 C 程序 但是 我不确定它编译的默认 ARM 模式是什么 例如 对于 C 代码 test c unsigned int main return 0x
  • 信号处理程序有单独的堆栈吗?

    信号处理程序是否有单独的堆栈 就像每个线程都有单独的堆栈一样 这是在 Linux C 环境中 来自 Linux 手册页signal 7 http kernel org doc man pages online pages man7 sign
  • 如何制作和应用SVN补丁?

    我想制作一个SVN类型的补丁文件httpd conf这样我就可以轻松地将其应用到其他主机上 If I do cd root diff Naur etc httpd conf httpd conf original etc httpd con
  • .NET Core 中的跨平台文件名处理

    如何处理文件名System IO以跨平台方式运行类以使其在 Windows 和 Linux 上运行 例如 我编写的代码在 Windows 上完美运行 但它不会在 Ubuntu Linux 上创建文件 var tempFilename Dat
  • QFileDialog::getSaveFileName 和默认的 selectedFilter

    我有 getSaveFileName 和一些过滤器 我希望当用户打开 保存 对话框时选择其中之一 Qt 文档说明如下 可以通过将 selectedFilter 设置为所需的值来选择默认过滤器 我尝试以下变体 QString selFilte
  • xsel -o 对于 OS X 等效项

    是否有一个等效的解决方案可以在 OS X 中抓取选定的文本 就像适用于 Linux 的 xsel o 一样 只需要当前的选择 这样我就可以在 shell 脚本中使用文本 干杯 埃里克 你也许可以安装xsel在 MacOS 上 更新 根据 A
  • 拆分字符串以仅获取前 5 个字符

    我想去那个地点 var log src ap kernelmodule 10 001 100 但看起来我的代码必须处理 ap kernelmodule 10 002 100 ap kernelmodule 10 003 101 等 我想使用
  • Bash 解析和 shell 扩展

    我对 bash 解析输入和执行扩展的方式感到困惑 对于输入来说 hello world 作为 bash 中的参数传递给显示其输入内容的脚本 我不太确定 Bash 如何解析它 Example var hello world displaywh
  • 应用程序无缘无故地被杀死。怀疑 BSS 高。如何调试呢?

    我已经在CentOs6 6中成功运行我的应用程序 最近 硬件 主板和内存 更新了 我的应用程序现在毫无理由地被杀死 root localhost PktBlaster PktBlaster Killed 文件和 ldd 输出 root lo
  • 如何禁用 GNOME 桌面屏幕锁定? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何阻止 GNOME 桌面在几分钟空闲时间后锁定屏幕 我已经尝试过官方手册了在红帽 https access redhat com doc
  • nginx 上的多个网站和可用网站

    通过 nginx 的基本安装 您的sites available文件夹只有一个文件 default 怎么样sites available文件夹的工作原理以及如何使用它来托管多个 单独的 网站 只是为了添加另一种方法 您可以为您托管的每个虚拟
  • gdb查找行号的内存地址

    假设我已将 gdb 附加到一个进程 并且在其内存布局中有一个文件和行号 我想要其内存地址 如何获取文件x中第n行的内存地址 这是在 Linux x86 上 gdb info line test c 56 Line 56 of test c
  • 无法从 jenkins 作为后台进程运行 nohup 命令

    更新 根据下面的讨论 我编辑了我的答案以获得更准确的描述 我正在尝试从詹金斯运行 nohup 命令 完整的命令是 nohup java jar home jar server process 0 35 jar prod gt gt var
  • Linux中的定时器类

    我需要一个计时器来以相对较低的分辨率执行回调 在 Linux 中实现此类 C 计时器类的最佳方法是什么 有我可以使用的库吗 如果您在框架 Glib Qt Wx 内编写 那么您已经拥有一个具有定时回调功能的事件循环 我认为情况并非如此 如果您
  • Linux 中的动态环境变量?

    Linux 中是否可以通过某种方式拥有动态环境变量 我有一个网络服务器 网站遵循以下布局 site qa production 我想要一个环境变量 例如 APPLICATION ENV 当我在 qa 目录中时设置为 qa 当我在生产目录中时
  • 如何在数组中存储包含双引号的命令参数?

    我有一个 Bash 脚本 它生成 存储和修改数组中的值 这些值稍后用作命令的参数 对于 MCVE 我想到了任意命令bash c echo 0 0 echo 1 1 这解释了我的问题 我将用两个参数调用我的命令 option1 without
  • nslookup 报告“无法解析 '(null)': 名称无法解析”,尽管它成功解析了 DNS 名称

    我在 ubuntu 上 并且正在运行 docker 默认桥接网络 我有 Zookeeper kafka 的容器化版本 以及我编写的与 kafka 对话的应用程序 I do a docker exec it
  • 两种情况或 if 哪个更快? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我必须制作一个 非常 轻的脚本 它将接受用户的选项并调用脚本中的函数来执行一些任务 现在我可以使用 IF 和 CASE 选项 但我想知道两

随机推荐

  • PHP分布式部署代码同步Git实现

    PHP 分布式部署后 代码自动同步实现 项目架构如下 需要更新代码时我们只需要把代码传到主服务器后通过定时任务主服务器自动push 代码到Git服务端 之后其他从服务器则自动从Git云端拉取最新的代码即可 需要用到 expect 软件 安装
  • nginx 负载均衡502问题

    项目架构 nginx 43 php fpm 负载均衡 负载均衡关键配置如下 引入负载均衡配置 include proxy conf 负载均衡 upstream test balance server 172 28 196 xxx 80 we
  • 用Android 动画 演示冒泡排序

    之前面试遇到的一道机试题 当时时间不够没有调出来 有时间把它整了一下 代码 public class MainActivity extends ActionBarActivity implements OnClickListener pri
  • 教你怎么阅读外文文献

    转载自 http www douban com group topic 14551517 NO 1 中科院大博士是如何进行文献检索和阅读的 xff08 好习惯受益终生 xff09 一 如何进行文献检索 我是学自然科学的 xff0c 平时确实
  • webpack打包时提示Invalid configuration object错误

    初学者如果是通过网上教程来学习webpack xff0c 第一次用webpack打包时通常会遇到下面这样的问题 xff1a 实际上出错信息已经说明了问题原因 xff1a Invalid configuration object Webpac
  • Maven核心概念(1)--坐标

    注 xff1a 转载时请注明原作者 lreis2010 及出处 http blog csdn net lreis2010 xff01 作者初次接触Maven是希望有一种方式能够自动化地管理项目中使用的Jar包 随着对于Maven的学习 xf
  • 【UML】四种关系

    一 在学习UML中的时候含有的四种关系是 xff1a 关联Association xff1a 是一种结构化的关系 xff0c 指一种对象和另一种对象有联系 xff0c 给定关联的两个类 xff0c 可以从其中的一个类的对象访问到另一个类的相
  • vnc,在windows系统上安装vnc,操作教程

    VNC是一款可以实现远程桌面控制 方面很实用的小工具 xff0c 今天给大家分享如何在在windows系统上安装vnc的操作方法 xff1a 小编在这里用到了 xff1a IIS7服务器管理工具来操作的 具体操作的如下 xff1a 一 首先
  • 51单片机手动自动智能窗户窗帘控制系统手动自动定时

    实践制作DIY GC 00 45 智能窗户窗帘控制系统 一 功能说明 xff1a 基于 51 单片机设计 智能窗户窗帘控制系统 二 功能介绍 xff1a STC89C52 AT89C52 系列最小系统板 43 5VUSB电源 43 ULN2
  • linux下 bash-completion 离线安装(Ubuntu或centos )

    bash completion 安装 实现k8s命令自动补全 xff0c 我们需要安装bash completion 在github下载离线包 下载地址解压 tar xvJf bash completion 2 11 tar xz 命令补全
  • ROS自定义地图(CAD、手绘等)

    0x00 概述 在前面的文章中 xff0c 我们介绍如何自动导航时 xff0c 都是基于使用gmapping或者hector mapping创建的地图 当然使用其他的建图方法创建的地图也可以 xff0c 但是目前为止 xff0c 无论使用哪
  • STM32 控制蜂鸣器播放音乐的原理和实例

    STM32 控制蜂鸣器播放音乐的原理和实例 本文通过将乐谱里的每个音符的声音频率和声音时长保存在两个数组里面 1 使用通用定时器TIM4实现无中断的微秒级延时函数 xff0c 控制每个音符的发声时长 2 使用系统滴答时钟Systick实现带
  • 影响力最大化——CELF算法的简介与python实现

    CELF算法是Leskovecl等人利用IC模型的子模特性对爬山贪心算法进一步改进得到的优化算法 子模函数的定义为 任意函数f 将有限集合映射为非负实数集并且满足收益递减特性即为子模函数 设集合s T xff0c 任意元素v添加到集合S中获
  • Qos队列调度算法(SP/WRR/DWRR)

    本文重点分析sonic中支持的三种Qos队列调度算法 xff1a 1 SP xff08 Strict Priority xff0c 严格优先级 xff09 也称为PQ xff08 Priority Queuing xff09 调度 xff0
  • python的MapReduce的应用案例

    在学习这个项目中用到许多数学公式 xff0c 有的自己不太懂 xff0c 所以上传上来进行实地应用 参考资料 generate train feature map py usr bin env python encoding 61 UTF
  • 索赔649亿!GitHub Copilot惹上官司,被指控侵犯代码版权,是开源社区“寄生虫”...

    大数据文摘授权转载自AI前线 整理 xff1a 刘燕 xff0c 核子可乐 一位 20 年老开源程序员 xff1a GitHub Copilot 就是开源社区的 寄生虫 GitHub 面临集体起诉 xff0c 索赔 647 亿 GitHub
  • SDN网络技术:OpenFlow协议(1)

    本文首发于我的公众号码农之屋 xff08 id Spider1818 xff09 xff0c 专注于干货分享 xff0c 包含但不限于Java编程 网络技术 Linux内核及实操 容器技术等 欢迎大家关注 xff0c 二维码文末可以扫 导读
  • Ubuntu、debian安装图形界面,输入法,解决远程桌面卡顿问题

    安装图形界面 tasksel选择安装Ubuntu Desktopapt get install xrdp tigervnc standalone server安装远程接入systemctl start xrdpsystemctl enabl
  • JS 异步 ( 一、异步概念、Web worker 基本使用 )

    相关阅读 xff1a JS 异步 一 异步概念 Web worker 基本使用 JS 异步 二 Promise 的用法 手写模拟 Promise JS 异步 三 generator 的用法 async await 的用法 文章目录 异步异步
  • eve-ng 自定义linux镜像

    文章目录 1 创建目录2 上传镜像并改名3 创建虚拟磁盘qcow24 登录eve网页5 查找lab UUID和虚拟机编号6 将系统提交成模板7 压缩镜像 xff08 可选 xff09 1 创建目录 root 64 eve ng opt un