Windows 10 + VirtualBox + Vagrant にて Ubuntu 19.10 のコマンドライン開発環境の構築を試みた際のメモ。
Chocolatey の導入
インストールを簡易化するため、Windows用パッケージマネージャ Chocolatey を用いて必要なソフトウェアをインストールする。
Windows 10 にて、 Windows + X
キー → A
キー を順に入力して Windows PowerShell (管理者) を起動する。
管理者: Windows PowerShell
ウィンドウが表示されたら、以下の内容を入力して実行する。 参照: https://chocolatey.org/install
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
VirtualBox, Vagrant のインストール
Chocolatey のインストールが終わったら、そのまま 管理者: Windows PowerShell
ウィンドウにて以下を入力して実行する。
choco install -y virtualbox
choco install -y vagrant
現状リリースされている Vagrant (記事の時点で 2.2.6) は VirtualBox 6.1 に未対応のため、当座の措置として VirturlBox 6.0.14 を導入する。
→ Vagrant 2.2.7 がリリースされました: 2020年1月28日
回避策の参考:https://qiita.com/shuu1222/items/7a6d04172363be44025chttps://blogs.oracle.com/scoter/getting-vagrant-226-working-with-virtualbox-61-gahttps://github.com/hashicorp/vagrant/commit/20ccf46fb166bd7ddc3dfd426b07a79393cd1250
VirtualBox, Vagrant のインストールが終わったら、一旦再起動を行う。
Restart-Computer -Force
Ubuntu 19.10 (eoan) イメージの導入と起動
以下をPowerShell内で実行。
- イメージファイルの指定
vagrant box add Ubuntu_19.10_eoan https://cloud-images.ubuntu.com/releases/eoan/release/ubuntu-19.10-server-cloudimg-amd64-vagrant.box
- Vagrant 用フォルダの作成
mkdir C:\Vagrant
mkdir C:\Vagrant\Ubuntu_19.10_eoan
- Vagrant 用フォルダへの移動
chdir C:\Vagrant\Ubuntu_19.10_eoan
- Vegrant 用設定の作成
vagrant init Ubuntu_19.10_eoan
- 仮想マシン環境の起動(virtualboxにて)
vagrant up --provider virtualbox
初回起動時のみ、--provider virtualbox
の指定が必要。
virtualboxが正常に起動しない場合は、「Windowsの機能の有効化または無効化」から、
appwiz.cpl ",2"
>
>Hyper-V 関連の機能が有効化されていないか確認し、有効化されていた場合はそれぞれ無効化を試みる。 参照: https://answers.microsoft.com/ja-jp/windows/forum/all/windows/5d8c563a-cec4-4fa5-8c95-79e5ba48bf79
>
>- Hyper-V
- Windows Defender Application Guard
- Windows Subsystem for Linux
- Windows サンドボックス
- Windows ハイパーバイザー プラットフォーム
- インターネット インフォメーション サービスのホスト可能なWebコア
- 仮想マシン プラットフォーム
>
> Hyper-V 関連の機能は無効化して**再起動した後、改めてさらにもう一度再起動**する必要がある場合あり。
virtualbox が正常な場合でも初回起動には時間が掛かるため、応答待ち時間切れ(timeout)系のエラーが発生する場合もあり。その場合、しばらく仮想マシンが起動するのを待っていれば次の「仮想マシン環境への接続」が実行可能になっている事がある。
- 仮想マシン環境への接続
```powershell
vagrant ssh
Ubuntu 19.10 (eoan) イメージ内での操作
gcc, clang, nodejs, openblas, rustup などの開発環境の導入例。
- パッケージ一覧の更新
sudo apt update -y
- パッケージの更新
sudo apt upgrade -y
- gcc, clang, openblas 等の開発環境のインストール
sudo apt install -y build-essential clang nodejs libopenblas-dev
- rust 開発環境のインストール
curl https://sh.rustup.rs -sSf | sh -s -- -y
- rust 開発環境インストール後の PATH 設定の適用
source $HOME/.cargo/env
- rust の beta, nightly ツールチェインの追加
rustup toolchain install beta nightly
- 不要なパッケージの削除
sudo apt autoremove -y
- パッケージファイルのキャッシュ削除
sudo apt clean -y
- コマンド実行履歴の最大出力行数を一時的に0に設定
export HISTSIZE=0
- コマンド実行履歴ファイルのクリア
rm ~/.bash_history
- 仮想マシン環境からの離脱
exit
Ubuntu 19.10 (eoan) イメージのスナップショット作成
- 仮想マシン環境の動作の停止。
vagrant halt
- 仮想マシン環境のスナップショットを(スナップショットの名称
devenv
として)作成。
vagrant snapshot save default devenv
使い方
必要に応じて、Oracle VM VirtualBox マネージャー にて、仮想マシンの設定を変更する。(例: システム - マザーボード - メインメモリー の値を調整、など)
- 起動・接続
chdir C:\Vagrant\Ubuntu_19.10_eoan
vagrant up
vagrant ssh
- 仮想マシンの動作の停止。
vagrant halt
- 仮想マシン環境のリストア(スナップショット
devenv
を保存した時の状態に戻る)
vagrant snapshot restore devenv
- 仮想マシン環境の破棄
vagrant destroy