30 06 2015
데스크탑 환경이 없는 리눅스 환경에 가상머신 툴 설치
VMware 등을 위시한 통칭 하이퍼바이저 유형 2의 가상머신 소프트웨어들은 게스트 운영체제에 각 가상머신 소프트웨어에 맞는 추가 유틸리티(이하 툴)를 설치해주지 않으면 가상머신이 온전한 성능을 발휘하지 못한다.
게스트 운영체제로 윈도우 등 GUI 운영체제만 설치해서 사용해본 경우라면 툴의 기능이 데스크탑의 해상도 확장 용도 정도로만 생각하는 경우도 보았고, 심지어는 게스트 운영체제로 GUI 운영체제를 사용할 것이 아니라면 툴이 필요없다고 생각하는 경우도 있는 것 같다. 하지만 사실, 툴은 게스트 운영체제와 호스트 운영체제 간의 상호 통신을 가능하게 해주고, 게스트 운영체제가 온전한 성능을 발휘할 수 있도록 해주며, 가상머신 프로그램이 제공하는 기능을 게스트 운영체제가 사용할 수 있도록 해준다. 이를 테면 VMware Workstation의 게스트 환경으로 윈도우 운영체제를 설치하고 VMware Tools를 설치했다면, 호스트와 게스트간의 파일 액세스가 가능한 공유 폴더 기능을 사용할 수 있다.
VMware에서 제공하는 VMware Tools 설치 및 구성이라는 문서에 의하면 VMware Tools가 제공하는 기능은 다음과 같다. 단, 해당 문서에도 모든 기능이 명시된 것은 아니기 때문에, 몇가지는 직접 추가했다.
- 게스트 운영체제로 GUI 운영체제가 설치된 경우, 운영체제 자체의 그래픽 성능의 향상
- 게스트 운영체제로 Aero를 지원하는 윈도우 운영체제가 설치된 경우, Aero가 훨씬 빠른 속도로 동작하도록 해줌
- 게스트 운영체제의 어플리케이션을 호스트 운영체제의 일반 어플리케이션처럼 보이도록 해주는 Unity 기능 제공
- 게스트와 호스트 간의 텍스트, 그래픽 및 파일의 복사 및 붙여넣기
- 게스트와 호스트 간의 드래그 앤 드롭을 이용한 파일 및 폴더의 복사
- 마우스 성능의 개선
- 게스트 시스템과 호스트 시스템의 클럭 동기화
- 게스트 운영체제 작업의 자동화를 지원하는 스크립트 작성
- 게스트 환경에서 호스트 환경의 파일에 접근할 수 있는 공유 폴더 기능
어째 대부분의 기능이 GUI 운영체제에서나 적용될 것 같다는 점은 일단 넘어가자 이러한 기능들이 있기 때문에, 어느 경우에라도 게스트 운영체제에는 가상머신 툴을 설치하는 것이 낫다. 물론 기능들을 살펴보면 알 수 있듯이, 이 기능들이 모든 게스트 운영체제에 적용되는 것은 아니고, 요새는 가상화 기술도 많이 발전했고 PC의 스펙도 높아졌기 때문에 게스트 운영체제의 성능 향상이 크게 와닿지 않을 수도 있기는 하다.
그런데 게스트 운영체제에 툴을 설치하는 것도 은근히 일이다. 게스트 운영체제가 GUI 운영체제라면 차라리 나은데, 그냥 가상머신 소프트웨어에서 “툴 설치” 메뉴를 선택하면 툴이 저장되어 있는 ISO 파일을 자동으로 게스트 운영체제에 마운트해주고, 이후 바로 설치 화면이 뜨는 경우도 있어서 크게 어렵지 않다. 그런데 게스트 운영체제로 데스크탑 환경이 설치되지 않은 CLI 환경의 리눅스를 설치해서 사용하고 있다면 수동으로 툴을 설치해줘야 하는데, 리눅스 환경이 익숙하지 않다던가 하는 이유로 설치를 어려워하는 경우가 많다 내 얘기임 . 그래서 나중에 필요할때 내가 볼라고 관련 내용을 가상머신 소프트웨어별로 여기에 정리해둔다.
사실 이 글을 보다 보면 알겠지만, 툴 설치는 대부분 빌드 툴 설치 → 커널 헤더파일 설치 → 툴 설치
의 순서대로 진행되는 경우가 일반적이기 때문에, 툴 설치 자체에만 익숙해지면 나중에는 설치한 게스트 운영체제에만 익숙해져도 대부분은 가상머신 소프트웨어와 관계 없이 쉽게 설치할 수 있다. 그렇지만 일단 이 문서는 내용을 죽 따라가면서 설치하는걸 전제로 작성하였기 때문에, 각 가상머신 소프트웨어별로 동일한 내용(사실은 운영체제 차원에서 선행 진행해야 할 내용)도 생략하지 않고 모두 명시했다 한마디로 복사/붙여넣기 .
가상머신 소프트웨어는 각각 VMware Fusion, Parallels Desktop, VirtualBox를 사용했으며, 테스트는 맥에서 진행했지만 Parallels Desktop을 제외한 나머지는 윈도우 PC에서도 동일한 수순으로 진행해서 툴을 설치할 수 있다. 또한 게스트 운영체제는 Ubuntu Server 14.04.2 LTS를 사용했으나, 다른 배포판이라도 해당 배포판에 맞는 패키지 관리자를 사용하는 것 외에는 크게 방법이 다르지 않을 것으로 생각된다.
또한, 각 툴들의 목적은 게스트 운영체제가 최대의 성능을 발휘할 수 있도록 하는 것과 게스트 운영체제가 가상머신 소프트웨어의 기능을 최대한 활용할 수 있도록 하는 것에 있기 때문에, 가상머신 소프트웨어가 업데이트 되었다면 툴도 그에 맞춰서 업데이트 해 줘야 한다. 이 문서에서는 툴의 업데이트에 대해서는 따로 명시하지 않는다 나도 안해봤거든 .
VMware Fusion에 VMware Tools 설치하기
- 참고 URL
아래 내용은 OS X용 소프트웨어인 VMware Fusion 뿐만 아니라 윈도우용 소프트웨어인 VMware Workstation에서도 동일하게 적용된다.
먼저 아래 명령어를 입력해서 설치된 패키지를 업데이트한다.
1 2 |
apt-get update apt-get -y upgrade |
설치된 패키지들을 업데이트 했다면, 프로그래밍에 필요한 빌드 툴을 설치한다.
1 |
apt-get -y install build-essential |
빌드 툴을 설치했다면 이번에는 사용중인 리눅스의 커널 헤더 파일을 설치한다.
1 |
apt-get -y install linux-headers-generic linux-headers-$(uname -r) |
커널 헤더 파일도 설치가 끝났다면, VMware Fusion 메뉴의 Virtual Machine > Install VMware Tools
를 선택한다. 해당 메뉴를 선택하면 VMware Tools CD를 가상 머신에 삽입한다는 메시지가 표시되는데, Install을 클릭해서 VMware Tools CD를 가상 머신에 삽입한다.
그리고 아래 명령어로 삽입된 CD를 /mnt 디렉토리에 마운트한다.
1 |
mount /dev/cdrom /mnt |
CD가 마운트 되었다면, VMware Tools의 설치 파일을 복사할 디렉토리를 생성해야 한다. 이 문서에서는 홈 디렉토리 아래에 tmp 디렉토리를 생성해서 사용하려고 한다.
tmp 디렉토리를 생성한 뒤, 해당 디렉토리로 이동한다.
1 2 |
mkdir ~/tmp cd ~/tmp |
VMware Tools CD에 들어있는 VMware Tools의 압축 파일을 방금 생성한 tmp 디렉토리로 복사한다. 해당 압축파일의 이름은 VMwareTools-x.x.x-xxxxxxx.tar.gz
형태로, x는 VMware Tools의 버전이나 릴리즈 넘버 등이 들어간다. 이것은 직접 파일 목록을 조회해서 확인하는 수밖에 없다.
1 2 |
ls /mnt # VMware Tools의 압축 파일의 이름을 확인 cp /mnt/VMwareTools-9.9.3-2759765.tar.gz ~/tmp |
복사했다면 압축 파일의 압축을 푼다.
1 |
tar -xvf VMwareTools-9.9.3-2759765.tar.gz |
압축이 모두 풀렸다면, 압축파일의 압축이 풀린 디렉토리로 이동한다.
1 |
cd ~/tmp/vmware-tools-distrib/ |
이후에는 VMware Tools의 설치 스크립트를 실행한다. 참고로 설치 스크립트는 반드시 관리자 권한으로 실행해야 한다 지금까지도 충분히 관리자 권한으로 실행해야 하는 명령어들이 잔뜩 있었지만 .
1 |
./vmware-install.pl -d |
설치 스크립트를 실행할 때 사용한 -d
옵션은 툴 설치시에 사용자에게 입력받아야 하는 내용을 입력받지 않고 모두 기본값으로 처리하도록 하는 옵션이다. 사실 다른 가상머신 소프트웨어의 툴에 비해서 VMware의 툴은 설치할때 사용자에게 입력받는 내용이 굉장히 많은 편이다. 물론 일반적인 경우에는 엔터만 치다 보면 다 넘어가기는 하지만, 그게 귀찮을 정도로 물어보니… 만약 -d
옵션을 주고 실행하면 사용자가 입력해야 하는 부분은 모두기본값으로 설치되지만, 해당 옵션을 주지 않고 실행하면 세세하게 설정을 지정해가면서 설치할 수 있다.
참고로 설치 스크립트는 Perl로 작성되어 있다. 만약 스크립트 실행이 안된다면 시스템에 Perl이 설치되어 있는지 확인한 뒤, 설치되어 있지 않다면 Perl을 설치한다. 대부분의 리눅스 배포판에는 Perl이 기본으로 설치되어 있으므로 별다른 문제는 발생하지 않으리라고 생각된다. 이 문서는 Perl을 설치하는 등의 문제 해결에 대해서는 생략한다.
설치가 끝났다면 설치 CD의 마운트를 해제해야 하겠지만, 테스트 결과 VMware Fusion 7.1.2 기준으로 VMware Tools 설치가 완료되면 설치 CD는 자동으로 마운트가 해제되고 가상 머신에서 제거된다. 만약 수동으로 마운트를 해제하려면 아래 명령어를 입력한다.
1 |
umount /mnt |
이렇게 해서 VMware Tools의 설치가 끝났다면 가상머신을 재시작한다.
1 |
reboot |
참고로, VMware의 경우는 게스트 운영체제로 설치된 리눅스가 GUI 데스크톱 환경이 설치되어 있는 환경이어도 동일한 방법으로 툴을 설치한다.
Parallels Desktop에 Parallels Tools 설치하기
패러렐즈에 패러렐즈 툴을 설치하는 것은 VMware랑 거의 비슷하다.
먼저 아래 명령어를 입력해서 설치된 패키지를 업데이트한다.
1 2 |
apt-get update apt-get -y upgrade |
설치된 패키지들을 업데이트 했다면, 프로그래밍에 필요한 빌드 툴을 설치한다.
1 |
apt-get -y install build-essential |
빌드 툴을 설치했다면 이번에는 사용중인 리눅스의 커널 헤더 파일을 설치한다.
1 |
apt-get -y install linux-headers-generic linux-headers-$(uname -r) |
메뉴에서 작업 > Parallels Tools 설치...
를 선택한다. 해당 메뉴를 선택하면 Parallels Tools 설치 CD를 가상 머신에 삽입한다는 메시지가 표시되는데, 계속
을 클릭해서 설치 CD를 삽입한다.
그리고는 아래 명령어로 삽입된 CD를 마운트한다.
1 |
mount /dev/cdrom /mnt |
CD가 마운트 되었다면, 마운트 포인트로 이동해서 설치 스크립트를 실행한다. 설치 스크립트는 반드시 관리자 권한으로 실행해야 한다.
1 2 |
cd /mnt ./install |
Parallels Tools는 텍스트 화면에서 옵션값을 입력받는 VMware와는 달리 대화식 설치 화면이 표시된다. 어렵게 생각할 것 없이 그냥 적당히 Next만 선택해줘도 알아서 잘 설치된다.
설치가 완료되었다면 아래 명령어로 CD의 마운트를 해제한다.
1 |
umount /mnt |
모든 단계가 완료되었다면 게스트 운영체제를 재시작한다.
1 |
reboot |
VirtualBox에 Guest Additions 설치
- 참고 URL
VirtualBox의 Guest Additions는 공식 문서가 분량이 좀 많아서, 다른 문서를 몇 개 더 인용했다.
먼저 아래 명령어를 입력해서 설치된 패키지를 업데이트한다.
1 2 |
apt-get update apt-get -y upgrade |
설치된 패키지들을 업데이트 했다면, 프로그래밍에 필요한 빌드 툴을 설치한다.
1 |
apt-get -y install build-essential |
빌드 툴을 설치했다면 이번에는 사용중인 리눅스의 커널 헤더 파일을 설치한다.
1 |
apt-get -y install linux-headers-generic linux-headers-$(uname -r) |
커널 헤더 파일을 설치했다면 DKMS(Dynamic Kernel Module Support)를 설치해야 한다. DKMS라는 것은 영문 위키피디아의 DKMS 항목을 보건데, 커널의 새 버전이 설치되고 업그레이드가 되더라도 별다른 작업 없이 계속 동작하도록 해 주는 모듈인 것 같다. 영어가 딸려서 이 이상은 잘 모르겠다-_-
여하튼, 아래 명령어로 DKMS를 설치한다.
1 |
apt-get -y install dkms |
DKMS가 설치되었다면 메뉴에서 Devices > Insert Guest Additions CD Image...
를 선택한다. 선택한 뒤에는 아래 명령어를 입력해서, 가상 머신에 삽입된 Guest Additions CD를 마운트한다.
1 |
mount /dev/cdrom /mnt |
CD가 마운트 되었다면, 현재 디렉토리를 CD의 마운트 포인트로 이동한 후, 설치 스크립트를 실행한다. 설치 스크립트는 반드시 관리자 권한으로 실행해야 한다.
1 2 |
cd /mnt sh ./VBoxLinuxAdditions.run |
설치는 사용자의 별다른 입력같은거 없이 자동으로 이루어지며(설치할 것이냐는 질문 정도는 물어봤던 것도 같다. 그냥 yes
를 입력해주면 된다), 설치가 완료되었다면 CD를 마운트 해제한다.
1 |
umount /mnt |
이후에는 게스트 운영체제를 재시작한다.
1 |
reboot |
참고로, 독특하게도 VirtualBox의 Guest Additions는 패키지 저장소를 이용해서 간편하게 설치할 수도 있다. 하지만 이 방법이 권장되지는 않는데, 왜냐하면 당연하게도 시스템에 설치되어 있는 VirtualBox에 포함되어 있는 Guest Additions가 해당 VirtualBox에 가장 잘 맞는 버전이기 때문이다. 필요에 따라서 구버전 VirtualBox를 사용하고 있다거나, 반대로 최신버전 VirtualBox를 사용하고 있더라도 Guest Additions의 최신 버전은 모종의 이유로 저장소에 등록되지 않는 등, 현재 설치된 VirtualBox와 맞지 않는 Guest Additions를 설치하게 될 가능성은 낮지 않다.
비록 권장되지는 않는 방법이지만, Guest Additions를 저장소를 통해 설치하려 한다면 아래 명령어를 이용해서 설치한다.
1 |
apt-get -y install virtualbox-guest-x11 |
사용중인 리눅스 배포판의 종류와 버전 확인 Raspbian을 Wheezy에서 Jessie로 업그레이드