Come potresti già, Vagante è un'applicazione open source per creare e mantenere ambienti di sviluppo software virtuali. È possibile avviare rapidamente una macchina virtuale utilizzando una casella Vagrant preconfigurata e copiare la stessa casella Vagrant su altri sistemi per distribuire una replica esatta dell'ambiente di sviluppo corrente. Una volta che hai finito di esplorare il tuo ambiente di sviluppo, puoi semplicemente ripristinare la macchina Vagrant al suo stato predefinito originale. Quindi non devi scaricare più e più volte la stessa scatola di Vagrant.
Ripristina la macchina virtuale Vagrant allo stato originale
Ai fini di questa guida, ho scaricato la scatola Oracle Linux 8 Vagrant e ho creato una VM usando quella scatola. Il nome utente e il nome host predefiniti di questa VM è vagrant
e localhost
rispettivamente.
Cambiamo questi valori. Ho cambiato il nome utente e il nome host come descritto in questa guida .
Ora il mio nome utente attuale è ostechnix
e il nome host è ol8
.
$ whoami
ostechnix
$ hostname
ol8
Installiamo qualsiasi software, ad esempio nano
editore.
$ sudo dnf install nano
Verifica se nano
è installato o non utilizza il comando:
$ dnf list nano
Fai quello che vuoi fare nella macchina virtuale.
Dopo aver esplorato l'ambiente virtuale e se non lo desideri più, puliscilo semplicemente e ricrea un ambiente virtuale pulito.
Prima di ripristinare lo stato predefinito della macchina Vagrant, esegui il backup del tuo lavoro e quindi spegni la VM:
# poweroff
Puoi anche utilizzare il seguente comando dal sistema hostname per spegnere la macchina virtuale vagante:
$ vagrant halt
Verifica se la VM è in esecuzione o meno:
$ vagrant status
Risultato di esempio:
Current machine states:
default shutoff (libvirt)
The Libvirt domain is not running. Run `vagrant up` to start it.
La VM è spenta.
Ora ripristineremo la casella Vagrant allo stato originale usando i comandi:
$ vagrant destroy
Risultato di esempio:
$ vagrant destroy
default: Are you sure you want to destroy the 'default' VM? [y/N] y
==> default: Removing domain...
Il destroy
il comando arresterà la macchina virtuale in esecuzione (se è già in esecuzione) e la distruggerà insieme a tutte le risorse create durante il processo di creazione della macchina virtuale. Ora il tuo sistema host dovrebbe essere lasciato in uno stato pulito, come se non avessi mai creato la macchina guest in primo luogo.
Si noti che il comando precedente non distruggerà la casella vagabondo che è stata scaricata durante la creazione della VM. Per tua informazione, tutte le caselle dei vagabondi sono archiviate in ~/.vagrant.d/boxes/
posizione nel tuo sistema. Verifichiamolo con ls
comando:
$ ls ~/.vagrant.d/boxes/
fedora33 oraclelinux-VAGRANTSLASH-7
Fedora33 oraclelinux-VAGRANTSLASH-8
Sì, tutte le scatole sono disponibili. Abbiamo eliminato solo la VM che abbiamo creato utilizzando la casella vagabondo.
Dopo aver arrestato e distrutto la macchina virtuale, esegui il comando seguente per creare una nuova macchina virtuale:
$ vagrant up --provider=libvirt
Qui sto usando la casella vagabondo con libvirt/kvm
fornitore.
Se hai scaricato il box Vagrant per Oracle Virtualbox, non devi specificare il --provider=libvirt
opzione. Usa invece questo comando:
$ vagrant up
Fatto! La macchina vagabonda è stata ripristinata al suo stato originale predefinito. Tutte le personalizzazioni e il software installato nella macchina virtuale saranno spariti. Ora dovresti avere una nuova macchina virtuale.
Come puoi vedere nell'esempio sopra, non ho eliminato la casella Oracle Linux 8 Vagrant e l'ho scaricata di nuovo. Ho semplicemente ripristinato il Vagrant VM al suo stato originale quando viene scaricato dal sito ufficiale.
Spero che questo aiuti.