2018년 7월 9일 월요일

VirtualBox Command

% virtualbox
virtualbox 를 실행하면, 일반적으로 GUI 인터페이스가 나타난다.

리눅스 server 버전을 사용하든 desktop 버전을 사용하든,
virtualbox 는 GUI 인터페이스가 기본이다.

물론 GUI 가 여러모로 편하긴 하다.
그런데 종종 CUI 를 사용해야 할일이 생긴다.

구글링을 해보니, virtualbox 를 위한 CUI 가 존재한다.
'VBoxManager' 라는 command 가 있다.

이걸 사용해서, 가상 이미지를 생성할 수도 있고, 가상 머신을 실행할 수도 있다.
아래 표에 간단히 정리해 놓았다.

VBoxManage createvm가상 머신를 생성한다.
VBoxManage registervm가상 머신를 등록한다.
VBoxManage modifyvm가상 머신를 수정한다.
VBoxManage storagectl가상 머신의 storage controller 를 수정한다.
VBoxManage createmedium가상 머신의 storage 에 사용할 이미지를 생성한다.
VBoxManage storageattach가상 머신의 storage controller 의 storage 를 수정한다.
VBoxManage startvm가상 머신을 시작한다.
VBoxManage list vms가상 머신의 전체 리스트를 출력한다.
VBoxManage list runningvms가상 머신의 실행중인 리스트를 출력한다.
VBoxManage controlvm가상 머신을 컨트롤한다.
VBoxManage unregistervm가상 머신을 등록 해지한다.

만약 CentOS 를 예를 든다면, 아래처럼 command 를 사용하면 된다.
아래 예제에서 CentOS7.2 대신에 자신의 입맛대로 편하게 이름을 만들면 된다.


가상 머신를 생성한다.
만약 --register 옵션을 추가하면 등록도 같이 한다.
% VBoxManage createvm --name CentOS7.2 --register

가상 머신를 등록한다.
% VBoxManage registervm CentOS7.2

가상 머신를 수정한다.
--ostype : OS 의 타입을 Linux 로 설정한다.
--memory : 메모리 크기를 1GB 로 설정한다.
--vram : 비디오 메모리를 16MB 로 설정한다.
나머지 옵션들은 메뉴얼을 참고하면 된다.
% VBoxManage modifyvm CentOS7.2 --ostype Linux --memory 1024 --vram 16 --pae off --x2apic on --ioapic on --rtcuseutc on --mouse usbtablet --audio none

가상 머신의 storage controller 를 수정한다.
--storagectl : SATA 형태의 controller 를 추가한다.
% VBoxManage storagectl CentOS7.2 --name "SATA" --add sata --portcount 1

가상 머신의 storage 에 사용할 이미지를 생성한다.
--filename : 이미지 이름을 설정한다.
--size : 크기를 20G 로 설정한다.
--format : VDI 형태로 작성한다.
--variant : 가변적으로 사이즈 변경으로 설정한다.
% VBoxManage createmedium disk --filename CentOS7.2.vdi --size 20000 --format VDI --variant Standard

가상 머신의 storage controller 의 storage 를 수정한다.
--medium : SATA 에 CentOS_7.vdi 이미지를 연결한다.
% VBoxManage storageattach CentOS7.2 --storagectl "SATA" --port 0 --type hdd --medium CentOS7.2.vdi

가상 머신의 storage controller 를 수정한다.
--storagectl : IDE 형태의 controller 를 추가한다.
% VBoxManage storagectl CentOS7.2 --name "IDE" --add ide

가상 머신의 storage controller 의 storage 를 수정한다.
--medium : IDE 에 CD-ROM 을 연결한다.
% VBoxManage storageattach CentOS7.2 --storagectl "IDE" --port 0 --device 0 --type dvddrive --medium emptydrive

가상 머신를 수정한다.
--nic1 : 네트워크를 NAT Network 형태로 연결한다.
% VBoxManage modifyvm CentOS7.2 --nic1 natnetwork --nictype1 82540EM


가상 머신을 시작한다.
만약 headless 옵션을 추가하면 background 로 실행한다.
% VBoxManage startvm CentOS7.2 --type headless


가상 머신의 전체 리스트를 출력한다.
% VBoxManage list vms

가상 머신의 실행중인 리스트를 출력한다.
% VBoxManage list runningvms

가상 머신을 컨트롤한다.
acpipowerbutton : 본체의 종료 버튼을 누른 형식으로 가상머신을 종료한다.
% VBoxManage controlvm CentOS7.2 acpipowerbutton

가상 머신을 등록 해지한다.
% VBoxManage unregistervm CentOS7.2

그 외 더 많은 명령어와, 옵션들이 존재한다.
자신이 필요한것들을 더 찾아서 사용하면 된다.
그리고 쉘 스크립트와 연동해서, 자동적으로 virtualbox 를 관리할 수 있다.

옵션도 많고, 영어로 설명되어 있고,,,,, 휴 피곤하다.






출처
https://www.joinc.co.kr/w/Site/Development/Forum/manager/Command_Line_Power
https://blog.itanoss.kr/ko/command-line으로-virtualbox-vm-생성하기
https://www.virtualbox.org/manual/ch08.html
http://www.oracle.com/technetwork/articles/servers-storage-admin/manage-vbox-cli-2264359.html

댓글 없음:

댓글 쓰기

화곡 어쩌라고, 굴사냥

석화찜(굴찜)을 먹으러 여의도로 갔다 그런데 재료가 모두 소진되었다고 마감이라고 한다 응? 다들 굴에 미쳤나? 굴을 찾아 헤매다 보니, 화곡까지 가게 되었다. 화곡은 처음 가본다. 첫인상은 "술집 겁네 많네" 피똥쌀때까지 마실 수 있...