【问题标题】:Vagrant undoes changes when provisioning a custom base box配置自定义基础框时,Vagrant 撤消更改
【发布时间】:2017-02-09 22:01:37
【问题描述】:

问题:在将带有一些自定义的基本操作系统打包到 .box 文件中后,我添加了该框 (vagrant box add ...)。然后我vagrant init myboxvagrant up。当 vagrant up 运行时,它会撤消我对基本 Virtualbox VM 所做的自定义。具体来说,它会删除我添加的存储库并重新安装 VBoxGuestAdditions。如何阻止 vagrant 删除我在源 VM 中所做的更改?

其他信息

Host OS: Ubuntu 16.04
Guest OS: SLES 12
Vagrant Version: 1.8.7
VirtualBox Version: 5.1.14r112924
Plugins:
vagrant-hostmanager (1.8.5)
vagrant-proxyconf (1.5.2)
vagrant-share (1.1.6, system)
vagrant-vbguest (0.13.0)
vagrant-vbox-snapshot (0.0.10)

【问题讨论】:

  • 我自己没有尝试过,所以我会寻找一些额外的信息,希望对您有所帮助。 1.)您是否安装了任何可能会修改盒子的插件? 2.) 是否有任何自定义设置? 3.) 你有没有加载这个盒子的任何早期迭代?
  • Vagrant 不会从客户操作系统中删除任何存储库。请在您的问题中包含一个可重现的示例(您使用的 Vagrantfile 和配置脚本)。
  • 当你用 vagrant 创建一个盒子并在 vagrant up 之后运行这个盒子时,它只会克隆虚拟机,所以除非你专门运行一些配置,否则不会发生任何变化
  • @techraf 这很奇怪。我没有什么特别的。我按照 Vagrant 指南(vagrant 用户、vbox 工具等)在 Virtualbox 中手动构建了一个 SLES 12 VM。然后我将它打包(没有 Vagrantfile)并添加了 package.box。当我尝试将它用于一个新项目时,它会重做我用来设置它的所有命令,例如安装 gcc、一些开发工具等。我回到基础 VM,添加了一些 repos,然后重新打包和读取.在单独的项目中执行另一个 vagrant init 后,它仍然执行原始设置命令,但它删除了我添加的存储库。
  • @abathur #1:在我的问题 #2 中添加了插件他们似乎没有。在我的基础虚拟机 v1 之后,我添加了 repos(现在是 v1.1)。每当我使用 v1.1 开始一个新项目时,它都会自动删除 repos;我看到 zypper 输出表明正在删除存储库。 #3 我已经加载了一些迭代,但我每次都重新打包和读取。

标签: vagrant vagrant-provision sles


【解决方案1】:

解决方案:向 SLES 更新服务器重新注册操作系统。原来问题出在操作系统而不是插件上。一旦我重新注册了服务器,repos 就不再被删除了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-28
    • 2016-08-02
    • 2020-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多