仮想環境構築_VirtualBox - yasushinzato/study GitHub Wiki
作業したときの内容を記述。特に整理していないし、時系列もバラバラ。
-
VirtualBoxインストール
-
Vagrantのインストール
- ユーザプロファイルにUbuntuのフォルダを作成する必要があったが、作ってなかった。
- コマンドを実行 vagrant box add ubuntu/xenial64 https://vagrantcloud.com/ubuntu/boxes/xenial64/versions/20170929.0.0/providers/virtualbox.box
- vagrant init ubuntu/xenial64
- Win7か8.1の場合はChocolateyをインストール
- @"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
- choco install -y powershell
- vagrant up で起動する。
-
RLogin というSSHツールで↑のUbuntuと通信する。 - vagrant ssh-config でUbuntuの情報を取得 SSH2 User Auth Failure "publickey" Status=0004 Send Disconnect Message... none
- 一旦削除する。 vagrant box remove ubuntu/xenial64 --all
- vagrant box add ubuntu/xenial64
- vagrant init ubuntu/xenial64
- vagrant ssh-config
- だめだったので、Vagrantをアンインストール。再起動、ユーザフォルダにあるvagrant.dを削除
- vagrant をインストール。再起動。 ちゃんと読み直すと、2.0.0じゃないと動作しないことがあるとの注意書きがあった。
mkdir %USERPROFILE%\vagrant\ubuntu64_16 cd %USERPROFILE%\vagrant\ubuntu64_16 vagrant box add ubuntu/xenial64 https://vagrantcloud.com/ubuntu/boxes/xenial64/versions/20170929.0.0/providers/virtualbox.box vagrant init ubuntu/xenial64
-
だめだったので、VirtualBoxの5.1をインストールした。最新は6.0
-
インストールしたあとの vagrat init したら、vagrant up で起動しろという命令がでた。 でもつながらない……。
-
いろいろあって、最初と同じ、RLoginでの認証エラーになった。認証ファイルを指定することで問題なく起動できた。
Ubuntu操作
- 日本語環境作成と起動時に日本語環境を読み込む
- sudo locale-gen ja_JP.UTF-8
- echo export LANG=ja_JP.UTF-8 >> ~/.profile
- 設定を反映
- source ~/.profile
一カラ再度読む
VirtualBoxのインストール箇所でバージョン違いに気をつけろというのと、BIOSの設定で、仮想化支援機能(Virtualization Technology, VT)が有効(Enable)になっている必要があるとのこと。 コンパネのプログラムと機能の左側にある、機能の有効化と無効化にあるHyper-Vにチェックを入れることで、有効化される。そして再起動。 今回、こちらのチェックが入っていなかった……。
Vagrantのアンインストール
- vagrant global-status でIDを確認
- vagrant destroy IDXXXX で削除
- vagrant box list でボックスの名前を確認
- vagrant box remove boxnameXXXX で削除
C:\Users\81909\vagrant\ubuntu64_16>vagrant global-status id name provider state directory
4abfa2a default virtualbox poweroff C:/Users/81909/vagrant/ubuntu64_16
The above shows information about all known Vagrant environments on this machine. This data is cached and may not be completely up-to-date. To interact with any of the machines, you can go to that directory and run Vagrant, or you can use the ID directly with Vagrant commands from any directory. For example: "vagrant destroy 1a2b3c4d"
C:\Users\81909\vagrant\ubuntu64_16>vagrant destroy 4abfa2a default: Are you sure you want to destroy the 'default' VM? [y/N] y ==> default: Destroying VM and associated drives...
C:\Users\81909\vagrant\ubuntu64_16>vagrant box list ubuntu/xenial64 (virtualbox, 0)
C:\Users\81909\vagrant\ubuntu64_16>vagrant box remove ubuntu/xenial64 Removing box 'ubuntu/xenial64' (v0) with provider 'virtualbox'...
C:\Users\81909\vagrant\ubuntu64_16>vagrant box list
There are no installed boxes! Use vagrant box add
to add some.
C:\Users\81909\vagrant\ubuntu64_16>
Vagrantの設定とか
%USERPROFILE%\vagrant\ubuntu64_16 フォルダーにworkspaceフォルダーを作成する。 同じフォルダにあるVagrantfile を編集する。
# ホスト側のフォルダーと仮想Linux(ゲスト側)でのフォルダーを共有する設定
config.vm.synced_folder "./workspace", "/home/vagrant/workspace"
# Windowsの場合は共有設定に下記3行追加が必要
config.vm.provider :virtualbox do |vb|
vb.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate//home/vagrant/workspace","1"]
end
…
# Linuxのメモリ量を指定する。
config.vm.provider "virtualbox" do |vb|
vb.memory = "1024"
end
ファイルの記述後は、vagrantを管理者起動のコマンドプロンプトから再起動する。
fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1
cd %USERPROFILE%\vagrant\ubuntu64_16
vagrant reload --provision
起動しているとエラーになるので注意。 RLogin で実行
cd ~
mkdir workspace/tmp