기존의 Vmware 와 비슷한 기능을 가지고 있지만, GPL Lincense를 가지고 있어서,
무료로 사용이 가능하여 많은 개발자들이 사용하는 프로그램이다
- Download
https://www.virtualbox.org/wiki/Downloads
- VirtualBox platform packages. (GPL version 2)
- VirtualBox 4.3.6 Oracle VM VirtualBox Extension Pack (PUEL Licence )
다운파일
- 기본패키지: VirtualBox-4.3.6-91406-Win.exe
- 확장패키지: Oracle_VM_VirtualBox_Extension_Pack-4.3.6-91406.vbox-extpack
Manual:
https://www.virtualbox.org/manual/ch01.html#intro-installing
1.1 기본패키지 설치
다음과 같은 방법으로 다운받은 파일로 VirtualBox 설치 및 설정하기
1.2 확장패키지 추가.
USB2.0 과 그 밖의 기능을 제대로 사용하기위해서 사용한다.
아래 메뉴에서 확장패키지 추가
파일->환경설정->확장
- USB기능 활용
아래메뉴에서 기본적으로 사용할 것만 설정.
Virtual Box->설정->USB
*USB인 경우, 실행 중인 Virtual Box->장치->USB 장치 에서도 조절이 가능
*기타 다른기능은 확장메뉴얼 참고
확장메뉴얼
2. 새로운 가상머신
새로운 가상머신과 가상하드디스크 만들기
머신->새로만들기
- SSD를 사용하면, 가급적 동적할당 설정
- 하드디스크를 이용하면, 고정크기를 권장.
- 메모리는 항상 본인의 Memory의 반 정도가 적당
2.1 Virtual Box 확인
메모리의 Host Memory의 50%를 넘어서는 안된다고 합니다.
즉,권고사항 Guest OS Memory 사용은 Host OS Memory의 50% 정도
두개의 파일을 확인을 하실 수 있습니다.
PATH: C:\Users\사용자이름\VirtualBox VMs\ubuntu_12.04_64
- ubuntu_12.04_64.vbox
- ubuntu_12.04_64.vdi
2.2 Virtual Box 설치기본설정
아래에서 Linux Ubuntu 이미지를 연결하여 Booting 준비
- 설정->저장소->컨트럴러:IDE : LINUX 이미지 연결.
2.3 성능관련 설정 및 불필요한 기능 삭제
- 설정->시스템->프로세서
- 설정->시스템->마더보드->부팅순서 (옵션)
기본적으로 본인이 Virtual Machine을 만들 때 OS를 제대로 선정 했다면,
큰무리가 없으므로, 2.4 ~ 2.5 까지는 확인만 하고 넘어가자.
2.4 세부 관련설정 확인 및 변경
아래의 설정은 기본적으로 확인하고 변경을 하자.
보통기본적으로 본인이 선택한 OS에 맞게 설정이 되어있지만 확인용으로 확인하자.
- 설정->시스템->마더보드->확장된 기능 (확인)
아래의 사이트에서 3.1.2. 64-bit guests 확인
https://www.virtualbox.org/manual/ch03.html#intro-64bitguests
** I/O APIC: I/O Advanced Programmable Interrupt Controller
http://www.intel.com/design/chipsets/datashts/290566.htm
- 설정->시스템->프로세서 (확인)
위 기능은 사실 Virtual Box에서 RAM을 확장을 많이 하지 않을 것이고,
Memory Map도 확장할 일이 없을 거 같아 나에게 있어서는
사실 별로 불필요한 설정 같다.
**PAE/NX: Physical Address Extension
32bit Machine 일 경우 물리적으로 4GB Memory Map 가질수 밖에 없다.
그래서 이 Memory Map 주소를 확장하기위해서 사용하는 기술
OS에서 이를 4bit 확장하여 64GB를 가지는 것이므로 혼동하지 마시길.
결론적으로, (32bit Machine의 Memory Map)
2.5 가상화 관련 설명 및 이해
- 가상화( Virtualization) 란?
Virtual Box에서 가상 CPU 및 관련 Device를 만들어 제공해주는 시스템을 말한다
- 전가상화(Full Virtualization)/반가상화(Para Virtualization) 이란?
가상화 종류는 다음과 같이 두 종류로 나뉘어 지며, Virtual Box에서는 반가상화를 지원한다.
하이퍼바이저 (Hypervisor) : 반가상화를 할 경우, 실제 CPU를 사용하는것이 아니라,
하이퍼바이저라는 CPU를 사용하여 가상화를 진행한다.
- 전가상화(Full Virtualization): Guest OS의 수정 없이 진행이 되는 전체 가상화를 말한다.
- 반가상화(Para Virtualization): Guest OS에서의 수정이 필요하며, Linux에서는 KVM과 같이 돌아간다.
- Virtual box의 가상화
현재 Virtual Box는 전가상화 및 반가상화 역시 지원이 되고 있다.
이전 모델은 전가상화이지만, 현재 새버전들은 반가상화 버전으로 설정이 가능하다.
그리고, 현재의 흐름은 반가상화버전으로 가는 것 같다.
https://www.virtualbox.org/wiki/Virtualization
2.6 가상화 관련 설정확인
하이퍼바이저 설정확인
- 설정->시스템->가속->반가상화 인터페이스 (확인)
- 기본값: KVM으로 설정 ( Linux 했을 경우)
- 없음 : 반가상화 사용안함
- 레거시 : 이전 버전의 반가상화 버전으로 이전 Virtualbox와 호환
- 최소 : Mac OS 용 Hypervisor
- Hyper-V : MS Window 용 Hypervisor
- KVM : Linux 용 Hypervisor
** 반가상화 주의사항
반가상화을 설정했을 경우에는 Guest OS에서도 이에 관련하여 완벽히 지원이되어야 한다.
현재 Linux에서는 KVM을 지원을 해줘야한다. (Kernel 2.6.x 이상 )
http://www.linux-kvm.org/page/Choose_the_right_kvm_%26_kernel_version
- 설정->시스템->가속
VT-X/AMD-V 사용하기 : 문제 발생했다면 본인의 컴퓨터 BIOS 확인하자
3. Guest OS(Ubuntu) 설치
Ubuntu Desktop version 설치
이유는 용량문제로 필요없는부분은 사용하지 않기위해서이다.
1. 설치->언어
한국어 설정
2. 설치->키보드 배치
언어 : English -> 한국어 변경
키보드 배치 : 한국어 - 한국어(101/104)
** VT-X/AMD-V 이란?
Intel은 VT-X / AMD은 AMD-V
CPU에서 Virtualization 가속기능을 제공하고 있으며, 이 기능을 사용하는 것이다.
설정확인은 본인의 BIOS에서 CPU VT-X 기능이 OFF 되어있는지 확인하자.
2.6 최종 설정 확인
아래는 나의 랩탑의 설정후 예제들이다.
- 가속->반가상화 인터페이스 설정변경: Legacy 설정
- 가속->반가상화 인터페이스 설정변경: 기본값
기타확인사항
- 이미지가 CPU- 64bit or 32bit 인지 확인
- 네임명을 64로 하면, 아이콘에 현재 64가 발생. 추후 추가 패키지 설치 요망.
**주의사항
동시에 두개의 가상머신을 사용하지 말도록 하자. 아래의 매뉴얼을 보면, 권고사항이 있다.
Ubuntu Desktop version 설치
이유는 용량문제로 필요없는부분은 사용하지 않기위해서이다.
1. 설치->언어
한국어 설정
2. 설치->키보드 배치
언어 : English -> 한국어 변경
키보드 배치 : 한국어 - 한국어(101/104)
3. 설치->설정
ID와 Password 설정 후 설치 진행
ID와 Password 설정 후 설치 진행
3.1 설치후 Package 관련명령 숙지
아래는 apt-get을 이용한 pakage 관리하는 방법이다.
1. apt-get install pkg // 패키지 설치 2. apt-get remove pkg // 패키지 제거 3. apt-get remove --purge remove pkg // 관련 패키지 삭제 4. apt-cache show pkg // 패키지 정보 5. apt-cache search pkg // 패키지 검색 6. dpkg -l // 현재 전체 설치된 패키지 정보 7. dpkg -l | grep pkg // 현재 설치된 패키지 검색 pkg: package name
3.1 설치후 SSH 관련설치
우선 Ubuntu 설치후 대시홈 좌측의 맨위버튼에서 터미널 (Terminal) 을 실행하고 실행중이
이를 찾아 좌측의 Launcher에 고정시키자.
SSH 관련 항목 설치 (SSH Server 설치 )
* 설치항목 확인학인하고 SSH Server 를 설치
$ dpkg -l |grep ssh // ssh 관련부분이 설치되어있는지 확인 $ sudo apt-get install openssh-server $ sudo apt-get install vim // vim 방향키 문제가 있어 다시 설치
이제 xshell로 이용하여 외부에서 접속이 가능하다.
3.3 게스트 확장 준비
dkms를 설치 안해도, non-dkms version으로 동작하는 것 같음. (legacy)
아래의 upgrade와 update는 개발환경의 Manual을 반드시 참조하자.
upgrade와 update는 시간이 오래걸리는 작업이며, linux 관련 package가 변경이 된다.
$ sudo apt-get upgrade // 기존가지고 설치된 패키지를 새버전으로 Upgrade. $ sudo apt-get update //현재 버전에서 설치되어진 패키지 리스트를 변경
$ sudo apt-get install build-essential module-assistant $ sudo apt-get install dkms
Linux 게스트확장 메뉴얼
https://www.virtualbox.org/manual/ch04.html#idp95340944
- 기본설치후 한글설정이 이상동작일 경우
- 시스템설정->언어 (IBUS->한글 전환)
- 시스템설정->텍스트 입력창 ( 한국어/영어 존재 확인 )
https://blog.xianchoi.kr/315
3.4 게스트확장 설치
- Virtual Box 시작
- 실행중인 Virtualbox의 메뉴 중 장치-> 게스트 확장 설치 실행
- 자동실행되고 확장을 설치한다
- 시간이 상당히 걸린다 (*메시지를 잘보자 )
- 리부팅
아래는 14.04 설치때 설치중인 상황이다. 아래와 같이
Press Return to close this window 때까지 기다리자.
제대로 설치가 될 경우, Virtual Box의 화면 Resizing 제대로 동작한다.
4. Ubuntu Server 개발환경설정 (TFTP,NFS)
Virtual Box를 위와 같이 설치 후에
개발을 하기위해서 TFTP Server 및 DHCP, NFS, SAMBA Server 관련설정 정보
아래의 사이트를 참고
http://ahyuo79.blogspot.com/2015/07/ubuntu-1204.html
http://ahyuo79.blogspot.com/search/label/DevelEnv
5. Virtual Box 기본편의설정
(머신->설정)
- 설정->일반->고급 :
드래그앤드롭: 양방향 or 호스트에서 게스트 설정 ( 권장)
**주의사항
클립보드 공유: version이 낮을 경우 동작이 제대로 안된는 경우가 있다.
드래그앤드롭: 동작이 잘 되지 않음 Host에서 Guest OS로 파일을 탐색기끼리 가져오는데, 동작 잘 안됨.
클립보드-사용방법
실행 중인 Virtual Box -> 클립보드 공유 or 드래그 앤 드롭 : 방향을 설정
5.1 공유폴더 설정 및 환경설정
게스트 확장설치 후, 아래와 같이 수정을 해주면, 공유폴더의 퍼미션문제가 쉽게 해결
다음 재부팅 후, 아래와 같이 확인
**기타사항
Guest로 로그인하고, sudo를 사용하면 아래와 같은 message 확인되므로, 본인 userid로 로그인
Guest ID로 sudo를 사용하고 싶다면,아래와 같이 TTY를 사용
5.2 Network 공유 (옵션)
본인의 가상머신의 Network 설정을 브릿지모드로 설정했을 경우
아래와 같이, 본인의 Host Window에 손쉽게 접근이 가능하므로, 윈도우에서 폴더 공유를 하여
Network 공유를 하여도 무방하다.
5.3 USB 설정 (옵션)
GUEST OS(Linux) 에서 USB를 제대로 사용하기 위해서는
VM Virtual Box 관리자 의 머신 -> 설정 -> USB 에서 USB 필터를 등록을 해줘야 사용가능.
이는 USB 인식가 어디에 인식이 되는가 이기 때문이므로, 본인이 필요할 경우 사용.
이를 제대로 사용하기위해서는 Virtual Box USB , Window Driver가 제대로 동작.
** 현재 본인은 가급적 사용을 안하는 편입니다.
A. 일단 동작 중인 Virtual Box에 원하는 USB가 자동으로 나오는지 확인
(필터를 등록했을 경우, 자동으로 Check가 됨)
(Virtual Box USB Driver 가 없을 경우도, 자동으로 인식)
B. 위의 필터등록확인
C. Linux에서 lsusb로 확인
Virtual Box USB Driver
Download: http://www.driverscape.com/download/virtualbox-usb
Path: C:\Program Files\Oracle\VirtualBox\drivers\USB\device
- 쓰는 도중 인식 불능 오류발생후)
USB장치가 두개로 인식할 경우,
USB 필터를 삭제하고, 다시 부팅 그리고, 필터 추가.
5.4 VirtualBox 현재 상태확인 (옵션)
아래와 같이 virtual machine의 우측 아래 현재 본인의 설정의 상태를 쉽게 알수 있는 아이콘이 존재하며,이를 이용하여 현재 상태를 확인하자.
6. 64Bit OS 확인사항
기본적으로 32Bit OS를 사용하면 CPU를 한개를 사용하지만, 64bit는 다르다.
64bit OS는 I/O APIC를 사용하여, CPU를 여러개 사용한다.
Window를 제외하고 이기능은 제대로 동작하지 않는 것 같다. (자세한내용은 원문)
하지만, 성능을 위해서 64bit로 설치했다.
리눅스도 제대로 되기를 바라며^^
https://www.virtualbox.org/manual/ch03.html#settings-motherboard (Note & Warning 확인)
https://www.virtualbox.org/manual/ch03.html#intro-64bitguests (Warning 확인)
7. Virtual Box 메뉴얼
아래는 메뉴얼은
C:\Program Files\Oracle\VirtualBox\VBoxManage.exe
http://www.virtualbox.org/manual/ch08.html
실행 중인 Virtual Box -> 클립보드 공유 or 드래그 앤 드롭 : 방향을 설정
5.1 공유폴더 설정 및 환경설정
- 설정->공유폴더 ->머신폴더: 공유폴더 설정.
게스트 확장설치 후, 아래와 같이 수정을 해주면, 공유폴더의 퍼미션문제가 쉽게 해결
$ sudo vi /etc/group ..... ..... vboxsf:x:1001:jhlee --- > vboxsf 찾은 다음 자신의 ID 추가
다음 재부팅 후, 아래와 같이 확인
$ ls /media/sf_Share/ // mount data 확인
**기타사항
Guest로 로그인하고, sudo를 사용하면 아래와 같은 message 확인되므로, 본인 userid로 로그인
Guest ID로 sudo를 사용하고 싶다면,아래와 같이 TTY를 사용
sudo: unable to change to root gid: Operation not permitted Ctrl+Alt+F1 (TTY1) Ctrl+Alt+F7 (GUI 화면 복귀)
5.2 Network 공유 (옵션)
본인의 가상머신의 Network 설정을 브릿지모드로 설정했을 경우
아래와 같이, 본인의 Host Window에 손쉽게 접근이 가능하므로, 윈도우에서 폴더 공유를 하여
Network 공유를 하여도 무방하다.
5.3 USB 설정 (옵션)
GUEST OS(Linux) 에서 USB를 제대로 사용하기 위해서는
VM Virtual Box 관리자 의 머신 -> 설정 -> USB 에서 USB 필터를 등록을 해줘야 사용가능.
이는 USB 인식가 어디에 인식이 되는가 이기 때문이므로, 본인이 필요할 경우 사용.
이를 제대로 사용하기위해서는 Virtual Box USB , Window Driver가 제대로 동작.
** 현재 본인은 가급적 사용을 안하는 편입니다.
- 동작이 안될 경우,
- 인식이 안될 경우
A. 일단 동작 중인 Virtual Box에 원하는 USB가 자동으로 나오는지 확인
(필터를 등록했을 경우, 자동으로 Check가 됨)
(Virtual Box USB Driver 가 없을 경우도, 자동으로 인식)
B. 위의 필터등록확인
C. Linux에서 lsusb로 확인
Virtual Box USB Driver
Download: http://www.driverscape.com/download/virtualbox-usb
Path: C:\Program Files\Oracle\VirtualBox\drivers\USB\device
- 쓰는 도중 인식 불능 오류발생후)
USB장치가 두개로 인식할 경우,
USB 필터를 삭제하고, 다시 부팅 그리고, 필터 추가.
5.4 VirtualBox 현재 상태확인 (옵션)
아래와 같이 virtual machine의 우측 아래 현재 본인의 설정의 상태를 쉽게 알수 있는 아이콘이 존재하며,이를 이용하여 현재 상태를 확인하자.
6. 64Bit OS 확인사항
기본적으로 32Bit OS를 사용하면 CPU를 한개를 사용하지만, 64bit는 다르다.
- 설정->시스템->마더보드
64bit OS는 I/O APIC를 사용하여, CPU를 여러개 사용한다.
Window를 제외하고 이기능은 제대로 동작하지 않는 것 같다. (자세한내용은 원문)
하지만, 성능을 위해서 64bit로 설치했다.
리눅스도 제대로 되기를 바라며^^
https://www.virtualbox.org/manual/ch03.html#settings-motherboard (Note & Warning 확인)
https://www.virtualbox.org/manual/ch03.html#intro-64bitguests (Warning 확인)
7. Virtual Box 메뉴얼
아래는 메뉴얼은
C:\Program Files\Oracle\VirtualBox\VBoxManage.exe
http://www.virtualbox.org/manual/ch08.html