linux - 从已安装的系统生成 ISO

标签 linux virtualization

作为我的基础设施的一部分,我有许多虚拟机运行不同的 Linux 发行版,在 Proxmox 下使用 OpenVz。我的问题是,我需要将我拥有的一些虚拟机(虚拟机当前状态的可安装快照)导出到个性化可安装 ISO 中,其中一些运行 Ubuntu,其中一些运行 CentOS,所以我的问题是: 1-有没有办法让我知道虚拟机正在运行的操作系统? 2-按照我刚才解释的方式将虚拟机导出到 ISO 是可行的方法还是还有其他方法? 即使我必须设置不同的 Virt,我也愿意接受那些对此主题有经验的人的任何建议。托管虚拟机的技术。

最佳答案

您的问题对您的要求相当模糊。我会尽力给你一些想法:

“当前状态”是什么意思?如果您确实想要所有正在运行的进程,那么您应该使用 VirtualBox 之类的工具并拍摄快照。您可以轻松地在另一台计算机上启动它并从上次中断的地方继续运行,并且它独立于操作系统。

如果您真的只是指文件系统,那么仅复制文件系统并将其刻录到 CD 上不太可能给您带来好的结果。例如,有许多区域预计是可写的(/var、/tmp。甚至/etc/resolv.conf)

一个简单的想法是“tar”文件系统,然后将其解压到另一个 OpenVz 发行版上。 (我确信有人已经制作了可启动的 OpenVz 发行版..)

如果您想要一个真正的可启动 ISO,有很多不同的选择。例如,您可以让内核以 root 身份挂载 ISO。或者您可以以 root 身份启动 RAMDisk,然后解压缩您需要的文件系统。或者您可以使用 AUFS 覆盖文件系统将 ISO 挂载为 root。或者您可以将一些目录作为 SquashFS 文件系统安装到 RAM 根目录上。

但是,如果您确实想要简单地“移动虚拟机”,请查看 Docker 。它有一种简单的方法将文件系统推送到公共(public)或私有(private)服务器,然后在另一端下载它,但可以节省操作系统和 Apache 安装等常见元素的带宽。 (如果你做得对的话。)

关于linux - 从已安装的系统生成 ISO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21998804/

相关文章:

windows - Hyper-V 导致错误 "sorry, this application cannot run under a virtual machine"

virtualization - x86 虚拟化指令集(VT-x、AMD-V)是否有其他用途?

ubuntu - qemu-system-x86_64 : Initialization of device ide-cd failed: Failed to get shared "write" lock

linux - LINUX 文本脚本中的条件散列

c++ - 如何在centos中的c中从IP获取以太网适配器名称

c++ - eclipse 中的 unique_ptr 自动完成

docker : When creating a machine, VT-X/AMD 已启用

linux - 翻转 shell 脚本

linux - 如何从管道文件中返回?

windows - 使用 VirtualBox(或 VMWare)虚拟化内联网络设备