You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vagrant创建Ubuntu 24.04虚拟机的两个问题求助:provision.sh未执行及命令顺序咨询

Vagrant创建Ubuntu 24.04虚拟机的两个问题求助:provision.sh未执行及命令顺序咨询

嘿,我看了你的问题,核心问题出在Vagrantfile里的provision配置写法和位置上,先帮你拆解一下:

首先,你当前的Vagrantfile里,把provision脚本的配置放到了vmware_desktop的provider块里,而且写法还错了——应该用config.vm.provision而不是v.vm.provision。这就导致两个问题:一是只有用VMware Desktop作为provider时才会尝试加载这个配置,二是因为写法错误,哪怕用VMware也不会真正执行脚本;如果用VirtualBox启动,完全不会触发provision步骤。

先把你提供的两个文件整理出来:

你的Vagrantfile内容:

Vagrant.configure("2") do |config|
  config.vm.box = "apavy/ubuntu-24.04-desktop-amd64"

  config.vm.provider "vmware_desktop" do |v|
    v.gui = true
  end
  
  config.vm.provider "virtualbox" do |v|
    v.memory = 2048
    v.cpus = 2
    v.name = "my_vm"
    v.gui = true
    v.check_guest_additions = false
  end

  # Provisioning Script
  config.vm.provider "vmware_desktop" do |v|
    v.vm.provision :shell, path: "provision.sh"
  end
end

你的provision.sh内容:

#!/usr/bin/env bash

# 这里是你的配置命令(你提到的Change...内容)

解决步骤:

  1. 修正Vagrantfile的provision配置
    把provision的配置从provider块中移出来,放到全局的config块里,这样不管你用VirtualBox还是VMware Desktop启动,都会执行provision脚本。修正后的Vagrantfile如下:
Vagrant.configure("2") do |config|
  config.vm.box = "apavy/ubuntu-24.04-desktop-amd64"

  config.vm.provider "vmware_desktop" do |v|
    v.gui = true
  end
  
  config.vm.provider "virtualbox" do |v|
    v.memory = 2048
    v.cpus = 2
    v.name = "my_vm"
    v.gui = true
    v.check_guest_additions = false
  end

  # 全局配置provision脚本,所有provider都会触发执行
  config.vm.provision :shell, path: "provision.sh"
end
  1. 确保provision.sh有可执行权限
    在你的主机终端里,进入Vagrantfile所在目录,执行命令给脚本加权限:
chmod +x provision.sh
  1. 重新触发provision
    如果你之前已经启动过虚拟机,需要重新执行provision步骤,可以直接运行:
vagrant provision

或者销毁现有虚拟机后重新创建(确保所有配置生效):

vagrant destroy -f && vagrant up

额外检查点:

  • 确认provision.sh和Vagrantfile在同一个目录下,路径没有拼写错误;
  • 启动虚拟机时留意Vagrant的终端输出,如果有provision相关的错误(比如找不到脚本、权限不足),可以根据日志进一步排查。

备注:内容来源于stack exchange,提问作者Blue Grass

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 11:03:18