ノートPCにVMをボカボカ立てていたら、容量がいっぱいになってしまった。。。
VMはサーバに立てて、Windowからcygwinでごにょごにゃしたくなったので、その時の備忘録。
環境は以下の通り
- サーバ
- クライアント
- Windows10 64bit + Cygwin
CygwinからVirtualBoxを触れるようにする
クライアントから、サーバへ接続するときはsshを利用している。
そのままだとサーバ側の画面が転送できないので、設定が必要になる。
画面が転送できないと、あとでやるVagrantのBoxになるVMイメージがリモートで作成できないのでめんどくさい。。。
画面転送にはX Windows System
を採用
Cygwinには、「XWin Server」というソフトが入っているので、やるのは設定とオプション付けた呼び出しだけ
# Xサーバの起動 $ run xwin -multiwindow -noclipboard # X Windows Systemを使うssh接続(userとポートは適当) $ DISPLAY=:0.0 ssh -X user@192.168.0.100
毎回打つのが面倒なので、aliasをつけておくと楽
export DISPLAY=:0.0 alias runx='run xwin -multiwindow -noclipboard' alias sshx='ssh -X '
ちゃんとできたかは、gedit
などを起動してみるとよい。
UbuntuにVagrantをインストールする
インストールはapt-get
で。
$ sudo apt-get install -y virtualbox vagrant ruby1.9.1 ruby1.9.1-dev zlib1g-dev $ sudo gem install nokogiri -v '1.6.7.2' $ sudo vagrant plugin install vagrant-windows
VagrantはRuby制のツールなので、プラグインをインストールするためにgem
とかが必要になる。
これら(ruby1.9.1 ruby1.9.1-dev zlib1g-dev
)は、vagrant-windows
プラグインのために追加している。
VagrantのBoxを作成してみる
ここらへんを見ながら作成。元記事が素晴らしすぎるので、そのままやればOK!!
個人的なメモ。
WinRMを有効にするスクリプト(vagrant_init.bat)
winrm quickconfig -q winrm set winrm/config/winrs @{MaxMemoryPerShellMB="512"} winrm set winrm/config @{MaxTimeoutms="1800000"} winrm set winrm/config/service @{AllowUnencrypted="true"} winrm set winrm/config/service/auth @{Basic="true"} sc config WinRM start= auto
Boxに含めるデフォルトのVagrantfile(Vagrantfile.txt)
Vagrant.configure("2") do |config| config.vm.guest = :windows end
Vagrantのコマンド
# boxの作成 $ vagrant package --base "Win7Pro_x86" --vagrantfile Vagrantfile.txt # boxの追加 $ vagrant box add Win7Pro_x86 package.box # boxの確認 $ vagrant box list # 初期化 $ vagrant init Win7Pro_x86 # 起動 $ vagrant up # 停止 $ vagrant halt # 破棄 $ vagrant destroy
作ったBoxで起動&接続してみる
こっちも参考サイト様どおりやればOK!
最小のVagrantfileは以下な感じ
VAGRANTFILE_API_VERSION = "2" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| # Every Vagrant virtual environment requires a box to build off config.vm.box = "Win7Pro_x86" # Using winrm communicator config.vm.communicator = "winrm" # Port forward RDP config.vm.network :forwarded_port, guest: 3389, host: 13389 end
設定は、RDPのポートフォワーディングだけ。なので、固定IPは不要ー
なので、ゲストOSに接続するときは<ホストOSのIP>:13389
といった感じで、ポート指定で接続すればOK!
とりあえず、RDPで接続できるようになった!!以上!!