In questo tutorial vedremo come installare Vagrant su sistemi operativi Linux. Installare Vagrant è abbastanza semplice! Tutto quello che devi fare è andare sulla pagina dei download di Vagrant, prendere la versione binaria precompilata adatta per la tua distribuzione Linux e installarla come faresti normalmente per installare altre applicazioni. Puoi anche installare Vagrant dai repository predefiniti. Qui ho incluso tutti i modi possibili per installare Vagrant sulla tua macchina Linux.
1. Installa Vagrant su Linux
Vagrant è disponibile nei repository ufficiali della maggior parte delle distribuzioni Linux e Unix. Quindi possiamo installare vagrant usando i gestori di pacchetti predefiniti.
Ad esempio, esegui il seguente comando per installare Vagrant su Debian, Ubuntu, Linux Mint:
$ sudo apt install vagrant
Su Fedora:
$ sudo dnf install vagrant
Su SUSE/openSUSE:
$ sudo zypper install vagrant
Le versioni ufficiali nei repository potrebbero essere molto obsolete. Se desideri la versione più recente, vai alla pagina di download ufficiale di Vagrant e scarica l'ultimo file binario per i tuoi sistemi operativi Linux.
Ad esempio, se stai usando Debian e altri sistemi basati su Debian come Ubuntu, scarica semplicemente .deb versione. Al momento della stesura di questa guida, l'ultima versione era la 2.2.10. È disponibile sia per l'architettura a 32 bit che a 64 bit.
Dopo aver scaricato il file .deb, vai alla sezione download e installalo come di seguito:
$ sudo apt install gdebi
$ sudo gdebi vagrant_2.2.10_x86_64.deb
Ecco il motivo per cui ho usato "gdebi" è perché installa automaticamente le dipendenze necessarie.
Se hai scaricato .rpm file, puoi installarlo usando il comando:
$ sudo dnf localinstall vagrant_2.2.10_x86_64.rpm
Oppure,
$ sudo yum localinstall vagrant_2.2.10_x86_64.rpm
2. Installa hypervisor
Dopo aver installato Vagrant, è necessario installare eventuali hypervisor di virtualizzazione, ad esempio VirtualBox o KVM. Perché Vagrant non è un software di virtualizzazione autonomo. È solo un wrapper e un front-end per altre applicazioni di virtualizzazione.
Vagrant è originariamente sviluppato per VirtualBox. Dalla versione 1.1, il team di vagrant ha esteso il proprio supporto ad altri software di virtualizzazione e ambienti server popolari, inclusi Aws, Azure, GCE, Docker, KVM, Proxmox, Openstack, Openvz, VMware e molti altri. Puoi visualizzare l'elenco completo dei provider/ambienti supportati qui .
Ai fini di questa guida, utilizzerò Oracle VirtualBox. Perché installare Virtualbox è facile e Vagrant utilizza VirtualBox come provider predefinito.
Per installare VirtualBox su Debain, Ubuntu, Linux Mint, esegui il seguente comando:
$ sudo apt install virtualbox
Per installare Virtualbox su Red Hat, CentOS, Fedora, esegui:
$ sudo dnf install virtualbox
Per installare Virtualbox su SUSE/openSUSE, esegui:
$ sudo zypper install virtualbox
Se preferisci utilizzare KVM, puoi seguire le guide seguenti per installarlo.
- Installa e configura KVM nel server CentOS 8
- Installa e configura KVM in Ubuntu 20.04 Headless Server
- Installa e configura KVM in OpenSUSE Tumbleweed
3. Verifica l'installazione di Vagrant
Per verificare se Vagrant è installato correttamente, è sufficiente eseguirlo senza alcuna opzione dal terminale:
$ vagrant
Tornerà la sezione di aiuto di Vagrant.
Usage: vagrant [options] <command> [<args>]
-h, --help Print this help.
Common commands:
box manages boxes: installation, removal, etc.
cloud manages everything related to Vagrant Cloud
destroy stops and deletes all traces of the vagrant machine
global-status outputs status Vagrant environments for this user
halt stops the vagrant machine
help shows the help for a subcommand
init initializes a new Vagrant environment by creating a Vagrantfile
login
package packages a running vagrant environment into a box
plugin manages plugins: install, uninstall, update, etc.
port displays information about guest port mappings
powershell connects to machine via powershell remoting
provision provisions the vagrant machine
push deploys code in this environment to a configured destination
rdp connects to machine via RDP
reload restarts vagrant machine, loads new Vagrantfile configuration
resume resume a suspended vagrant machine
snapshot manages snapshots: saving, restoring, etc.
ssh connects to machine via SSH
ssh-config outputs OpenSSH valid configuration to connect to the machine
status outputs status of the vagrant machine
suspend suspends the machine
up starts and provisions the vagrant environment
upload upload to machine via communicator
validate validates the Vagrantfile
version prints current and latest Vagrant version
winrm executes commands on a machine via WinRM
winrm-config outputs WinRM configuration to connect to the machine
For help on any individual command run `vagrant COMMAND -h`
Additional subcommands are available, but are either more advanced
or not commonly used. To see all subcommands, run the command
`vagrant list-commands`.
--[no-]color Enable or disable color output
--machine-readable Enable machine readable output
-v, --version Display Vagrant version
--debug Enable debug output
--timestamp Enable timestamps on log output
--debug-timestamp Enable debug output with timestamps
--no-tty Enable non-interactive output
Puoi anche -h o --aiuto parametro per visualizzare la sezione della guida.
$ vagrant --help
[Or]
$ vagrant -h
Per ottenere assistenza per i singoli comandi, esegui:
$ vagrant <COMMAND-NAME> -h
Per visualizzare la versione di Vagrant, esegui:
$ vagrant version
Restituirà la versione attualmente installata e l'ultima versione disponibile.
Installed Version: 2.2.10
Latest Version: 2.2.10
You're running an up-to-date version of Vagrant!
Oppure,
$ vagrant -v
Vagrant 2.2.10
4. Aggiorna Vagrant
Se hai installato Vagrant da repository ufficiali utilizzando il gestore di pacchetti della distribuzione, puoi semplicemente aggiornare Vagrant alla versione più recente aggiornando il tuo sistema. Ad esempio, sui sistemi basati su Debian, i seguenti comandi aggiorneranno Vagrant alla versione più recente:
$ sudo apt update
$ sudo apt upgrade
Sui sistemi basati su RPM, come RHEL, CentOS, esegui:
$ sudo yum update
Oppure,
$ sudo dnf update
su SUSE/openSUSE:
$ sudo zypper update
Se hai scaricato e installato manualmente Vagrant, scarica la nuova versione dalla pagina di download ufficiale di Vagrant e installalo come descritto in "Installa Vagrant" sezione precedente.
I nuovi programmi di installazione sovrascriveranno e rimuoveranno correttamente i vecchi file. Si consiglia di non eseguire altri processi Vagrant durante il processo di aggiornamento.
5. Risoluzione dei problemi del vagabondo
Se esegui più hypervisor sulla stessa macchina host, probabilmente riscontrerai un errore simile a quello riportato di seguito all'avvio di una VM:
There was an error while executing `VBoxManage`, a CLI used by Vagrant for controlling VirtualBox. The command and stderr is shown below.
Command: ["startvm", <ID of the VM>, "--type", "headless"]
Stderr: VBoxManage: error: VT-x is being used by another hypervisor (VERR_VMX_IN_VMX_ROOT_MODE).
VBoxManage: error: VirtualBox can't operate in VMX root mode. Please disable the KVM kernel extension, recompile your kernel and reboot
(VERR_VMX_IN_VMX_ROOT_MODE)
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component ConsoleWrap, interface IConsole
Questo errore si verifica perché è attualmente in uso un altro hypervisor, ad esempio KVM. Per correggere questo errore, potrebbe essere necessario inserire temporaneamente nella blocklist quell'hypervisor.
Trova il modulo KVM usando il comando:
$ lsmod | grep kvm
Se il tuo sistema host è Intel, otterrai il seguente output:
kvm_intel 282624 0
kvm 663552 1 kvm_intel
Se è AMD, otterrai invece questo:
kvm_intel 282624 0
kvm 663552 1 kvm_amd
Ora blocca il modulo KVM usando il comando:
$ echo 'blacklist kvm-intel' >> /etc/modprobe.d/blacklist.conf
Digita "kvm-amd" nel comando precedente se la tua CPU è AMD.
Riavvia il sistema e riprova a eseguire Vagrant. Questa volta la VM si avvierà senza problemi.
Questo è tutto. Abbiamo installato con successo Vagrant su Linux. Consulta il seguente articolo per scoprire come utilizzare Vagrant per configurare un ambiente virtualizzato e come creare e gestire le macchine virtuali utilizzando Vagrant.
- Tutorial di Vagrant – Iniziare con Vagrant