假设我在 VirtualBox 上安装 Linux Mint 的 ISO 作为虚拟机。
我想安装几个程序,例如 Terminator、Netbeans、Java、Ruby on Rails 等。
如何将虚拟机转换回 ISO,以便当我在任何其他物理计算机上安装时我的程序已经按照我的配置运行?
答案1
我不会那样做。
Debian、Ubuntu、Mint 等
如果您使用 Debian 或衍生版本(例如 mint),那么请查看 equivs-control。这是一个命名愚蠢的工具,允许您制作自己的 deb 包,只要它们只有依赖项(制作更通用的 deb 更容易)。然后,您只需在所有计算机上安装此一个软件包,其他软件包就会被安装。
还有一些工具可让您构建基于 Debian 的 ISO/Usb 映像,这些映像与标准映像相同,但预装了一些额外的软件包。
任何
- 编写一个 shell 脚本。
- 或者使用配置管理。
答案2
流浪汉
我喜欢用流浪汉进行此类定制。您可以使用现有的 CentOS/Ubuntu/Debian box 文件 ( .box
) 作为初始基础 box,也可以从现有的 ISO 开始并使用它构建您自己的 Vagrant box 文件。
这.box
文件大多数人通常想要使用的内容都在这里:
例子
现在取一个样本Vagrantfile
:
$ cat Vagrantfile
Vagrant.configure("2") do |config|
config.vm.box = "centos/7"
end
或者你可以通过我的使用我的一个github.com vagrantfiles 仓库。现在启动它,并通过 SSH 连接到它:
$ vagrant up
$ vagrant ssh
进入后,进行自定义。完成后退出虚拟机。现在你可以打包它:
$ vagrant package --base my-centos7
完成此操作后,您将获得一个 .box 文件。这个.box文件可以在其他文件中引用Vagrantfile
以进一步重用。
管理.box
文件
如果您只想下载一个.box
文件,您可以使用vagrant
以下命令来执行此操作:
$ vagrant box add centos/7
请参阅 参考资料 了解vagrant box
更多使用详情。