我有学生运行 Mac 和 Windows。每个学期,关于如何安装工具“X”总是有很多问题。我想创建一个 Linux 虚拟机(我尝试过 VirtualBox)并分发映像。这样,所有工具都已预装,每个人都在使用 Linux。
问题是,鉴于人们有不同的图形硬件,这是如何工作的?或者它有效吗?如果是这样,我如何分发它?他们是否必须安装 VirtualBox,然后加载我给他们的一些文件,或者我可以轻松创建一个安装程序吗?
Gia*_*968 24
我喜欢mperrin 以 Vagrant 为中心的答案,但正如您从那里的评论中看到的那样,我个人的意见是“保持简单”,我建议您简单导出 VirtualBox OVA,因为您已配置并将其传递给您的学生.
也就是说,你问这个:
问题是,鉴于人们有不同的图形硬件,这是如何工作的?或者它有效吗?如果是这样,我如何分发它?他们是否必须安装 VirtualBox,然后加载我给他们的一些文件,或者我可以轻松创建一个安装程序吗?
我不太确定你在教什么或在做什么,或者你希望你的学生从整个练习中得到什么,但是你所表达的很多担忧都转向了DevOps(开发和运营)领域,你可能想要考虑将这个概念融入你的教义中。
现在我认为不需要传达 DevOps 的整个概念,但在我看来,您创建一个稳定的 VirtualBox OVA,然后将其传递给学生并要求他们在他们的家庭/学校机器上使用肯定会打开一扇门关于如何处理不同的硬件/系统设置以及如何适应的问题。
所以我给你的建议是强烈建议学生使用你要设置的 VirtualBox OVA,但也允许学生自己简单地安装工具。我的直觉告诉我,95%(或更多)的学生会很高兴且轻松地使用 VirtualBox OVA 方法,但您不能指望它是 100% 完美的。
也许最后你应该对课程工具的使用有一些要求的基线,并在他们的实施中保持灵活。
例如,我做很多 PHP 开发,并做与 PHP 开发相关的系统管理/DevOps。由于我使用的是 Mac,我更喜欢使用MAMP进行本地开发。但我与使用 Linux 或 Windows 进行开发的开发人员一起工作。哎呀,有些人喜欢将 Vagrant 与 VirtualBox 结合使用来满足他们的 LAMP 开发需求。我的态度是我不在乎他们的基本操作系统设置是什么。只要他们的 PHP 版本与我的客户使用的版本一致,我就可以接受。
有时,开发人员会声明错误是因为——例如——我在 MAMP 上测试的代码与 Linux LAMP 设置上的代码“不同”。我 100% 自信地说,我一直证明问题不在于基本操作系统,而在于 PHP 编码本身。
所以所有这些废话基本上是为了传达以下内容:在向学生解释使用 VirtualBox 设置时要灵活,不要指望用勺子喂食操作系统来简单地结束所有问题。它可能会将您 95% 的问题排除在外,但剩下的 5% 始终必须以某种方式解决。因此,将 VirtualBox 设置(可能还有 Vagrant 脚本)视为一种工具,可以在军械库中使用,使某些人的生活更轻松,但不一定是所有问题的最终解决方案。
mpe*_*rin 18
你应该看看Vagrant。
Vagrant 支持 VirtualBox 并允许您:
创建和配置轻量级、可重现和可移植的开发环境。
与大量导出 VirtualBox 图像相比,共享单个或一堆文本文件要容易得多。特别是如果您想管理更新。
安装 VirtualBox 和 Vagrant 后,一个简单的:
vagrant up
Run Code Online (Sandbox Code Playgroud)
将要:
单个 Vagrantfile 也可以处理 Windows 或 Mac 主机的特性。
这一点都不重要——virtualbox(以及所有其他虚拟化软件)模拟自己的视频适配器(IIRC cirrus 逻辑)。虽然传统的 virtualbox 文件被拆分为不同的文件进行设置和存储,但您可以按照建议将其导出为 ovf 文件。如果您的学生可以安装 virtualbox 或 vmware,那应该是微不足道的。如果没有,他们需要学习。
安装 virtualbox 相当简单(假设您有硬件支持)。
有几件事我建议 - 将 VM 保持为 32 位(这样您就不必担心主机上的 VT-X 支持),创建在两个大型操作系统上安装 virtualbox 的方法(Windows 很简单, linux 需要一些额外的步骤),并导入 OVF 文件。这也意味着如果学生想使用 vmware player 或类似的东西,他们可以。除非您需要运行可从外部访问的服务器,否则请使用 NAT 进行网络连接。
如果性能不是问题,您可能可以将所有内容捆绑到 QEMU 实例(它们可以设置为运行自包含)和合适的启动脚本中。我认为这是最后的手段。
我注意到许多大学确实提供了带有合适工具的 VM(IIRC stanfords CS 50这样做,并且是 edx 提供的免费课程),因此可能值得研究一下他们是如何做到的。
| 归档时间: |
|
| 查看次数: |
7076 次 |
| 最近记录: |