Ubuntu 把所有东西都放在流浪汉的箱子里

Ubuntu 把所有东西都放在流浪汉的箱子里,ubuntu,vagrant,virtualbox,Ubuntu,Vagrant,Virtualbox,我有一个用于开发的vagrant box(Ubuntu16.04),在初始化之后,我做了一些的apt安装和一些配置文件的更改(.ini,.cnf,等等)。现在,我同意这个盒子和它的内容。我想在把所有东西都弄坏之前把它保存起来 我读过,但我不确定这是否真的是我需要的。快照是否存储所有内容?我的意思是,它是否保存每个已安装的程序、每个已编辑的配置以及添加到共享/vagrant目录中的每个文件 谈到“环境”,这就是为什么我不确定它是否是我想要的(如果它是我想要的,还有一个问题:我应该vagrant s

我有一个用于开发的vagrant box(Ubuntu16.04),在初始化之后,我做了一些
的apt安装
和一些配置文件的更改(
.ini
.cnf
,等等)。现在,我同意这个盒子和它的内容。我想在把所有东西都弄坏之前把它保存起来

我读过,但我不确定这是否真的是我需要的。快照是否存储所有内容?我的意思是,它是否保存每个已安装的程序、每个已编辑的配置以及添加到共享
/vagrant
目录中的每个文件


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

vagrant package box应该帮助您创建一个新的框

只需注意,由于vagrant 1.7+默认情况下,vagrant将更改ssh不安全密钥,因此,如果只是打包该框,它将无法在下次启动时连接

添加以下内容:

进入~/.ssh/authorized_密钥

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

您有3个选项来实现您想要的:

  • 如果你想与你的队友共享同一个环境,你可以将你的虚拟机打包成一个新的“流浪者”盒子(正如kikitux所解释的),这样你就可以上传这个盒子,然后你的队友将被安装成基于你的盒子旋转一个新的虚拟机(这样他们就有了等效的系统)

  • 如果您能够将所做的更改放入一些脚本中,更好的选择是使用(它可以是bash脚本或更复杂的chef/puppet系统)-如果您需要在另一个系统上应用相同的定制,这很好,例如,如果您想升级ubuntu,您可以只应用相同的配置脚本

  • 第三,如果您是本地用户,只想将其用作备份解决方案,那么新功能vagrant snapshot就是您所需要的。这在1.8版本中是一个很好的补充,它正是您需要的

快照是否存储所有内容?我的意思是,它是否保存每个已安装的程序、每个已编辑的配置以及添加到shared/vagrant目录中的每个文件

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

如果这是我想要的,还有一个附带的问题:我应该推送或保存流浪快照吗

我使用了
push
pop
,因为我只需要保留一个快照,并始终恢复到此快照。如果您需要在不同的时间(例如每天一次)保存快照,则需要使用
save
,因为您将特别指定要拍摄的快照的名称

注意这一点

警告:如果使用的是
推送
弹出
,请避免使用不安全的
保存
还原