【发布时间】:2016-10-23 09:38:40
【问题描述】:
情况:在 Windows 主机上,我想安装一个带有 Ubuntu 16 + 一些开发工具的虚拟机。为此,我在虚拟机上使用 Vagrant 和 VirtualBox(都在 Windows 主机上)和 local Ansible。
问题:vm安装好后,应该在Virtual Box中显示unity login,这样用户就可以在那里登录并开始工作了。但是,安装统一(和升级任务)似乎需要重新启动。此外,当我第二次运行vagrant up 或vagrant provision 时,unity 已经安装,因此不应再次重新启动。
总结性问题:我如何如果需要重启我的虚拟机,然后在 vagrant + 本地 ansible 设置中继续配置?
到目前为止我的脚本:
Vagrantfile(在 Windows 主机上)
Vagrant.configure("2") do |config|
# create a Ubuntu 16 LTS box
config.vm.box = "ubuntu/xenial64"
config.vm.provider "virtualbox" do |vb|
# Display the VirtualBox GUI when booting the machine
vb.gui = true
# Customize the amount of memory on the VM:
vb.memory = "4096"
end
config.vm.provision "ansible_local" do |ansible|
ansible.playbook = "playbook.yml"
end
end
playbook.yml(在 Windows 主机上并转移到 Ubuntu 客户机)
---
- hosts: all
tasks:
- name: Update apt cache
apt: update_cache=yes cache_valid_time=36000
- name: Upgrade to latest version
apt: upgrade=dist autoremove=yes
become: yes
- name: Add local user with pwd
user: name=<someuser> password=<someencryptedpwd>
become: true
- name: Install Ubuntu Desktop
apt: name=ubuntu-desktop
become: true
附:如果已经看到了多个 ansible 解决方案,但他们认为 ansible 在主机上运行。由于 Windows 主机,在这种情况下不可能。
【问题讨论】:
-
我暂时不回答这个问题,因为目前似乎没有 100% 的答案
标签: unity3d vagrant ansible reboot