我将以下Vagrantfile用作许多新VM的基础(我将其复制到新目录中),但是今天创建具有错误VERR_ALREADY_EXISTS的磁盘时,新VM无法正确配置。磁盘文件(本地无业游民的“ tmp”目录中的source_code_disk.vdi)在开始时肯定不存在,实际上是在无业游民的启动过程中创建的,但是尽管FileExists检查这意味着它不存在,但“ createhd”似乎仍已存在当'createhd'调用时存在。有趣的是,如果我“无条件地销毁”新的VM,则磁盘文件也不会被删除。在其他基于相同Vagrantfile的安装中,它们可以正常工作,磁盘文件既可以在“无用启动”期间创建,也可以用“无用销毁”删除。运行“无所事事-调试”
# -*- mode: ruby -*-
# vi: set ft=ruby :
file_to_disk = './tmp/source_code_disk.vdi'
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/trusty32"
config.vm.network "private_network", ip: "192.168.33.11"
config.vm.hostname = "testdisk"
config.ssh.forward_agent = true
config.ssh.shell = "/bin/bash -l"
config.vm.provision :shell do |shell|
shell.inline = "sudo chsh -s /bin/bash vagrant"
end
# create a disk for the source code
config.vm.provider "virtualbox" do | v |
unless File.exist?(file_to_disk)
v.customize ['createhd', '--filename', file_to_disk, '--size', 50 * 1024]
v.customize ['storageattach', :id, '--storagectl', 'SATAController', '--port', 1, '--device', …
Run Code Online (Sandbox Code Playgroud)