Командна линија Virtualbox. Малата тајна на VirtualBox: командната линија. Создавање виртуелна машина


Објавено од Кен Хес
Датум на објавување: 18 јануари 2010 г
Превод: Н.Ромоданов
Датум на превод: февруари 2010 година

Редовните корисници на VirtualBox можеби не се свесни за огромната моќ што се наоѓа во интерфејсот на командната линија.

Луѓето обично прашуваат: "Зошто да ја користите командната линија кога имате совршено добар GUI?" Одговорот е огромната моќ на командната линија. Од 1995 година, постои цела генерација на компјутерски корисници кои веруваат дека компјутерот е збирка на прозорци и графики, но во реалноста тоа е многу далеку од вистината. Зошто, 1995 година, прашувате? Со доаѓањето на Windows 95 во 1995 година, беше отворена нова компјутерска ера - ерата на графички интерфејси. Набргу по тој кобен август, беше објавен FVWM95, што беше одговорот на Linux на интерфејсот на Windows 95 Explorer. Ми се чини дека во тие стари добри времиња командната линија исчезна засекогаш. Никој повеќе не сакаше да користи DOS и престанаа да се плашат од Linux. Но, командната линија е сè уште жива и здрава во околината на Linux. Сè уште е доста жив во Windows. И сега кога Mac компјутерите се базирани на Unix, тие исто така имаат многу работи за кои не е потребен GUI.

Можеби ќе ве изненади што под прекрасниот графички интерфејс на VirtuaBox, со својата светла графика, јасна страница со поставки и голем број паѓачки списоци, се крие окултниот свет на командната линија. Вистинската моќ на овој мрачен свет ќе им биде откриена само на оние кои се осмелуваат да влезат во овие мувливи катакомби. Откако ќе се справите со командната линија VirtualBox, може да одлучите дека GUI е малку повеќе од само убава перде дизајнирана за оние кои инаку едноставно би го игнорирале здодевниот црн правоаголник на вистинската апликација која работи.

Моќта на командната линија

Црниот правоаголник за кој зборував е терминалниот прозорец. Командната линија ви овозможува целосно да ја искористите моќта на автоматското извршување на командата. Единствениот метод за автоматизација за кој знам во *nix системи е употребата на скрипти напишани во Perl, скрипти на школка или скрипти на некој друг јазик. И демонот на распоредувачот на системот (cron) ќе ви помогне да ја извршите скриптата во вистинско време. Ова е моќта на командната линија, која, благодарение на можноста за автоматско извршување, што исто така бара од администраторите на системот да можат да пишуваат скрипти, е нивниот сет на вештини. Секое слободно работно место за кое е потребен системски администратор ќе укаже дека апликантот мора да може да пишува скрипти на барем еден од толкуваните јазици наведени во слободното работно место.

Кога станува збор за виртуелизација, командната линија ви овозможува брзо да креирате виртуелни дискови, да додадете нов мрежен интерфејс, да стартувате виртуелни машини и да креирате нови виртуелни машини, сето тоа без користење на GUI. Автоматското извршување преку скрипти исто така ќе ви овозможи да закажете стартување и стопирање на виртуелните машини без ваша директна интервенција. И, ако сте навистина одличен скриптер, можете да напишете скрипта што ќе ве води, со минимална интервенција од ваша страна, да креирате виртуелна машина, да ја стартувате или да ја инсталирате и промените. Ако не сакате да правите сè рачно, ќе направите листа на виртуелни машини што ги користите цело време, потоа ќе поставите скрипти (шаблони) за секој тип на виртуелна машина што ја користите и, доколку е потребно, ќе создадете виртуелна машина во рок од неколку секунди.

Ајде да ја погледнеме едноставната и елегантна функционалност на командната линија во VirtualBox.

Инсталација и главни компоненти

Користете ја врската VirtualBox Linux Downloads за да ја преземете бинарната дистрибуција дизајнирана за вашиот систем. Ако сакате, можете да го преземете изворниот код. За опцијата што ја избрав (за RHEL5/CentOS5 во формат на вртежи во минута), беа креирани следните директориуми:

  • За бинарни модули - /usr/lib/virtualbox со врски од /usr/bin
  • За библиотеки - /usr/lib/virtualbox
  • За изворни кодови - /usr/share/virtualbox
  • За гостински компоненти (ISO) - /usr/share/virtualbox

Ако вашата дистрибуција ја нема најновата верзија на VirtualBox (верзија 3.1.2 во моментот на пишување), тогаш користете еден од пакетите што може да се преземат или преземете го изворниот код.

Креирање и конфигурирање на виртуелна машина

Најтешката работа за користење на командната линија е да знаете од каде да започнете. Во графичкиот интерфејс треба да го користите копчето Ново. Командната линија ги открива своите тајни малку покомплексно. За да креирате и конфигурирате нова виртуелна машина, мора да отворите терминален прозорец или да користите ssh сесија за да пристапите до системот Linux на кој е инсталиран VirtualBox и да ја извршите следнава команда:

$ /usr/bin/VBoxManage createvm --name Debian5 –register

Оваа команда создава нова виртуелна машина со име Debian5 и ја регистрира со VirtualBox. Создадената виртуелна машина е XML-датотека која се наоѓа во домашниот директориум ~/.VirtualBox/Machines/Debian5/Debian5.xml.

Направете виртуелен диск за вашата виртуелна машина:

$ /usr/bin/VBoxManage createhd --име на датотека Debian5.vdi --големина 4000 --варијанта Поправено

Создадовте виртуелен диск со име Debian5.vdi со големина од 4 GB (4000 MB); големината е фиксна, односно не се зголемува динамично.

Виртуелниот диск е креиран како датотека ~/.VirtualBox/HardDisks/Debian.vdi

Направете контролер на уредот за диск на кој ќе го прикачите виртуелниот диск и виртуелниот CD/DVD уред

$ /usr/bin/VBoxManage storagectl Debian5 --име „IDE Controller“ --add ide --controller PIIX4

Користејќи ја оваа команда, се креира IDE контролер со името „IDE Controller“, типот на контролорот е PIIX4.

Сега ајде да го поврземе виртуелниот диск со вашата виртуелна машина:

$ /usr/bin/VBoxManage storageattach Debian5 --storagectl „IDE Controller“ --port 0 --device 0 --type hdd --medium Debian5.vdi

Поврзете ја ISO сликата на оперативниот систем што сакате да го инсталирате:

$ /usr/bin/VBoxManage storageattach Debian5 --storagectl „IDE Controller“ --port 0 --device 1 --type dvddrive --medium /ISO/debian-40r3-i386-netinst.iso

Поставување на мрежата:

$ /usr/bin/VBoxManage modifyvm Debian5 --nic1 bridged --cableconnected1 на --bridgeadapter1 eth0

Користејќи ја оваа команда, се креира мрежен интерфејс NIC од типот мост: кабелот е поврзан кога ќе се стартува системот Линукс, адаптерот е eth0.

Ајде да ја стартуваме виртуелната машина:

$ /usr/bin/VBoxManage startvm Debian5

Ако сè оди според планираното, ќе ја видите следнава порака, а потоа ќе го видите прозорецот на виртуелната машина подготвен за инсталација:

Се чека да се отвори далечинската сесија... Далечинската сесија е успешно отворена.

Гледате, креирањето и конфигурирањето на виртуелна машина од командната линија ве ослободува од бескрајните кликнувања на глувчето и отвора сосема нов свет на можности за автоматизација на виртуелната машина. Овде не навлеговме премногу длабоко, но се надевам дека ова ќе ја разбуди вашата љубопитност и ќе ве поттикне да ја истражите огромната моќ што ја има командната линија.

Ако ви се допадна статијата, споделете ја со вашите пријатели:

Виртуелизација...виртуелизација...
Во денешно време секој се обидува да притисне што е можно повеќе од своите хардверски ресурси. Да се ​​има неколку посебни компјутери со различни оперативни системи е малку скапо и не сите организации ќе го направат тоа. Но, постои излез, можете да користите виртуелни машини. И можно е многу луѓе да го користат прекрасниот производ од Sun „VirtualBox“ за овие цели. Сигурен сум дека повеќето луѓе го користат интерфејсот GUI за конфигурација, бидејќи ... тоа е многу јасно и практично. Но, колку луѓе размислувале за можноста за управување со VirtualBox преку конзолата?
Беше поставена задача: да се инсталираат два оперативни системи (Ubuntu и Windows) на еден сервер. Во исто време, имаше сервер кој работи со Ubuntu 9.04 Server Edition. Затоа, беше одлучено да се инсталира Windows XP како гостин систем.
Но, се појави проблем на Ubuntu: не беше инсталирана графичка околина, т.е. има само гола конзола.

Значи она што го имаме:

  • Домаќин систем: Ubuntu 9.04 Server Edition
  • VirtualBox 2.2.2
  • Гостин систем: Windows XP

Инсталирање на VirtualBox

Преземете го пакетот за Ubuntu 9.04 од официјалната веб-страница на VirtualBox
По преземањето, извршете ја командата:
dpkg -i virtualbox-2.2_2.2.2-46594_Ubuntu_jaunty_i386.deb
VirtualBox треба да се инсталира. Ако имате проблеми со инсталирањето на пакетот, проверете ги пораките за грешка. Можеби не ги имате инсталирано потребните пакети. Во мојот случај, го немав инсталирано пакетот libxslt1.1, што веднаш беше поправено со командата sudo apt-get install libxslt1.1.
Додадете се во групата vboxusers
sudo usermod -a -G vboxusers корисничко име

Создавање виртуелна машина

За почеток, вреди да се напомене дека за управување со виртуелни машини преку конзолата, се користи една команда VBoxManage (иако има многу параметри).
Да почнеме.
  1. Прво, ајде да создадеме автомобил и веднаш да го регистрираме
    VBoxManage createvm -име virtual_machine_name -регистрирај се
  2. Следно, треба да креирате диск за машината
    VBoxManage createhd --име на датотека disk_name --size disk_size in_megabytes
    Можно е да се избере типот на диск VDI (VirtualBox), VMDK (VMWare), VHD (Microsoft Virtual PC). Стандардно, се разбира, VDI :).
  3. Ние правиме дополнителни поставки за нашата виртуелна машина. Дозволете ни да посочиме:
    • Тип на оперативен систем за гости. За да добиете листа на поддржани оперативни системи, извршете ја командата VBoxManage list ostypes
    • Големина на распределба на меморијата
    • Име на главниот диск
    • Способност за користење VRDP (Протокол за далечинска работна површина VirtualBox)
    VBoxManage modifyvm virtual_machine_name --ostype OS_type --memory memory_ize in_megabytes --hda disk_name --vrdp on
  4. Ајде да ја поврземе сликата на дискот од која ќе инсталираме Windows XP
    • Ајде да регистрираме ДВД со сликата за дистрибуција на системот
      VBoxManage openmedium path_to_image
    • Ајде да го вметнеме нашиот диск во виртуелниот диск
      VBoxManage modifyvm WindowsXP --dvd path_to_image
  5. Ајде да ги погледнеме поставките на нашата машина. Се грижиме се да ни одговара и...
    VBoxManage showvminfo machine_name

...Лансирање... Ајде да одиме

За да стартувате виртуелна машина, треба да стартувате
VBoxManage startvm machine_name --type vrdp
Параметар -- напишете vrdpпотребни за поврзување со машината користејќи VRDP
Тоа е сè, сега останува само да се поврземе со нашата машина користејќи далечинска работна површина. Ова може да се направи со користење на стандардни комунални услуги: за Windows тоа е mstsc, за системи базирани на x е rdesktop. Бидејќи имаме само конзола, треба да користиме компјутер што има графичка работна површина.
За да се поврзете, треба да го наведете IP-домаќинот на машината и портата за оваа виртуелна машина. Во мојот случај, јас не сменив ништо и ја користев стандардната порта (3389). За да ја смените портата, стартувајте VBoxManage --vrdpport port. Ако имате инсталирано неколку виртуелни машини, тогаш за да се поврзете со секоја од нив, треба да наведете различни порти во поставките, на пример, за првата машина 3389, за втората 3390 итн.

Наместо епилог

Сега имаме виртуелна машина која работи и лесно можеме да се поврземе со неа користејќи го протоколот VRDP. Тивко го инсталирав Window XP додека бев на мојот работен компјутер.

П.С. Windows XP беше потребен само од една причина. Проектот требаше да користи MS SQL Server.

Понекогаш има потреба да се стартува виртуелна машина на домаќин без X. Ќе ви кажам како да го направите ова, имајќи пристап до системот на домаќинот само преку ssh + rdp (Протокол за далечинска работна површина). Ќе го опишам процесот за OC Ubuntu 9.10 како домаќин.

Да почнеме со инсталирање на VirtualBox.

Прво мора да го инсталирате пакетот dkms (Рамка за поддршка на модулот за динамично кернел):

Sudo apt-get инсталирај dkms

Веб-страницата нуди 2 опции: регистрирајте го изворот на пакетот (deb download.virtualbox.org/virtualbox/debian karmic non-free) во /etc/apt/sources.list или преземете го и инсталирајте го deb пакетот. Кога го регистрирав изворот и инсталирав sudo apt-get virtualbox-3.1, добив еден куп пакети за зависност (вклучувајќи и некои за интерфејсот GUI). Затоа, подобро е да го преземете деб пакетот. Преземете и инсталирајте:

Sudo dpkg -i virtualbox-3.1_3.1.0-55467_Ubuntu_karmic_i386.deb

Можеби тука ќе бидат потребни и зависности (некои библиотеки за парсирање на xml, во кои се зачувани конфигурации, но има значително помалку од нив отколку во првиот случај). Ако инсталацијата не заврши поради зависности, можете едноставно да го направите

Инсталирајте Sudo apt-get -f

Ова ќе инсталира зависности и VirtualBox

ДОБРО. Инсталиран VirtualBox. Да почнеме да создаваме гостински машини.

Ајде да го создадеме самиот автомобил:

VBoxManage createvm --name ubuntu --ostype Ubuntu --register
(името е името на машината, ostype е типот на системот. Комплетна листа на сите типови може да се најде со командата VBoxManage list ostypes)

Поставување

VBoxManage modifyvm ubuntu --меморија 512 --флопи е оневозможена --аудио нема --nic1 bridged --bridgeadapter1 eth0 --vram 4 --accelerate3d исклучен --boot1 диск --acpi вклучен --cableconnected1 на --usb исклучен --vrdp на --vrdpport 3390

Сè е јасно овде. Можете исто така да наведете NAT како тип на мрежа (--nic1 nat). овозможете и rdp

Креирајте HDD-диск за виртуелна машина:

VBoxManage createhd --име на датотека /home/user/vbox/ubuntu.vdi --size 20000 --register

Додавање IDE контролер на нашата машина

VBoxManage storagectl ubuntu --име „IDE Controller“ --додај идеја

Го прикачуваме претходно креираниот HDD на IDE0

VBoxManage storage прикачи ubuntu --storagectl „IDE Controller“ --порта 0 --уред 0 --тип hdd --medium /home/user/vbox/ubuntu.vdi

На IDE1 ја прикачуваме сликата за инсталација

VBoxManage складирање прикачи ubuntu --storagectl „IDE Controller“ --порт 1 --уред 0 --тип dvddrive --medium /home/user/vbox/iso/ubuntu-9.10-alternate-i386.iso

Кажување на машината да се подигне од диск

VBoxManage modifyvm ubuntu --boot1 dvd

Ајде да ја запалиме колата

За да го инсталираме основниот систем, ќе користиме rdp клиент (имам KDE, KRDC е вклучен во стандардниот пакет). поврзете се со машината домаќин на портата наведена во поставките (--vrdpport 3390), инсталирајте го системот, направете sudo apt-get install openssh-server . Сега можете да пристапите до виртуелната машина преку ssh

Запирање на виртуелната машина

VBoxManage controlvm Ubuntu acpipower копче
преку acpi

Или поостро

Исклучување на VBoxManage controlvm Ubuntu

Велиме дека се подига од HDD

VBoxManage modifyvm ubuntu --boot1 диск

Можете исто така да го откачите инсталациониот диск

VBoxManage storage прикачи ubuntu --storagectl „IDE Controller“ --порт 1 --уред 0 --средно нема

И почнуваме повторно

Nohup VBoxHeadless --startvm ubuntu &

Повеќе корисни команди:

VBoxManage листа runningvms
прегледајте ги сите машини што работат

VBoxManage showvminfo ubuntu
гледање информации за виртуелна машина

Така, на една машина со минимално инсталиран систем, можете да подигнете неколку виртуелни за различни цели и експерименти

1.Креирајте виртуелна машина со име windows_xp
VBoxManage createvm --name windows_xp --regist er
Создадената виртуелна машина е XML-датотека која се наоѓа во домашниот директориум /root/VirtualBox\ VMs/windows_xp/windows_xp.vbox
2. Потоа треба да креирате диск за виртуелна машина
VBoxManage createhd --име на датотека /датум/VirtualBox/windows_xp.vdi --големина 15000 --варијанта Поправи d
Стандардно, дискот се креира во домашната папка на корисникот, го создадовме дискот windows_xp.vdi во директориумот /date/VirtualBox/ со големина од 15 гигабајти; големината е фиксна, односно не се зголемува динамично.
3.Креирајте контролер на виртуелен диск
VBoxManage storagectl windows_xp --име „IDE Controller“ --add ide --controller PIIX4
Користејќи ја оваа команда, се креира IDE контролер со името „IDE Controller“, типот на контролорот е PIIX4.
4. Поврзете го виртуелниот диск со виртуелната машина:
VBoxManage storageприкачи windows_xp --storagectl „IDE Controller“ --port 0 --device 0 --type hdd --medium /date/VirtualBox/windows_xp.vdi

5.Поврзете ја виртуелната слика на ОС што сакаме да го инсталираме
VBoxManage складирање прикаче windows_xp --storagectl „IDE Controller“ --порт 0 --уред 1 --тип dvddrive --medium /date/public/winxp_pro_eng_sp3.iso

6. Поставете ја големината на RAM меморијата за виртуелната машина на 512 MB
vboxmanage modifyvm windows_xp --меморија 512

7. Поставете го типот на системот VBoxManage modifyvm windows_xp --ostype WindowsX P
види ги сите можни остипови: VBoxManage листа остипови

8. Дозволете поврзување со конзолата преку RDP
vboxmanage modifyvm windows_xp --vrde вклучен
За да биде поудобно управувањето со виртуелните машини, потребен ви е сет на додатоци што вклучува USB 2.0 и вграден RDP сервер. Преземете додатоци и инсталирајте: wget http://dlc.sun.com.edgesuite.net/virtualbox/4.2.12/Oracle_VM_VirtualBox_Extension_Pack-4.2.12-84980.vbox-extpack

VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.2.12-84980.vbox-extpack

9. Стартувајте ја виртуелната машина
vboxheadless -s windows_xp или во позадина:
VBoxManage startvm windows_xp --type headless
за да извршите гостин оперативен систем на домаќинот компјутер со кој работите преку ssh, треба да го користите клучот –type=headless:

10. Поврзете се преку RDP ip_servera и инсталирајте win_xp како и обично

11.Можете да ја исклучите машината вака: VBoxManage controlvm windows_xp poweroff

12. Монтирајте го VboxGuestAdditions дискот
VBoxManage складирање прикаче windows_xp --storagectl „IDE Controller“ --порт 0 --уред 1 --тип dvddrive --medium /usr/share/virtualbox/VBoxGuestAdditions.iso

Стартувајте ја машината и инсталирајте VboxGuestAdditions
13. Детални информации за одреден виртуелен оперативен систем може да се добијат со командата VBoxManage showvminfo windows_xp

14. Оваа команда создава премостен NIC мрежен интерфејс
VBoxManage modifyvm windows_xp --nic1 bridged --bridgeadapter1 eth0

15. Ако дискот на виртуелната машина треба да се клонира, тоа се прави со помош на алатката VBoxManage:
VBoxManage clonehd /path/from/copying/image1.vdi /path/where/copying/image2.vdi
После ова, сè прекрасно се поврзува со новата виртуелна машина.

16.Креирајте споделена папка со серверот
vboxmanage sharedfolder додадете „windows_xp“ --име споделено име --hostpath /mnt
Поврзете ја споделената папка од windows_xp execute
\\vboxsvr\share-name