Virt-manager: installazione e messa in opera

21/05/23 (aggiornamento 05/01/2024) | ~ 4 minuti

La procedura è stata testata su Arch e Fedora; non dovrebbero esserci problemi anche con Debian e derivate. Quando possibile ci serviremo del terminale, ma non mancherà anche una parte su interfaccia grafica, che in questo caso aiuta a semplificare molto delle operazioni.
Vedi anche Virtualizzare con KVM .

Virt-manager è un ottimo strumento per la creazione e la gestione di macchine virtuali basate su KVM, e può essere considerato un alternativa più ottimizzata rispetto a software come Virtualbox.

Installazione

Per consuetudine la rappresentazione dei comandi avviene con il prefisso "$ ", che non va digitato nella shell.

I pacchetti richiesti in ordine alfabetico: dnsmasq, iptables-nft, qemu-desktop, virt-manager. Per Arch il comando sarà quindi: $ sudo pacman -Sy dnsmasq iptables-nft qemu-desktop virt-manager

Configurazione

Ora dobbiamo abilitare il servizio libvirtd: $ sudo systemctl enable --now libvirtd.service Il parametro --now abilita il servizio immediatamente (senza specificarlo sarebbe richiesto il riavvio) ed equivale ad impartire successivamente systemctl start.

Per proseguire ci acciangiamo ad aggiungere alla fine del file (appendere) /etc/libvirt/libvirtd.conf due righe per abilitare l'uso anche ad utenti non amministratori. $ sudo echo -e "\n# Modifica $(date +"%d %B %Y")\nunix_sock_group = 'libvirt'\nunix_sock_rw_perms = '0770'" >> /etc/libvirt/libvirtd.conf Echo, il comando che scrive ciò che viene digitato dopo la sua invocazione, grazie al parametro -e interpreta la \n come "nuova riga" e appende nel file tutto ciò che è all'interno dei doppi apici seguendo le direttive dell'operatore di redirezione >> .
Nello specifico avremo:

Un'operazione simile andrà effettuata anche sul file /etc/libvirt/qemu.conf. $ sudo echo -e "\n# Modifica $(date +"%d %B %Y")\nuser = 'luca'\ngroup = 'luca'" >> /etc/libvirt/qemu.conf In questo caso abbiamo specificato il nome e il gruppo del nostro utente (occhio a modificare il comando con i dati corretti) in un altro file di configurazione di libvirt.

Per completare la gestione dell'utente, aggiungiamo il nostro al gruppo libvirt. $ sudo gpasswd -a luca libvirt

Il penultimo comando necessario abiliterà l'avvio automatico della connessione di rete predefinita, utilizzabile dalle macchine virtuali: $ sudo virsh net-autostart default

Infine dobbiamo riavviare il servizio libvirtd: $ sudo systemctl restart libvirtd

Disattivazione della sessione di sistema

In generale, e viste le modifiche apportate nei paragrafi precedenti, è preferibile utilizzare una sessione utente.

Di default al primo avvio, virt-manager si aprirà con attiva la sessione di sistema.
Per disattivarla è sufficiente fare clic con il tasto destro sul nome della connessione QEMU/KVM, cliccare prima su Disconnect (la traduzione lascia alquanto a desiderare) e poi su Delete.

Attivazione della sessione utente

Finalmente l'ultimo passaggio. Senza abbandonare l'interfaccia dell'applicazione, aprite il menu File>Aggiungi connessione..., scegliete l'hypervisor QEMU/KVM Sessione utente dal menu a tendina, attivate la Connessione automatica (dovrebbe essere già spuntata) e confermate il tutto.
Ora sarà possibile creare e gestire macchine virtuali direttamente da virt-manager, e senza la necessità di impersonare l'utente root.

Virtualbox e gli altri hypervisor di tipo 2 sono nettamente più semplici da configurare, ma KVM è una peculiarità del kernel Linux che non si può ignorare.