Jon*_*ann 20 linux virtualbox virtual-machine ubuntu
我是编程课程的助教,任务是创建基于 Ubuntu 14.04 LTS 的虚拟机映像,并预装所有必要的软件(用于 C++ 和 Python 开发),以便学生都运行相同的虚拟系统,我们避免了这些困难让一切都在各种不同的机器和操作系统上工作。我们打算使用 Virtual Box 作为主机 VM 软件,因为它是免费且跨平台可用的。
天真地,我只会使用 Ubuntu 14.04 LTS 磁盘映像,在我的 Virtual Box 中运行它,将其安装到虚拟硬盘 (VDI),使用预定义的密码设置一个“学生”帐户,安装所有必要的软件,然后关闭关闭虚拟机并分发 VDI 文件。我们会要求每个学生将 VDI 导入到 Virtual Box,运行它并设置他们的个人帐户(或仅使用默认的学生帐户)。
Faz*_*r87 18
虽然这个问题在某种程度上是基于某种程度的意见:
是的,这个过程是可行的 - 我相信它会完成你正在寻找的东西,这是我过去在其他 linux 发行版中所做的事情。
唯一真正的缺陷在于磁盘空间...确保您的学生计算机有足够的磁盘空间来处理虚拟磁盘的大小。此外,请确保您至少在一台机器上离线保存副本,以便在学生杀死他们的机器时可以使用模板/参考磁盘快速重新创建磁盘。
动态磁盘的缺点是,随着 VM 随着数据/更新的增长,主机操作系统必须不断分配越来越多的磁盘空间。这会带来性能开销,有时可能会令人头疼 - 特别是如果您在低功率 VM 上运行(主机功率减去用于扩展磁盘的功率确实会使 VM 滞后一点)。它也可能使然后不可移植(一旦学生弄乱了他们的 VM,并非您实验室中的所有机器都可能有 100GB+)
来宾插件不是特定于机器的......它们几乎是一个驱动程序集。当您将 VM 导入新主机时,VM 驱动程序将检测并调整您的硬件以在新主机上工作。
优雅的用户创建 - 不确定,可能是首次启动时运行的脚本并要求用户在脚本自毁之前创建一个新帐户?我会做一些挖掘,并在我有 5 分钟空闲时回复您。
希望这至少部分有所帮助。
Joe*_*l B 13
准确回答您的问题,如果您需要定制 VM 并将其交付给可交付的 VirtualBox VM,我建议使用Packer将 VM 与所有必需的依赖项预先打包。它就是为此目的而构建的,并允许您从 ISO启动映像,针对该映像执行您想要的任何配置,然后创建可交付的 VirtualBox VM 映像。这对您也有好处,因为它准确记录了对可交付成果所做的工作,以防您想复制它/向其中添加一些内容。此外,您可以将项目签入源代码控制系统并进行更改。 这是一个让您开始的示例。
但是,如果您希望它们快速运行,我建议使用Vagrant并向您的学生分发一个 Vagrantfile,该文件可以在标准 Ubuntu 映像上执行所需的配置。这有几个优点:
这是一个示例 Vagrantfile,展示了如何在 Ubuntu 14.04 映像上进行一些配置。
完全可行。另一种选择是 Vagrant、Puppet、Chef 或类似的东西,可以从头开始构建 VM,但这需要大量的设置工作。
我的一个站点上的开发团队也这样做,以让新开发人员快速启动并运行。
图像中的 1 个预设帐户(具有 sudo 权限)和一个简短的说明文档,其中包含创建个人帐户必须采取的步骤。
请注意:您很可能需要在 VM 内访问网络/互联网。这可以桥接或 NAT 到主机上。无论您选择哪个,您都必须指导学生如何配置它的主机端。只需将 VM 内的 NIC 设置为 DHCP 设备。这是大多数配置的安全起点,即使用户以后必须手动配置静态 IP 地址。
在 VM 中放置静态 IP 地址确实是在自找麻烦。它绑定了在同一 LAN 上联机的另一个 VM 已经在使用中...
归档时间: |
|
查看次数: |
6242 次 |
最近记录: |