存放来自流浪盒的所有东西

时间:2016-10-03 15:24:45

标签: ubuntu vagrant virtualbox

我有一个用于开发的流浪盒(ubuntu 16.04),在初始化之后我做了几个apt install并对配置文件(.ini.cnf等)进行了一些更改。现在,我对这个盒子及其内容感到满意。我想在摧毁一切之前保存它。

我读过this,但我不确定是否真的是我需要的。快照存储了什么吗?我的意思是它是保存每个已安装的程序,每个编辑的conf以及在共享/vagrant目录中添加的每个文件?

Doc谈到“环境”,这就是为什么我不确定这是我想要的(如果这是我想要的问题:我应该vagrant snapshot push还是vagrant snapshot save?)

2 个答案:

答案 0 :(得分:1)

您有3个选项可以实现您的目标:

  • 如果你想与你的队友共享相同的环境,你可以将你的VM打包成一个新的流浪盒(如kikitux所解释的那样),这样你就可以上传这个盒子,你的队友将安装一个新的VM基于您的盒子(因此它们将具有相同的系统)

  • 如果能够将您所做的更改放入某些脚本中,更好的选择是使用vagrant provisioning(它可以是bash脚本或更复杂的厨师/木偶系统) - 如果您需要它很好要在另一个系统上应用相同的自定义,例如,如果要升级ubuntu,则只需应用相同的配置脚本。

  • 第三,如果您是本地人,并且只想将其用作备份解决方案,那么新功能流浪快照就是您所需要的。这是1.8版本的一个很好的补充,完全符合您的需求。

  

快照存储了什么吗?我的意思是它是否保存每个已安装的程序,每个编辑的conf以及在shared / vagrant目录中添加的每个文件?

是的!所有这些 - 我只是分享我的用例:我创建一个oracle数据库VM并导入转储文件,然后执行一系列测试。我在运行测试之前拍摄快照,然后我可以轻松恢复到之前的状态,并在第二天在同一个基本框上重新运行测试。当我pop快照时,我获得完全相同的状态(整个虚拟机,安装oracle,转储导入),就像我运行测试套件一样。

  如果这就是我想要的问题:如果流浪汉快照推送或流浪汉快照保存?

我使用pushpop因为我只需保留1个快照并始终恢复为此快照。如果您需要在不同时间保留快照(例如每天一次),则需要使用save,因为您将专门为您正在拍摄的快照命名。

注意这个

  

警告:如果您使用的是pushpop,请避免使用混合不安全的saverestore

答案 1 :(得分:0)

vagrant包装盒应该可以帮助你创建一个新的盒子。

请注意,由于流浪汉1.7+默认情况下会改变ssh不安全键,所以如果只打包盒子,它将无法在下次启动时连接。

添加以下内容: https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub

进入〜/ .ssh / authorized_keys

然后运行: chmod 600 /home/vagrant/.ssh/authorized_keys chown -R vagrant /home/vagrant/.ssh