Moderne besturingssystemen, waaronder Linux, hebben zich de afgelopen jaren ontwikkeld om virtualisatie van besturingssystemen naar de eenvoudige pc te brengen. Hoewel virtualisatie zelf geen nieuwe technologie is en Linux niet het enige besturingssysteem is dat virtuele machines kan draaien, betekent de combinatie van open source-technologieën en volwassen hypervisors dat Linux in staat is om geavanceerde virtualisatie-oplossingen aan te bieden. Een van deze oplossingen is Vagrant - een tool die werkt met virtualisatiesoftware zoals Virtual Box en VMware om een ​​eenvoudige manier te bieden voor het maken, configureren en reproduceren van virtuele machines met een bekende status. De mogelijkheid om eenvoudig meerdere virtuele machines te maken in een bekende configuratie kan helpen bij testen, software-ontwikkeling en implementatie. Het is ook nuttig in kleine kantoren of thuis (voor hobbyisten) omdat testmachines eenvoudig kunnen worden gemaakt en experimenten met nieuwe software of configuraties mogelijk zijn.

Wat Vagrant doet is een basis guest-besturingssysteem nemen, zeg Ubuntu Linux, en virtuele machines maken die kunnen worden gestart, gestopt en vernietigd met eenvoudige commando's. Wanneer een virtuele machine in eerste instantie wordt gemaakt, kan deze in een vooraf gedefinieerde status worden gezet - software kan worden geïnstalleerd, bestanden kunnen worden gemaakt of gekopieerd en andere beheertaken kunnen worden uitgevoerd.

Als u Vagrant onder Linux wilt installeren, bezoekt u de downloadpagina en kiest u de juiste download voor uw distributie. Het project biedt pakketten voor Debian en Ubuntu, evenals Red Hat, CentOS en Fedora. Er zijn 32-bit en 64-bit versies beschikbaar. Als u niet zeker weet of u een 32-bits of 64-bits versie van Linux hebt geïnstalleerd, gebruikt u " uname -a " om er achter te komen.

Voor Ubuntu kunt u het .deb-bestand installeren met behulp van:

 sudo dpkg -i vagrant_1.4.3_x86_64.deb 

Vervang " vagrant_1.4.3_x86_64.deb " door de versie die u hebt gedownload.

Om Vagrant te laten werken, moet je VirtualBox (of VMware) installeren. Download de juiste versie voor uw distributie op de pagina VirtualBox-downloads. Oracle biedt pakketten voor Ubuntu, Debian, SUSE, Fedora en anderen.

Voor Ubuntu kunt u het VirtualBox .deb-bestand installeren met behulp van:

 sudo dpkg -i virtualbox-4.3_4.3.6-91406 ~ Ubuntu ~ precise_amd64.deb 

Vervang " virtualbox-4.3_4.3.6-91406~Ubuntu~precise_amd64.deb " door de versie die u hebt gedownload.

Je eerste Vagrant-machine starten

De snelste manier om Vagrant operationeel te krijgen, is om een ​​map voor de virtuele machine (VM) te maken en vervolgens twee Vagrant-opdrachten uit te voeren, één om het systeem te initialiseren en één om de VM te starten. Maak eerst een map en cd erin:

 mkdir vagrant-test1 cd vagrant-test1 

Vagrant nu initialiseren:

 vagrant init precise32 http://files.vagrantup.com/precise32.box 

Dit vertelt Vagrant om "precision32" te initialiseren en te gebruiken als het basisbesturingssysteem (een box genaamd). De derde parameter vertelt Vagrant waar het de bestanden voor die box kan vinden. Als u niet bekend bent met de codenamen van Ubuntu, betekent precision32 Ubuntu 12.04 LTS 32-bit. Vagrant biedt ook officiële boxen voor Ubuntu 12.04 LTS 64-bit (precision64) en Ubuntu 10.04 LTS 32-bit en 64-bit (lucid32 en lucid64). Er is ook een lijst met door de community opgegeven vakjes op http://vagrantbox.es.

Als onderdeel van de initialisatiefase maakt Vagrant een bestand met de naam " Vagrantfile " in de huidige werkdirectory (dwz vagrant-test1). U kunt zoveel mappen maken en Vagrant zo vaak als u wilt initialiseren. Elke map en Vagrantfile vertegenwoordigen één virtuele machine. Deze verschillende VM's kunnen gebaseerd zijn op dezelfde doos (dwz exact32) of op verschillende vakken.

Om de VM-run te starten:

 zwervend op 

Als dit de eerste keer is dat een virtuele machine wordt uitgevoerd met de geselecteerde box, downloadt Vagrant het .box-bestand van de opgegeven URL en start het op. Dit kan een paar minuten duren, afhankelijk van de snelheid van je internetverbinding, maar latere opstart zal veel sneller gaan, omdat het .box-bestand maar één keer wordt gedownload. Als u een waarschuwing ontvangt dat de versies voor "gasttoevoegingen" niet overeenkomen, kunt u deze veilig negeren. Alle bestanden in de VM's-werkdirectory op de hostcomputer zijn beschikbaar in de map "/ vagrant" op de VM. Standaard betekent dat alleen het Vagrant-bestand.

Eenmaal opgestart, draait de virtuele machine in een headless-modus (zonder een monitor of virtueel scherm) en dus moet je er verbinding mee maken via SSH. U kunt dit doen via een normale SSH-client vanaf een andere computer in uw netwerk, of u kunt de ingebouwde ssh-opdracht gebruiken. Als u een andere SSH-client wilt gebruiken, moet u weten dat het juiste IP-adres het IP-adres is van de hostcomputer (de pc met Vagrant en VirtualBox) maar op een andere poort. Tijdens het opstarten zal Vagrant laten zien hoe poort 22 (voor SSH) is doorgestuurd, waarschijnlijk naar poort 2222.

Om de ingebouwde ssh-opdracht te gebruiken, typt u:

 zwervende ssh 

U bent nu verbonden met de VM. Om de SSH-verbinding te verlaten, typt u " exit " of drukt u op "CTRL + D".

Laatste gedachten

Als u een actieve VM wilt stoppen, gebruikt u

 zwervers halt 

en om de VM te verwijderen, gebruik

 vagrant vernietigen 

Wanneer een VM wordt vernietigd, blijft het basisbesturingssysteem (vanuit het .box-bestand) intern opgeslagen in Vagrant en kunnen verdere VM's worden gestart wanneer dat nodig is zonder dat Vagrant het .box-bestand opnieuw downloadt.

In slechts twee opdrachten (" vagrant init precise32... " en " vagrant up ") stond Vagrant je toe een volledig functionele, SSH-toegankelijke virtuele Linux-machine op te starten. Geavanceerde configuratie gebeurt via het Vagrant-bestand en u kunt meer details vinden in de Vagrant-documentatie.

Heb je nog vragen over Vagrant? Vraag ze in de comments.