Uneori este nevoie să rulați o mașină virtuală pe o gazdă fără X. Vă voi spune cum să faceți acest lucru, având acces la sistemul gazdă doar prin ssh + rdp (Remote Desktop Protocol). Voi descrie procesul pentru OC Ubuntu 9.10 ca gazdă.

Să începem prin a instala VirtualBox.

Mai întâi trebuie să instalați pachetul dkms (Dynamic Kernel Module Support Framework):

Sudo apt-get install dkms

Site-ul oferă 2 opțiuni: înregistrați sursa pachetului (deb download.virtualbox.org/virtualbox/debian karmic non-free) în /etc/apt/sources.list sau descărcați și instalați pachetul deb. Când am înregistrat sursa și am făcut sudo apt-get install virtualbox-3.1, am primit o grămadă de pachete de dependență (inclusiv unele pentru interfața GUI). Prin urmare, este mai bine să descărcați pachetul deb. Descărcați și instalați:

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

Poate că aici vor fi necesare și dependențe (unele biblioteci pentru analiza xml, în care sunt stocate configurații, dar sunt semnificativ mai puține decât în ​​primul caz). Dacă instalarea nu s-a finalizat din cauza dependențelor, puteți face pur și simplu

Sudo apt-get -f install

Acest lucru va instala dependențe și VirtualBox

BINE. VirtualBox instalat. Să începem să creăm mașini invitate.

Să creăm mașina în sine:

VBoxManage createvm --name ubuntu --ostype Ubuntu --register
(nume - nume mașină, ostype - tip sistem. lista completa toate tipurile pot fi găsite folosind comanda VBoxManage list ostypes)

Configurarea

VBoxManage modifyvm ubuntu --memory 512 --floppy disabled --audio none --nic1 bridged --bridgeadapter1 eth0 --vram 4 --accelerate3d off --boot1 disk --acpi on --cableconnected1 on --usb off --vrdp pe --vrdpport 3390

Totul este clar aici. De asemenea, puteți specifica NAT ca tip de rețea (--nic1 nat). activați și rdp

Noi creăm disc hdd Pentru mașină virtuală:

VBoxManage createhd --filename /home/user/vbox/ubuntu.vdi --size 20000 --register

Adăugarea unui controler IDE la mașina noastră

VBoxManage storagectl ubuntu --name "IDE Controller" --add ide

Atașăm hdd-ul creat anterior la IDE0

VBoxManage storageattach ubuntu --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium /home/user/vbox/ubuntu.vdi

Pe IDE1 atașăm imaginea de instalare

VBoxManage storageattach ubuntu --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /home/user/vbox/iso/ubuntu-9.10-alternate-i386.iso

Spuneți mașinii să pornească de pe disc

VBoxManage modifyvm ubuntu --boot1 dvd

Să pornim mașina

Pentru a instala sistemul de bază, vom folosi un client rdp (eu am KDE, KRDC este inclus în pachetul standard). conectați-vă la mașina gazdă pe portul specificat în setări (--vrdpport 3390), instalați sistemul, faceți sudo apt-get install openssh-server . Acum puteți accesa mașina virtuală prin ssh

Oprirea mașinii virtuale

VBoxManage controlvm ubuntu acpipowerbutton
prin acpi

Sau mai aspru

VBoxManage controlvm ubuntu oprire

Noi spunem că pornește de pe hdd

VBoxManage modifyvm ubuntu --boot1 disc

De asemenea, puteți declipsa discul de instalare

VBoxManage storageattach ubuntu --storagectl "Controler IDE" --port 1 --dispozitiv 0 --mediu nici unul

Și începem din nou

Nohup VBoxHeadless --startvm ubuntu &

Mai multe comenzi utile:

VBoxManage listă runvms
vizualizați toate mașinile care rulează

VBoxManage showvminfo ubuntu
vizualizarea informațiilor despre o mașină virtuală

Astfel, pe o singură mașină cu minim sistem instalat puteți ridica mai multe virtuale pentru diverse scopuri și experimente


Postat de Ken Hess
Data publicării: 18 ianuarie 2010
Traducere: N. Romodanov
Data traducerii: februarie 2010

Este posibil ca utilizatorii obișnuiți de VirtualBox să nu fie conștienți de puterea enormă care se află în interfața liniei de comandă.

Oamenii întreabă de obicei: „De ce să folosiți linia de comandă când aveți o interfață grafică perfect bună?” Răspunsul este puterea enormă a liniei de comandă. Din 1995, există o întreagă generație de utilizatori de computere care cred că un computer este o colecție de ferestre și grafică, dar în realitate acest lucru este foarte departe de adevăr. De ce, 1995, întrebi? CU apariția Windowsului 95 în 1995, a fost deschisă o nouă eră a computerelor - era interfețelor grafice. La scurt timp după acel august fatidic, a fost lansat FVWM95, care a fost răspunsul Linux la interfața Windows 95 Explorer. Mi se pare că în acele vremuri bune linia de comandă a dispărut pentru totdeauna. Nimeni nu a mai vrut să folosească DOS și au încetat să se mai teamă de Linux. Dar linia de comandă este încă în viață Mediul Linux. Este încă destul de viu în Windows. Și acum că Mac-urile sunt bazate pe Unix, au și o mulțime de lucruri care nu necesită o interfață grafică.

Poate fi o surpriză pentru tine că sub interfața grafică frumoasă a lui VirtuaBox, cu grafica sa strălucitoare, pagina de Setări clară și un număr mare de liste derulante, pândește lumea oculta a liniei de comandă. Adevărata putere a acestei lumi întunecate va fi dezvăluită doar celor care îndrăznesc să intre în aceste catacombe mucegăite. Odată ce te-ai familiarizat cu linia de comandă VirtualBox, ai putea decide că GUI-ul este puțin mai mult decât o draperie frumoasă concepută pentru cei care altfel ar ignora dreptunghiul negru plictisitor al unei aplicații care rulează efectiv.

Puterea liniei de comandă

Dreptunghiul negru despre care vorbeam este fereastra terminalului. Linia de comandă vă permite să profitați din plin de puterea execuției automate a comenzilor. Singura metodă de automatizare pe care o cunosc în sistemele *nix este utilizarea de scripturi scrise în Perl, script-uri shell sau scripturi în altă limbă. Și demonul de planificare a sistemului (cron) vă va ajuta să rulați scriptul la momentul potrivit. Aceasta este puterea liniei de comandă, care, datorită capacității pornire automată, care necesită, de asemenea, ca administratorii de sistem să poată scrie scripturi, este setul lor de abilități. În fiecare post vacant care necesită administrator de sistem, se va indica faptul că solicitantul trebuie să fie capabil să scrie scenarii în cel puțin una dintre limbile interpretate enumerate în postul vacant.

Când vine vorba de virtualizare, linia de comandă vă permite să creați rapid discuri virtuale, să adăugați o nouă interfață de rețea, să lansați mașini virtuale și să creați noi mașini virtuale, totul fără a utiliza o interfață grafică. Execuție automată utilizarea scripturilor vă va permite, de asemenea, să programați pornirea și oprirea mașinilor virtuale fără intervenția dumneavoastră directă. Și, dacă sunteți un scriptor cu adevărat grozav, puteți scrie un script care vă va ghida, cu o intervenție minimă din partea dvs., să creați o mașină virtuală, să o rulați sau să o instalați și să o modificați. Dacă nu-ți place să faci totul manual, vei face o listă cu mașinile virtuale pe care le folosești tot timpul, apoi vei configura scripturi (șabloane) pentru fiecare tip de mașină virtuală pe care o folosești și, dacă este necesar, vei crea o mașină virtuală în câteva secunde.

Să ne uităm la simplu și elegant funcţionalitate linia de comandă în VirtualBox.

Instalare și componente principale

Utilizați linkul VirtualBox Linux Downloads pentru a descărca distribuția binară concepută pentru sistemul dvs. Dacă doriți, puteți descărca cod sursă. Pentru opțiunea pe care am ales-o (pentru RHEL5/CentOS5 în format rpm), au fost create următoarele directoare:

  • Pentru modulele binare - /usr/lib/virtualbox cu link-uri de la /usr/bin
  • Pentru biblioteci - /usr/lib/virtualbox
  • Pentru codurile sursă - /usr/share/virtualbox
  • Pentru componentele invitate (ISO) - /usr/share/virtualbox

Dacă distribuția dvs. nu are ultima versiune VirtualBox (versiunea 3.1.2 la momentul scrierii acestui articol), apoi utilizați unul dintre pachetele care pot fi descărcate sau descărcați codul sursă.

Crearea și configurarea unei mașini virtuale

Cel mai greu lucru despre utilizarea liniei de comandă este să știi de unde să începi. În interfața grafică trebuie să utilizați butonul Nou. Linia de comandă își dezvăluie secretele puțin mai complex. Pentru a crea și configura o nouă mașină virtuală, trebuie să deschideți o fereastră de terminal sau să utilizați o sesiune ssh pentru a accesa sistemul Linux pe care este instalat VirtualBox și să rulați următoarea comandă:

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

Această comandă creează o nouă mașină virtuală numită Debian5 și o înregistrează cu VirtualBox. Mașina virtuală creată este un fișier XML care se află în directorul principal ~/.VirtualBox/Machines/Debian5/Debian5.xml.

Noi creăm disc virtual pentru mașina ta virtuală:

$ /usr/bin/VBoxManage createhd --filename Debian5.vdi --size 4000 --variant Fixat

Ați creat un disc virtual numit Debian5.vdi cu o dimensiune de 4 GB (4000 MB); dimensiunea este fixă, adică nu crește dinamic.

Discul virtual este creat ca fișier ~/.VirtualBox/HardDisks/Debian.vdi

Creați un controler dispozitive de disc, la care veți conecta discul virtual și dispozitiv virtual CD/DVD

$ /usr/bin/VBoxManage storagectl Debian5 --name "IDE Controller" --add ide --controller PIIX4

Această comandă creează un controler IDE numit „IDE Controller”, tipul de controler este PIIX4.

Acum haideți să conectăm discul virtual la mașina dvs. virtuală:

$ /usr/bin/VBoxManage storageattach Debian5 --storagectl "Controler IDE" --port 0 --device 0 --type hdd --medium Debian5.vdi

Conectare Imagine ISOsistem de operare, pe care doriți să îl instalați:

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

Configurarea rețelei:

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

Folosind această comandă, este creată o interfață de rețea NIC bridge: cablul este conectat la pornire sisteme Linux, adaptor - eth0.

Să pornim mașina virtuală:

$ /usr/bin/VBoxManage startvm Debian5

Dacă totul decurge conform planului, veți vedea următorul mesaj și apoi veți vedea fereastra mașinii virtuale pregătită pentru instalare:

Se așteaptă deschiderea sesiunii la distanță... Sesiunea la distanță a fost deschisă cu succes.

Vedeți, crearea și configurarea unei mașini virtuale din linia de comandă vă eliberează de clicurile nesfârșite ale mouse-ului și deschide o lume cu totul nouă de posibilități de automatizare a mașinilor virtuale. Nu am mers prea adânc aici, dar sper că acest lucru vă va stârni curiozitatea și vă va încuraja să explorați puterea enormă pe care o are linia de comandă.

Dacă ți-a plăcut articolul, distribuie-l prietenilor tăi:

Virtualizare... virtualizare...
În zilele noastre, toată lumea încearcă să stoarce cât mai mult posibil din resursele lor hardware. A avea mai multe computere separate cu sisteme de operare diferite este puțin costisitoare și nu toate organizațiile o vor face. Dar există o cale de ieșire, puteți folosi mașini virtuale. Și este posibil ca mulți oameni să folosească minunatul produs de la Sun „VirtualBox” în aceste scopuri. Sunt sigur că majoritatea oamenilor folosesc interfața GUI pentru configurare, deoarece... este foarte clar și convenabil. Dar câți oameni s-au gândit la posibilitatea de a gestiona VirtualBox prin consolă?
Sarcina a fost stabilită: instalarea a două sisteme de operare (Ubuntu și Windows) pe un server. În același timp, exista un server care rulează Ubuntu 9.04 Server Edition. Prin urmare, s-a decis instalarea Windows XP ca sistem invitat.
Dar a apărut o problemă pe Ubuntu: nu a fost instalat niciun mediu grafic, adică. există doar o consolă goală.

Deci ce avem:

  • Sistem gazdă: Ubuntu 9.04 Server Edition
  • VirtualBox 2.2.2
  • Sistem invitat: Windows XP

Instalarea VirtualBox

Descărcați pachetul pentru Ubuntu 9.04 de pe site-ul oficial VirtualBox
După descărcare, rulați comanda:
dpkg -i virtualbox-2.2_2.2.2-46594_Ubuntu_jaunty_i386.deb
VirtualBox ar trebui să se instaleze. Dacă aveți probleme la instalarea pachetului, verificați mesajele de eroare. Este posibil să nu aveți instalate pachetele necesare. În cazul meu, nu aveam pachetul instalat libxslt1.1, care a fost remediat imediat prin comanda sudo apt-get install libxslt1.1 .
Adaugă-te în grup vboxusers
sudo usermod -a -G nume de utilizator vboxusers

Crearea unei mașini virtuale

Pentru început, merită remarcat faptul că pentru a controla mașini virtuale O comandă VBoxManage este utilizată prin consolă (deși are o mulțime de parametri).
Să începem.
  1. Mai întâi, să creăm o mașină și să o înregistrăm imediat
    VBoxManage createvm -name virtual_machine_name -register
  2. Apoi, trebuie să creați un disc pentru mașină
    VBoxManage createhd --filename disk_name --size disk_size in_megabytes
    Este posibil să selectați tipul de disc VDI ​​(VirtualBox), VMDK (VMWare), VHD ( Microsoft Virtual PC). Implicit, desigur, VDI :).
  3. Să facem setări suplimentare mașina noastră virtuală. Să indicăm:
    • Tip de sistem de operare invitat. Pentru a obține o listă de sisteme de operare acceptate, rulați comanda VBoxManage list ostypes
    • Dimensiunea de alocare a memoriei
    • Numele discului principal
    • Abilitatea de a utiliza VRDP (VirtualBox Remote Desktop Protocol)
    VBoxManage modifyvm virtual_machine_name --ostype OS_type --memory memory_size in megabytes --hda disk_name --vrdp on
  4. Să conectăm imaginea de disc de pe care vom instala Windows XP
    • Să înregistrăm un DVD cu imaginea de distribuție a sistemului
      VBoxManage openmedium calea_la_imagine
    • Să introducem discul nostru în unitatea virtuală
      VBoxManage modifyvm WindowsXP --dvd path_to_image
  5. Să ne uităm la setările mașinii noastre. Ne asigurăm că totul ni se potrivește și...
    VBoxManage showvminfo nume_mașină

... Lansează... Să mergem

Pentru a porni o mașină virtuală, trebuie să rulați
VBoxManage startvm nume_mașină --type vrdp
Parametru --type vrdp necesare pentru a vă conecta la aparat utilizând VRDP
Gata, acum nu mai rămâne decât să ne conectăm la mașina noastră folosind un desktop de la distanță. Acest lucru se poate face folosind utilități standard: pentru Windows acesta este mstsc, pentru sistemele bazate pe x rdesktop. Deoarece avem doar o consolă, trebuie să folosim un computer care are un desktop grafic.
Pentru a vă conecta, trebuie să specificați gazda IP a mașinii și portul pentru această mașină virtuală. În cazul meu, nu am schimbat nimic și am folosit portul implicit (3389). Pentru a schimba portul, rulați VBoxManage --vrdpport port. Dacă aveți mai multe mașini virtuale instalate, atunci pentru a vă conecta la fiecare dintre ele, trebuie să specificați diferite porturi în setări, de exemplu, pentru prima mașină 3389, pentru a doua 3390 etc.

În loc de epilog

Acum avem o mașină virtuală în funcțiune și ne putem conecta cu ușurință la ea folosind protocolul VRDP. Am instalat în liniște Windows XP în timp ce eram la computerul meu de serviciu.

P.S. Windows XP a fost necesar dintr-un singur motiv. Proiectul trebuia să folosească MS SQL Server.

Uneori este nevoie să rulați o mașină virtuală pe o gazdă fără X. Vă voi spune cum să faceți acest lucru, având acces la sistemul gazdă doar prin ssh + rdp (Remote Desktop Protocol). Voi descrie procesul pentru OC Ubuntu 9.10 ca gazdă.

Să începem prin a instala VirtualBox.

Mai întâi trebuie să instalați pachetul dkms (Dynamic Kernel Module Support Framework):

Sudo apt-get install dkms

Site-ul oferă 2 opțiuni: înregistrați sursa pachetului (deb download.virtualbox.org/virtualbox/debian karmic non-free) în /etc/apt/sources.list sau descărcați și instalați pachetul deb. Când am înregistrat sursa și am făcut sudo apt-get install virtualbox-3.1, am primit o grămadă de pachete de dependență (inclusiv unele pentru interfața GUI). Prin urmare, este mai bine să descărcați pachetul deb. Descărcați și instalați:

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

Poate că aici vor fi necesare și dependențe (unele biblioteci pentru analiza xml, în care sunt stocate configurații, dar sunt semnificativ mai puține decât în ​​primul caz). Dacă instalarea nu s-a finalizat din cauza dependențelor, puteți face pur și simplu

Sudo apt-get -f install

Acest lucru va instala dependențe și VirtualBox

BINE. VirtualBox instalat. Să începem să creăm mașini invitate.

Să creăm mașina în sine:

VBoxManage createvm --name ubuntu --ostype Ubuntu --register
(nume - nume mașină, ostype - tip sistem. O listă completă a tuturor tipurilor poate fi găsită cu comanda VBoxManage list ostypes)

Configurarea

VBoxManage modifyvm ubuntu --memory 512 --floppy disabled --audio none --nic1 bridged --bridgeadapter1 eth0 --vram 4 --accelerate3d off --boot1 disk --acpi on --cableconnected1 on --usb off --vrdp pe --vrdpport 3390

Totul este clar aici. De asemenea, puteți specifica NAT ca tip de rețea (--nic1 nat). activați și rdp

Creați un disc HDD pentru o mașină virtuală:

VBoxManage createhd --filename /home/user/vbox/ubuntu.vdi --size 20000 --register

Adăugarea unui controler IDE la mașina noastră

VBoxManage storagectl ubuntu --name "IDE Controller" --add ide

Atașăm hdd-ul creat anterior la IDE0

VBoxManage storageattach ubuntu --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium /home/user/vbox/ubuntu.vdi

Pe IDE1 atașăm imaginea de instalare

VBoxManage storageattach ubuntu --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /home/user/vbox/iso/ubuntu-9.10-alternate-i386.iso

Spuneți mașinii să pornească de pe disc

VBoxManage modifyvm ubuntu --boot1 dvd

Să pornim mașina

Pentru a instala sistemul de bază, vom folosi un client rdp (eu am KDE, KRDC este inclus în pachetul standard). conectați-vă la mașina gazdă pe portul specificat în setări (--vrdpport 3390), instalați sistemul, faceți sudo apt-get install openssh-server . Acum puteți accesa mașina virtuală prin ssh

Oprirea mașinii virtuale

VBoxManage controlvm ubuntu acpipowerbutton
prin acpi

Sau mai aspru

VBoxManage controlvm ubuntu oprire

Noi spunem că pornește de pe hdd

VBoxManage modifyvm ubuntu --boot1 disc

De asemenea, puteți declipsa discul de instalare

VBoxManage storageattach ubuntu --storagectl "Controler IDE" --port 1 --dispozitiv 0 --mediu nici unul

Și începem din nou

Nohup VBoxHeadless --startvm ubuntu &

Mai multe comenzi utile:

VBoxManage listă runvms
vizualizați toate mașinile care rulează

VBoxManage showvminfo ubuntu
vizualizarea informațiilor despre o mașină virtuală

Astfel, pe o singură mașină cu un sistem instalat minim, puteți ridica mai multe virtuale pentru diverse scopuri și experimente

1.Creați o mașină virtuală numită windows_xp
VBoxManage createvm --name windows_xp --regist er
Mașina virtuală creată este un fișier XML care se află în directorul principal /root/VirtualBox\ VMs/windows_xp/windows_xp.vbox
2. În continuare trebuie să creați un disc de mașină virtuală
VBoxManage createhd --filename /date/VirtualBox/windows_xp.vdi --size 15000 --variant Fixe d
Implicit, discul este creat în folderul de acasă al utilizatorului, am creat discul windows_xp.vdi în directorul /date/VirtualBox/ cu o dimensiune de 15 gigaocteți; dimensiunea este fixă, adică nu crește dinamic.
3.Creați un controler de disc virtual
VBoxManage storagectl windows_xp --name "IDE Controller" --add ide --controller PIIX4
Folosind această comandă, se creează un controler IDE cu numele „Controler IDE”, tipul de controler este PIIX4.
4. Conectați discul virtual la mașina virtuală:
VBoxManage storageattach windows_xp --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium /date/VirtualBox/windows_xp.vdi

5.Conectează imaginea virtuală a sistemului de operare pe care dorim să îl instalăm
VBoxManage storageattach windows_xp --storagectl "IDE Controller" --port 0 --device 1 --type dvddrive --medium /date/public/winxp_pro_eng_sp3.iso

6. Setați dimensiunea RAM pentru mașina virtuală 512MB
vboxmanage modifyvm windows_xp --memory 512

7. Setați tipul de sistem VBoxManage modifyvm windows_xp --ostype WindowsX P
vezi toate tipurile posibile: VBoxManage listează ostipurile

8. Permite conectarea la consolă prin RDP
vboxmanage modifyvm windows_xp --vrde activat
Pentru a face mai convenabil gestionarea mașinilor virtuale, aveți nevoie de un set de suplimente care să includă USB 2.0 și încorporat. Server RDP. Descărcați suplimente și instalați: wget http://dlc.sun.com.edgesuite.net/virtualbox/4.2.12/Oracle_VM_VirtualBox_Extension_Pack-4.2.12-84980.vbox-extpack

VBoxManage extpack instalează Oracle_VM_VirtualBox_Extension_Pack-4.2.12-84980.vbox-extpack

9. Lansați mașina virtuală
vboxheadless -s windows_xp sau în fundal:
VBoxManage startvm windows_xp --type headless
pentru a rula un sistem de operare invitat pe computerul gazdă cu care lucrați prin ssh, trebuie să utilizați cheia –type=headless:

10. Conectați-vă prin RDP ip_servera și instalați win_xp ca de obicei

11. Puteți opri mașina astfel: VBoxManage controlvm windows_xp poweroff

12.Montați discul VboxGuestAdditions
VBoxManage storageattach windows_xp --storagectl "IDE Controller" --port 0 --device 1 --type dvddrive --medium /usr/share/virtualbox/VBoxGuestAdditions.iso

Pornim mașina și instalăm VboxGuestAdditions
13. Informații detaliate informații despre un anumit sistem de operare virtual pot fi obținute folosind comanda VBoxManage showvminfo windows_xp

14. Această comandă creează o interfață de rețea NIC cu punte
VBoxManage modifyvm windows_xp --nic1 bridged --bridgeadapter1 eth0

15. Dacă discul mașinii virtuale trebuie să fie clonat, acest lucru se face folosind utilitarul VBoxManage:
VBoxManage clonehd /path/from/copying/image1.vdi /path/where/copying/image2.vdi
După aceasta, totul se conectează minunat la noua mașină virtuală.

16.Creați un folder partajat cu serverul
vboxmanage sharedfolder adauga "windows_xp" --name share-name --hostpath /mnt
Conectați folderul partajat din windows_xp execute
\\vboxsvr\share-name