È possibile installare le guest additions di VirtualBox anche su macchine linux di tipo "server", che tipicamente non montano una GUI?
La risposta a questa domanda è molto semplice, ed è sì.
In questa guida prenderemo ad esempio una vm server con installato Debian.
Fase Preliminare
NB Tutti i comandi dati da terminale in questa guida sono da eseguire con utente root
Prima di tutto occorre accedere in console alla vm, e installare tutti i pacchetti necessari alla corretta installazione delle Guest Additions; da root
quindi diamo il seguente comando:
apt update && apt upgrade && apt install gcc make perl linux-headers-$(uname -r)
Ora siamo pronti per installare le Guest Additions; dal menu di VirtualBox selezioniamo la voce "Dispositivi > Inserisci l'immagine del CD delle Guest Additions".
Il CD è ora inserito, smontato, all'interno del server.
Copia dei file e installazione
Montiamo il cd delle Guest Additions con il seguente comando:
mount /dev/cdrom /mnt
Ora copiamo il file relativo alla Guest Additions per sistemi Linux all'interno della home di root:
cp /mnt/VBoxLinuxAdditions.run ~
Ora eseguiamo l'installazione delle Guest Additions, utilizzando il flag -nox11
(per consentire l'installazione da console non grafica) e l'opzione install
:
/root/VBoxLinuxAdditions.run --nox11 install
Il comando produrrà un output simile a questo:
Verifying archive integrity... All good.
Uncompressing VirtualBox 6.0.4 Guest Additions for Linux........
VirtualBox Guest Additions installer
Removing installed version 6.0.4 of VirtualBox Guest Additions...
update-initramfs: Generating /boot/initrd.img-4.9.0-9-amd64
root@debian-9:~# /root/VBoxLinuxAdditions.run --nox11 install
Verifying archive integrity... All good.
Uncompressing VirtualBox 6.0.4 Guest Additions for Linux........
VirtualBox Guest Additions installer
Copying additional installer modules ...
Installing additional modules ...
VirtualBox Guest Additions: Building the VirtualBox Guest Additions kernel
modules. This may take a while.
VirtualBox Guest Additions: To build modules for other installed kernels, run
VirtualBox Guest Additions: /sbin/rcvboxadd quicksetup <version>
VirtualBox Guest Additions: Building the modules for kernel 4.9.0-9-amd64.
update-initramfs: Generating /boot/initrd.img-4.9.0-9-amd64
VirtualBox Guest Additions: Running kernel modules will not be replaced until
the system is restarted
VirtualBox Guest Additions: Starting.
Se è andato tutto liscio le Guest Additions sono ora installate sulla VM.
Verifica È possibile verificare, aprendo un terminale sull'host che esegue VirtualBox, se le guest additions sono installate su una VM. Il comando da dare è:
vboxmanage showvminfo "Nome VM"
sostituiendo "Nome VM" con la label o l'UUID della VM di cui si vogliono ottenere le informazioni.
NB È possibile ottenere la lista delle label e degli UUD delle VM con il comando
vboxmanage list vms
L'output del comando conterrà qualcosa di questo genere:
Additions run level: 2
Additions version 6.0.4 r128413
Guest Facilities:
Facility "VirtualBox Base Driver": active/running (last update: 2019/06/06 14:29:09 UTC)
Facility "VirtualBox System Service": active/running (last update: 2019/06/06 14:29:33 UTC)
Facility "Seamless Mode": not active (last update: 2019/06/06 14:29:09 UTC)
Facility "Graphics Mode": not active (last update: 2019/06/06 14:29:09 UTC)
Rimozione delle Guest Additions
Per rimuovere le Guest Additions è sufficiente lanciare il comando:
/root/VBoxLinuxAdditions.run --nox11 uninstall
Installazione su altre distribuzioni GNU/Linux
Questa guida porta ad esempio l'installazione delle guest additions su una VM Debian; la guida può funzionare anche per sistemi derivati (o imparentati...), come Ubuntu e LinuxMint.
Per sistemi diversi l'elenco delle dipendenze da installare nei prerequisiti potrebbe essere diverso; ad esempio, nei sistemi RedHat, Fedora, CentOS, il pacchetto linux-headers
viene nominato come kernel-devel
.
Generalmente lo script di installazione delle Guest Additions è piuttosto evoluto, quindi se manca una dipendenza l'installazione fallirà, suggerendovi i passi da seguire per le dipendenze mancanti.