我的 Virtualbox 上运行着 Ubuntu 18,我更新了系统,安装了很多程序(python、numpy、pandas、tensorflow 等)并添加了几个插件。有没有什么方法可以在我的计算机上安装这个完全相同的 Ubuntu 映像作为操作系统,而无需再次安装所有这些程序?
答案1
恕我直言,这不是一个好主意,因为操作系统所看到的硬件环境并不相同(VBox 是一个相当“简化”的硬件),并且您最终可能会得到一个功能有限的系统(例如,系统中没有 Wifi)。 VBox,并且您的显卡没有安装正确的驱动程序)。
您可以列出 VBox 中已安装的软件包:
sudo dpkg-query -f '${binary:Package}\n' -W > packages_list.txt
并在新系统中使用该列表来安装软件包(许多软件包已经安装):
sudo xargs -a packages_list.txt apt install
您甚至可以将上面的列表限制为您明确安装的软件包,请参阅几种方法这里。
当然,这并没有考虑到您在包管理器之外安装的东西(例如通过 PIP 安装的 python 包),但可能有类似的过程(pip list
例如使用)。
答案2
最终,您希望将 vmdk 文件转换为 iso 文件,以便可以在虚拟环境之外使用它。使用 qemu 将 vmdk 转换为原始文件:
qemu-img convert -f vmdk filename.vmdk -O raw filename.raw
将原始文件挂载为环回设备:
mkdir raw_mount
mount -o loop filename.raw raw_mount
然后根据其内容生成 ISO:
mkisofs -o filename.iso raw_mount/
这篇博文如果您遇到困难,有更详细的说明。