VirtualBox: amministrazione da terminale: differenze tra le versioni

nessun oggetto della modifica
Nessun oggetto della modifica
Riga 1: Riga 1:
=Versioni compatibili=
{{Versioni compatibili|Debian Sarge 3.1<br/>Debian Etch 4.0<br/>Debian Lenny 5.0<br/>Debian Squeeze<br/>Debian Sid|}}
* Debian Sarge 3.0
* Debian Etch 4.0
* Debian Lenny 5.0
 
=Introduzione=
=Introduzione=
Virtualbox è un software di virtualizzazione sviluppato da Sun; normalmente viene utilizzato come un normale programma dotato di interfaccia grafica, ma con qualche accorgimento è possibile installarlo e utilizzarlo anche su una macchina server dove non sia stato installato il server grafico X.org.<br>
Virtualbox è un software di virtualizzazione sviluppato da Sun; normalmente viene utilizzato come un normale programma dotato di interfaccia grafica, ma con qualche accorgimento è possibile installarlo e utilizzarlo anche su una macchina server dove non sia stato installato il server grafico X.org.<br>
Riga 11: Riga 7:
Per installare VirtualBox nella sua versione completa (quella opensource, chiamata <tt>virtualbox-ose</tt> è già presente nei repository di Debian) occorre aggiungere il repository di VirtualBox. Aprite il vostro sources.list:
Per installare VirtualBox nella sua versione completa (quella opensource, chiamata <tt>virtualbox-ose</tt> è già presente nei repository di Debian) occorre aggiungere il repository di VirtualBox. Aprite il vostro sources.list:
<pre>
<pre>
nano /etc/apt/sources.list
# nano /etc/apt/sources.list
</pre>
</pre>
e aggiungete una di queste righe:
e aggiungete una di queste righe:
Riga 28: Riga 24:
Quindi importate la chiave del repository:
Quindi importate la chiave del repository:
<pre>
<pre>
wget -q http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc -O- | apt-key add -
# wget -q http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc -O- | apt-key add -
</pre>
</pre>
aggiornate la lista dei pacchetti e infine installate VirtualBox:
aggiornate la lista dei pacchetti e infine installate VirtualBox:
<pre>
<pre>
apt-get update
# apt-get update
apt-get install linux-headers-$(uname -r) build-essential virtualbox-3.1
# apt-get install linux-headers-$(uname -r) build-essential virtualbox-3.1
</pre>
</pre>
Sostituite <tt>virtualbox-3.1</tt>
Sostituite <tt>virtualbox-3.1</tt>
Riga 63: Riga 59:
Quindi installate il pacchetto:
Quindi installate il pacchetto:
<pre>
<pre>
apt-get update
# apt-get update
apt-get install firmware-linux-nonfree
# apt-get install firmware-linux-nonfree
</pre>
</pre>
che non porta con sè alcuna dipendenza.<br>
che non porta con sè alcuna dipendenza.<br>
Riga 77: Riga 73:
Per poter utilizzare VirtualBox come normale utente, occorre infine aggiungere quest'ultimo al gruppo <tt>vboxusers</tt>:
Per poter utilizzare VirtualBox come normale utente, occorre infine aggiungere quest'ultimo al gruppo <tt>vboxusers</tt>:
<pre>
<pre>
adduser nome_utente vboxusers
# adduser nome_utente vboxusers
</pre>
</pre>


Riga 86: Riga 82:
Creiamo innanzitutto una directory dove conservare tutte le nostre macchine virtuali. Io la creerò sotto <tt>/opt</tt>, ma siete liberi di metterla dove meglio credete (ricordatevi di modificare il percorso nei comandi seguenti!):
Creiamo innanzitutto una directory dove conservare tutte le nostre macchine virtuali. Io la creerò sotto <tt>/opt</tt>, ma siete liberi di metterla dove meglio credete (ricordatevi di modificare il percorso nei comandi seguenti!):
<pre>
<pre>
mkdir /opt/vm
# mkdir /opt/vm
</pre>
</pre>
Procediamo quindi a creare la nostra virtual machine di prova:
Procediamo quindi a creare la nostra virtual machine di prova:
<pre>
<pre>
VBoxManage createvm --name prova --basefolder /opt/vm/ --register
# VBoxManage createvm --name prova --basefolder /opt/vm/ --register
</pre>
</pre>
Analizziamo il comando seguente:
Analizziamo il comando seguente:
Riga 100: Riga 96:
Ora modifichiamo la configurazione della nostra nuova virtual machine:
Ora modifichiamo la configurazione della nostra nuova virtual machine:
<pre>
<pre>
VBoxManage modifyvm prova --memory 1024MB --acpi on --boot1 dvd --boot2 disk --nic1 bridged --bridgeadapter1 eth0 --ostype Windows2003 --usb on
# VBoxManage modifyvm prova --memory 1024MB --acpi on --boot1 dvd --boot2 disk --nic1 bridged --bridgeadapter1 eth0 --ostype Windows2003 --usb on
</pre>
</pre>
Le modifiche che abbiamo introdotto nella nostra virtual machine sono le seguenti:
Le modifiche che abbiamo introdotto nella nostra virtual machine sono le seguenti:
Riga 115: Riga 111:
Ora preoccupiamoci di creare un hard disk virtuale per la nostra virtual machine:
Ora preoccupiamoci di creare un hard disk virtuale per la nostra virtual machine:
<pre>
<pre>
VBoxManage createhd --filename /opt/vm/prova/prova.vdi --size 10000 --register
# VBoxManage createhd --filename /opt/vm/prova/prova.vdi --size 10000 --register
</pre>
</pre>
Piccola spiegazione:
Piccola spiegazione:
Riga 123: Riga 119:
Ora modifichiamo la virtual machine collegandole il disco virtuale che abbiamo appena creato:
Ora modifichiamo la virtual machine collegandole il disco virtuale che abbiamo appena creato:
<pre>
<pre>
VBoxManage modifyvm prova -hda /opt/vm/prova/prova.vdi
# VBoxManage modifyvm prova -hda /opt/vm/prova/prova.vdi
</pre>
</pre>
Possiamo collegare alla nostra macchina un massimo di 3 hard disk virtuali (<tt>hda</tt>, <tt>hdb</tt>, <tt>hdd</tt>). <tt>hdc</tt> è riservato per il CD/DVD.
Possiamo collegare alla nostra macchina un massimo di 3 hard disk virtuali (<tt>hda</tt>, <tt>hdb</tt>, <tt>hdd</tt>). <tt>hdc</tt> è riservato per il CD/DVD.
Riga 129: Riga 125:
Arrivati a questo punto dobbiamo montare un'immagine ISO o un CD/DVD nel nostro lettore CD/DVD virtuale, in modo di poter installare il nostro sistema operativo virtuale. In questo esempio monterò un'immagine ISO:
Arrivati a questo punto dobbiamo montare un'immagine ISO o un CD/DVD nel nostro lettore CD/DVD virtuale, in modo di poter installare il nostro sistema operativo virtuale. In questo esempio monterò un'immagine ISO:
<pre>
<pre>
VBoxManage openmedium dvd /home/ferdy/w2003.iso
# VBoxManage openmedium dvd /home/ferdy/w2003.iso
VBoxManage modifyvm "prova" -dvd /home/ferdy/w2003.iso
# VBoxManage modifyvm "prova" -dvd /home/ferdy/w2003.iso
</pre>
</pre>


Riga 136: Riga 132:
Se abbiamo già una virtual machine creata in precedenza, possiamo importarla all'interno della nostra installazione di VirtualBox per poi avviarla. Per importare una virtual machine esistente si utilizzi il comando:
Se abbiamo già una virtual machine creata in precedenza, possiamo importarla all'interno della nostra installazione di VirtualBox per poi avviarla. Per importare una virtual machine esistente si utilizzi il comando:
<pre>
<pre>
VBoxManage registervm /opt/vm/prova2/prova2.xml
# VBoxManage registervm /opt/vm/prova2/prova2.xml
</pre>
</pre>
==Avvio e gestione di una Virtual Machine==
==Avvio e gestione di una Virtual Machine==
Arrivati a questo punto possiamo avviare la nostra virtual machine con il comando:
Arrivati a questo punto possiamo avviare la nostra virtual machine con il comando:
<pre>
<pre>
VBoxHeadless --startvm prova
# VBoxHeadless --startvm prova
</pre>
</pre>
Il comando <tt>VBoxHeadless</tt> avvia la virtual machine indicata e nel contempo inizializza una sessione VRDP Server (Virtual Remote Desktop Protocol). Purtroppo però, pur essendo il comando suggerito dalla User Guide di VirtualBox, ha il difetto di bloccare la sessione di terminale fino allo spegnimento della macchina virtuale. Per questo motivo consiglio di avviare una virtual machine con il comando alternativo:
Il comando <tt>VBoxHeadless</tt> avvia la virtual machine indicata e nel contempo inizializza una sessione VRDP Server (Virtual Remote Desktop Protocol). Purtroppo però, pur essendo il comando suggerito dalla User Guide di VirtualBox, ha il difetto di bloccare la sessione di terminale fino allo spegnimento della macchina virtuale. Per questo motivo consiglio di avviare una virtual machine con il comando alternativo:
<pre>
<pre>
VBoxManage startvm prova --type vrdp
# VBoxManage startvm prova --type vrdp
</pre>
</pre>
dagli effetti identici al precedente, ma senza che la nostra shell sia resa inutilizzabile.
dagli effetti identici al precedente, ma senza che la nostra shell sia resa inutilizzabile.
Riga 167: Riga 163:
Aprite un terminale e digitate:
Aprite un terminale e digitate:
<pre>
<pre>
rdesktop -a 16 192.168.0.100
$ rdesktop -a 16 192.168.0.100
</pre>
</pre>
Si aprirà la console della macchina virtuale che avete avviato.<br><br>
Si aprirà la console della macchina virtuale che avete avviato.
 
=Arresto della VM=
Per arrestare la virtual machine si usi il comando:
Per arrestare la virtual machine si usi il comando:
<pre>
<pre>
VBoxManage controlvm prova savestate
# VBoxManage controlvm prova savestate
</pre>
</pre>


Riga 179: Riga 177:
Inannzitutto creiamo un file per il nostro script di boot:
Inannzitutto creiamo un file per il nostro script di boot:
<pre>
<pre>
nano /etc/init.d/provavm
# nano /etc/init.d/provavm
</pre>
</pre>
e inseriamoci questo codice:
e inseriamoci questo codice:
Riga 333: Riga 331:
Rendiamo eseguibile lo script appena creato:
Rendiamo eseguibile lo script appena creato:
<pre>
<pre>
chmod 755 /etc/init.d/provavm
# chmod 755 /etc/init.d/provavm
</pre>
</pre>
e creiamo i link alle directory <tt>rcX.d</tt>:
e creiamo i link alle directory <tt>rcX.d</tt>:
<pre>
<pre>
update-rc.d provavm defaults
# update-rc.d provavm defaults
</pre>
</pre>
Da questo momento possiamo gestire il servizio con i soliti comandi:
Da questo momento possiamo gestire il servizio con i soliti comandi:
<pre>
<pre>
/etc/init.d/provavm start|stop
# /etc/init.d/provavm start|stop
</pre>
</pre>


Riga 352: Riga 350:
* Salvare uno snapshot:
* Salvare uno snapshot:
<pre>
<pre>
VBoxManage snapshot prova take prova1 --description descrizione
# VBoxManage snapshot prova take prova1 --description descrizione
</pre>
</pre>
* Cancellare uno snapshot:
* Cancellare uno snapshot:
<pre>
<pre>
VBoxManage snapshot prova discard prova1
# VBoxManage snapshot prova discard prova1
</pre>
</pre>
* Ripristinare lo snapshot precedente:
* Ripristinare lo snapshot precedente:
<pre>
<pre>
VBoxManage snapshot prova discardcurrent --state
# VBoxManage snapshot prova discardcurrent --state
</pre>
</pre>
* Saltare l'ultimo snapshot e ripristinare lo snapshot precedente:
* Saltare l'ultimo snapshot e ripristinare lo snapshot precedente:
<pre>
<pre>
VBoxManage snapshot prova discardcurrent --all
# VBoxManage snapshot prova discardcurrent --all
</pre>
</pre>
<br><br/>
<br><br/>