環境
Vagrantを使って、Ubuntu 20.04の仮想環境を作ります。
> vagrant --version
Vagrant 2.3.0
Vagrantfileの作成
今回はUbuntu 20.04のボックスを使い、VirtualBoxで立ち上げます。プロビジョニングはAnsibleを使います。
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
# Base
config.vm.box = "ubuntu/focal64"
config.vm.synced_folder ".", "/vagrant"
# Provider
config.vm.provider "virtualbox" do |vb|
vb.name = "wine"
vb.memory = 10240
vb.cpus = 2
end
# Network
config.vm.hostname = "wine"
config.vm.network "private_network", ip: "192.168.56.2"
# Setup
config.vm.provision "ansible_local" do |ansible|
ansible.playbook = "playbook.yml"
ansible.install_mode = "default"
ansible.version = "latest"
end
end
プロビジョニング用のAnsible playbook
プロビジョニングにはAnsibleを使うため、playbook.yml
を作成します。
- hosts: default
become: yes
tasks:
- name: Update apt
apt:
state: latest
update_cache: yes
- name: Setup WineHQ
import_tasks: tasks/wine.yml
デスクトップ環境のインストール
tasks/wine.yml
に記述していきます。
まず、仮想環境を構築た際にデスクトップ環境がインストールされていなかったので、インストールしておきます。
- name: Install Desktop
apt:
name: ubuntu-desktop
state: latest
Wineのインストール
続いてWineをインストールしていきます。
Wineのインストールは、下記に記載されているので、これをAnsible用に書き換えます。
- name: Enable 32 bit architecture
command: dpkg --add-architecture i386
- name: Download and add the repository key
command: wget -nc -O /usr/share/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
- name: Add the repository
command: wget -nc -P /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/focal/winehq-focal.sources
- name: Update packages
apt:
update_cache: yes
- name: Install WineHQ
apt:
name: winehq-stable
install_recommends: yes
プロビジョニング
tasks/wine.yml
を保存したら、Vagrantでプロビジョニングします。
> vagrant provision
完了したら、vagrant ssh
でUbuntuに接続し、Wineがインストールされたことを確認します。
$ wine --version
wine-7.0