前回まででVirtualBox上に仮想サーバーを立てることができました。
CentOS6.2 on VirtualBoxでWebサーバーを構築 - sat0yuの日記
今回はちょっとしたテクニックとして、VirtualBox上のゲストOSをコマンドラインから操作する方法を紹介します。
MacOSXを前提として話を進めますが、Windowsでもファイルパスなどか若干異なる程度だったと思うので
興味のあるかたはググッてみてください。
準備
ここは読み飛ばしても構いませんが、行っておいたほうが何かと楽なので一応載せておきます
別に特別なことはしませんが、具体的にVirtualBoxへコマンドを送る際に使用するインターフェース
VBoxManageへパスを通しておきます。
と、ここまで書いて確認したら、VBoxManageは予めPATHの通った場所にインストールされるのですね。
基本コマンド
VBoxManageではたくさんの実行オプションが用意されていますが、
ゲストOSを起動する、一時停止する、パワーオフするなどといった基本操作はたった2つのコマンドで事足ります。
//指定したゲストOSが、バックグラウンドで起動
%VBoxManage startvm "ゲストOS名" --type headless//指定したゲストOSを操作する
%VBoxManage controlvm "ゲストOS名" [ poweroff | savestate | reset | pause | resume ]
controlvmにおける第2引数には、コントロールオプションを指定します
・poweroff: 現実世界では電源プラグを抜くことに相当します(僕も知らずに多用していましたw)
通常はゲストOS側でshutdown -h nowなど使って停止させましょう
・savestate: ゲストOSの状態を保存してからゲストOSを停止します。
通常起動(startvm)で、保存した状態を復元してゲストOSを起動できます
・pause/resume: ゲストOSを(プラグラム的な意味で)一時停止/再開させます。
ゲストOS自体のサスペンドとは異なるので注意してください。(そう捉えていただいても何ら問題ないのですがw)
savestateと異なり、ゲストOSの状態を保存していないので、
pauseしたままホストOS側を終了すると厄介なことになりそうです(怖くて試していません)
その他のコマンド
//VirtualBox上に作られたゲストOSの一覧を表示します
%VBoxManage list [ vms | runningvms| etc...]//指定したゲストOSの詳細を表示します
%VBoxManage showvminfo "ゲストOS名"//指定したゲストOSに関するホスト側の設定を変更します
%VBoxManage modifyvm "ゲストOS名" --設定項目 設定値
listでは第2引数が必要です。よく使うのはvmsとrunningvmsぐらいでしょう。
vmsは単純に、VirtualBox上に作成されているVirtualMacine(ゲストOS)の一覧を、
runningvmsはその名のとおり、現在動作しているゲストOSの一覧を表示します。
最後のmodifyvmに関してはオフィシャルページに詳細が公開されているので、そちらを参照してください
Chapter 8. VBoxManage
僕個人としてはきちんと視覚化された方が理解しやすいので、設定だけはGUIで行っています