Action disabled: source

Virtualbox

Headless

설치

저장소

sudo nano /etc/apt/sources.list

에 자신의 우분투 버전을 참조하여 아래의 저장소주소를 추가한다.

# 버추얼박스
deb http://download.virtualbox.org/virtualbox/debian xenial contrib

자신의 우분투 버전이름에 맞춰서 'xenial' 대신 'vivid', 'utopic', 'trusty', 'raring', 'quantal', 'precise', 'lucid', 'jessie', 'wheezy', 'squeeze' 를 넣으면 됨.

자신의 우분투 버전 모르면 lsb_release -a을 해보면 된다.

wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -

두 줄로 저장소주소에 대한 증명서를 추가.

설치

이제 업데이트 하고 설치.

sudo apt-get update
sudo apt-get install virtualbox-5.0

헉.. 이따구로 500mb를 설치한다고 나옴..

The following NEW packages will be installed:
  adwaita-icon-theme at-spi2-core binutils colord colord-data cpp cpp-5
  dconf-gsettings-backend dconf-service dkms fakeroot fontconfig gcc gcc-5
  glib-networking glib-networking-common glib-networking-services
  gsettings-desktop-schemas hicolor-icon-theme humanity-icon-theme libasan2 libasound2
  libasound2-data libasyncns0 libatk-bridge2.0-0 libatk1.0-0 libatk1.0-data libatomic1
  libatspi2.0-0 libaudio2 libauthen-sasl-perl libboost-filesystem1.58.0
  libboost-system1.58.0 libc-dev-bin libc6-dev libcaca0 libcairo-gobject2 libcairo2
  libcc1-0 libcilkrts5 libcolord2 libcolorhug2 libcroco3 libdatrie1 libdconf1
  libdrm-amdgpu1 libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libegl1-mesa libepoxy0
  libexif12 libfakeroot libfile-basedir-perl libfile-desktopentry-perl
  libfile-listing-perl libfile-mimeinfo-perl libflac8 libfont-afm-perl libfontenc1
  libgbm1 libgcc-5-dev libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-common libgirara-gtk3-2
  libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libgomp1 libgphoto2-6 libgphoto2-l10n
  libgphoto2-port12 libgraphite2-3 libgtk-3-0 libgtk-3-bin libgtk-3-common
  libgudev-1.0-0 libgusb2 libharfbuzz0b libhtml-form-perl libhtml-format-perl
  libhtml-tree-perl libhttp-cookies-perl libhttp-daemon-perl libhttp-negotiate-perl
  libice6 libieee1284-3 libio-socket-ssl-perl libipc-system-simple-perl libisl15
  libitm1 libjson-glib-1.0-0 libjson-glib-1.0-common libllvm3.8 liblsan0 libltdl7
  liblwp-protocol-https-perl libmailtools-perl libmirclient9 libmircommon5
  libmirprotobuf3 libmng2 libmpc3 libmpx0 libnet-dbus-perl libnet-http-perl
  libnet-smtp-ssl-perl libnet-ssleay-perl libnotify4 libogg0 libpango-1.0-0
  libpangocairo-1.0-0 libpangoft2-1.0-0 libpciaccess0 libpixman-1-0 libpoppler-glib8
  libpoppler58 libprotobuf-lite9v5 libproxy1v5 libpulse0 libqt4-dbus
  libqt4-declarative libqt4-network libqt4-opengl libqt4-script libqt4-sql
  libqt4-sql-mysql libqt4-xml libqt4-xmlpatterns libqtcore4 libqtdbus4 libqtgui4
  libquadmath0 librest-0.7-0 librsvg2-2 librsvg2-common libsane libsane-common
  libsdl-ttf2.0-0 libsdl1.2debian libsm6 libsndfile1 libsoup-gnome2.4-1 libsoup2.4-1
  libsynctex1 libthai-data libthai0 libtie-ixhash-perl libtsan0 libtxc-dxtn-s2tc0
  libubsan0 libvorbis0a libvorbisenc2 libwayland-client0 libwayland-cursor0
  libwayland-egl1-mesa libwayland-server0 libwww-perl libwww-robotrules-perl
  libx11-protocol-perl libx11-xcb1 libxaw7 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0
  libxcb-present0 libxcb-render0 libxcb-shape0 libxcb-shm0 libxcb-sync1 libxcb-xfixes0
  libxcomposite1 libxcursor1 libxdamage1 libxfixes3 libxft2 libxinerama1 libxkbcommon0
  libxml-parser-perl libxml-twig-perl libxml-xpathengine-perl libxmu6 libxrandr2
  libxshmfence1 libxt6 libxv1 libxxf86dga1 libxxf86vm1 linux-libc-dev make
  manpages-dev notification-daemon poppler-data qdbus qt-at-spi qtchooser qtcore4-l10n
  ubuntu-mono virtualbox-5.0 x11-utils x11-xserver-utils xdg-utils zathura
  zathura-pdf-poppler

계정

vbox 유저 만들기 :!: 유저폴더를 꼭 만들어야함.

sudo useradd -m vbox
sudo adduser vbox vboxusers

계정을 만들고 그 계정을 꼭 vboxusers에 등록해준다.

설정

/etc/default/virtualbox 파일을 만들자

VBOXWEB_USER=vbox
VBOXWEB_HOST=127.0.0.1

실행

실제 파일은 vboxwebsrv 이지만 설치될 때 vboxweb-service 스크립트가 생성된다. 1)

웹서비스 실행

sudo service vboxweb-service start
sudo service vboxweb-service status
wget http://download.virtualbox.org/virtualbox/5.0.20/Oracle_VM_VirtualBox_Extension_Pack-5.0.20-106931.vbox-extpack
sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.0.20-106931.vbox-extpack

정상적으로 실행이 되는것을 체크함.

이제 PhpVirtualbox를 설정한다.

extpack

여기에서 받음. 관리자로 설치. 설치/제거 시 관리자 권한이 필요하다.

sudo vboxmanage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.1.6-110634.vbox-extpack

보기

VBoxManage list extpacks

업데이트

sudo vboxmanage extpack install --replace Oracle_VM_VirtualBox_Extension_Pack-5.1.22-115126.vbox-extpack

명령어

VBoxManage list runningvms   # 보기

raw hard disk access

가상디스크가 아닌 물리디스크를 직접 연결하면 편하다. 물론 날라갈 수도 있지.

두 가지 방법이 있다. 물리적 HDD나 파티션을 직접 연결하여 사용이 가능하다.

VMDK

vboxmanage internalcommand 을 사용한다.

출처

윈도우

VBoxManage internalcommands createrawvmdk 
-filename "C:\Users\<user_name>\VirtualBox VMs\<VM_folder_name>\<file_name>.vmdk" 
-rawdisk \\.\PhysicalDrive#

리눅스

sudo VBoxManage internalcommands createrawvmdk \
-filename "</path/to/file>.vmdk" -rawdisk /dev/sdb

VBoxManage internalcommands createrawvmdk 
-filename "</path/to/file>.vmdk" -rawdisk /dev/disk#

VMDK파일에는 createrawvmdk 추가 옵션을 설정하여 물리적 HDD의 Cylinder 및 Section 정보가 기록되며, VBox에서 HDD를 연결하기 위한 uuid 정보가 생성된다.

VBoxManage명령은 root 계정으로 실행되어야 하기 때문에 sudo를 사용한다. root 소유로 되어 있기 때문에 파일 소유자를 변경해야 한다.

VirtualBox user 계경이 VMDK파일의 소유자이면서 연결된 디스크와 VMDK파일에 읽기/쓰기 권한이 있어야 한다. ( /dev/sda)

두가지 방법이 있다.

VirtualBox 를 루트계정으로 실행한다.

권한 설정

.vmdk 파일과 물리 디스크 /dev/sdX 에 적절한 권한이 있어야 한다.

  1. .vmdk이 접근이 가능한 디렉토리에 있는지 확인한다.
  2. .vmdk에 읽기/쓰기 권한이 있는지 확인한다.
  3. 사용할 디스크에 대한 읽기/쓰기 권한이 있는지 확인한다.
sudo chmod 666 /dev/sdc

명령행 없이 하는 법

같이보기

역링크