[작업환경]
1. Host : Windows 7
2. Virtualbox : Oracle VM VirtualBox 4.3.10 for Windows hosts
3. Guest : CentOS 6.5-x86_64 설치
4. Host Virtualbox 상 공유 폴더 이름 : share
5. Guest OS 상의 cdrom이 마운트 될 경로 : /mnt/cdrom
6. Guest OS 상의 공유 폴더가 마운트 될 경로 : /mnt/share
* Guest OS의 모든 작업은 root 권한으로 진행됩니다.
[목적]
VBox에서 Ubuntu와 CentOS 모두 돌릴 필요가 생겼다.
Oracle이 공식적으로 지원하는 OS는 RHEL이고
Oracle 설치를 위해선 이미 사용 중이던 Ubuntu는 이것저것 설치할게 많다고 해서
CentOS 6.5를 새롭게 설치했다(Minimal로 설치하여 매우 가난한 상태).
Ubuntu guest에서 기존에 받아놓은 Oracle RPM을 다시 다운로드하기 귀찮다.
그래서
1) 공유 폴더를 생성하여 기존 다운받은 RPM을 이동시켜 설치하고
2) 통상적인 여러 guest(Ubuntu와 CentOS 그리고 MS 기반도 존재)와 host(윈도우7)의 파일 공유 목적.
[문제점]
공유폴더 설정을 위해 'mount -t vboxsf 공유 폴더 목적지' 를 실행했지만 vboxsf 는 존재하지 않는다고 나옴
[처리 방법]
VirutalBox에서 제공하는 VBoxAdditions을 해당 OS에 맞게 설치해야 한다.
1. VirtualBox가 설치된 폴더(예 - C:\Program Files\Oracle\VirtualBox\)를 보면
VBoxGuestAdditions.iso 파일이 존재한다.
2. VirtualBox 의 CentOS guest 설정에서 iso 파일을 시디롬으로 읽어온다.
3. CentOS 에서 cdrom을 마운트한다.
# mkdir /mnt/cdrom (없을 경우)
# mount -t auto /dev/cdrom /mnt/cdrom
4. 읽어온 iso 내용은 다음과 같다. 나에게 필요한 것은 VBoxLinuxAdditions.run!!
# ls -l /mnt/cdrom
5. VBoxLinuxAdditions.run 을 실행한다.
# cd /mnt/cdrom
# ./VBoxLinuxAddtions.run
6. 그러나 아래와 같은 오류가 나는데 이유인즉 CentOS를 Minimal로 설치했기 때문에 당췌 설치된 게 없다.
그래서 yum으로 gcc와 kenel-devel을 설치해줬다.
# yum install gcc
# yum install kernel-devel-2.6.32-431.el6.x86_64
그래서 yum으로 perl 설치
7. 그러고 나니 아래 그림과 같이 VBoxLinuxAdditions는 잘 설치가 되었다고 나오네요.
그래서 share 디렉터리 비어있는 것 확인하고
# ls ../share (= ls /mnt/share)
공유 폴더 마운트를 합니다.
# mount -t vboxsf share /mnt/share
그리고 공유 폴더 내용 확인. 이전에 ubuntu에서 다운로드해서 저장해두었던 Oracle RPM 이 보입니다.
# ls /mnt/share
이렇게 해서 vboxsf 를 블로깅 하면서 하느라 힘들게 설치했다.
이제 오라클이 천천히 해봐야겠다.
아직 실무에서 오라클을 해본 적이 없지만 곧 시작하기 때문에 필요.
참조) Can not install Guest Additions in VirtualBox for CentOS 6 guest
관리자의 권한을 가진 상태에서 다음과 같이 입력하면 호스트 머신과 게스트 머신간에 공유되는 폴더를 사용 할 수 있다.
mount -t vboxsf HOST_DIR GUEST_DIR
만약 여기서 HOST_DIR이 정확하지 않다면 /sbin/mount.vboxsf: mounting failed with the error: Protocol error가 뜰 수 있으며, GUEST_DIR이 정확하지 않다면 /sbin/mount.vboxsf: mounting failed with the error: No such file or directory가 나올 수 있다. 그리고 호스트가 윈도우, 게스트가 리눅스인 경우 symbolic link를 사용하는 과정에서 오류가 발생할 수 있는데 이에 대해서는 다음 포스팅에서 다룰 예정이다.
'Academy I > Tech Academy' 카테고리의 다른 글
[Linux]설치된 Command의 경로, 정보를 얻는 명령들 (0) | 2014.12.31 |
---|---|
Linux Shell Programming (0) | 2014.12.22 |
Linux gdb 사용법 [II] (0) | 2014.12.22 |
Linux make 사용법 [II] (0) | 2014.12.22 |
Linux gdb 사용법 [I] (0) | 2014.12.19 |
Linux make 사용법 [I] (0) | 2014.12.18 |
Unix System Programming 10 (0) | 2014.12.16 |
Unix System Programming 9 (0) | 2014.12.16 |