Moderne operativsystemer, inkludert Linux, har utviklet seg de siste årene for å bringe operativsystemvirtualisering til den ydmyke PCen. Selv om virtualisering i seg selv ikke er ny teknologi, og Linux ikke er det eneste operativsystemet som kan kjøre virtuelle maskiner, betyr kombinasjonen av åpen kildekode-teknologi og modne hypervisorer at Linux kan tilby avanserte virtualiseringsløsninger. Blant disse løsningene er Vagrant - et verktøy som fungerer med virtualiseringsprogramvare som Virtual Box og VMware, for å gi en enkel måte å lage, konfigurere og reprodusere virtuelle maskiner med en kjent tilstand. Muligheten til å lage flere virtuelle maskiner i en kjent konfigurasjon kan hjelpe til med testing, programvareutvikling og distribusjon. Det er også nyttig i små kontorer eller hjemme (for hobbyister) som testmaskiner kan enkelt opprettes og tillate eksperimentering med ny programvare eller konfigurasjoner.

Hva Vagrant gjør er å ta et base gjest operativsystem, sier Ubuntu Linux, og opprette virtuelle maskiner som kan startes, stoppes og ødelagt med enkle kommandoer. Når en virtuell maskin opprinnelig er opprettet, kan den settes inn i en forhåndsdefinert tilstand - programvare kan installeres, filer kan opprettes eller kopieres på det, og andre administrasjonsoppgaver kan utføres.

For å installere Vagrant på Linux, besøk nedlastingssiden og velg riktig nedlastning for distribusjonen din. Prosjektet tilbyr pakker for Debian og Ubuntu, samt Red Hat, CentOS og Fedora. Det finnes 32-biters og 64-biters versjoner tilgjengelig. Hvis du ikke er sikker på om du har installert en 32-bit eller 64-biters versjon av Linux, bruk deretter " uname -a " for å finne ut.

For Ubuntu kan du installere .deb filen ved å bruke:

 sudo dpkg -i vagrant_1.4.3_x86_64.deb 

Erstatt " vagrant_1.4.3_x86_64.deb " med den versjonen du lastet ned.

For Vagrant å jobbe, må du installere VirtualBox (eller VMware). Last ned den riktige versjonen for distribusjonen fra siden VirtualBox Downloads. Oracle tilbyr pakker for Ubuntu, Debian, SUSE, Fedora og andre.

For Ubuntu kan du installere VirtualBox .deb filen ved å bruke:

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

Erstatt " virtualbox-4.3_4.3.6-91406~Ubuntu~precise_amd64.deb " med den versjonen du lastet ned.

Starter din første Vagrant-maskin

Den raskeste måten å få Vagrant opp, er å lage en katalog for den virtuelle maskinen (VM), og kjør deretter to Vagrant-kommandoer, en for å initialisere systemet og en for å starte VM. Først opprett en katalog og cd inn i den:

 mkdir vagrant-test1 cd vagrant-test1 

Start nå Vagrant:

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

Dette forteller Vagrant å initialisere og bruke "presise32" som basestasjonssystemet (kalt en boks). Den tredje parameteren forteller Vagrant hvor den kan finne filene for den boksen. Hvis du ikke er kjent med Ubuntus kodeavn, betyr precise32 Ubuntu 12.04 LTS 32-bit. Vagrant tilbyr også offisielle bokser for Ubuntu 12.04 LTS 64 bit (precise64) og Ubuntu 10.04 LTS 32-bit og 64-bit (lucid32 og lucid64). Det er også en liste over fellesskapskasser på http://vagrantbox.es.

Som en del av initialiseringsfasen vil Vagrant lage en fil som heter " Vagrantfile " i den nåværende arbeidskatalogen (dvs. vagrant-test1). Du kan lage så mange kataloger og initialisere Vagrant så mange ganger du vil. Hver katalog og Vagrantfil representerer en virtuell maskin. Disse forskjellige VMene kan være basert på samme boks (dvs. nøyaktig32) eller på forskjellige bokser.

For å starte VM-løp:

 vagrant opp 

Hvis dette er første gangen en virtuell maskin har blitt kjørt med den valgte boksen, vil Vagrant laste ned .box-filen fra nettadressen som er oppgitt og starte den. Det kan ta noen minutter, avhengig av hastigheten på Internett-tilkoblingen din, men påfølgende støvler vil bli mye raskere da .box-filen bare lastes ned én gang. Hvis du får en advarsel om "gjengstillingene" -versjonene som ikke passer, kan du sikkert ignorere det. Eventuelle filer i VMs arbeidskatalog på vertsmaskinen vil være tilgjengelige i katalogen "/ vagrant" på VM. Som standard betyr det bare Vagrantfilen.

Når du har startet opp, kjører den virtuelle maskinen i en hodeløs modus (uten skjerm eller virtuell skjerm), og du må derfor koble til den via SSH. Du kan gjøre dette via en vanlig SSH-klient fra hvilken som helst annen maskin på nettverket ditt, eller du kan bruke den innebygde ssh-kommandoen. Hvis du vil bruke en annen SSH-klient, merk at den riktige IP-adressen er IP-adressen til vertsmaskinen (PCen som kjører Vagrant og VirtualBox), men i en annen port. Under oppstart vil Vagrant vise hvordan port 22 (for SSH) er videresendt, det vil trolig være til port 2222.

For å bruke den innebygde ssh-kommandoen, skriv:

 vagrant ssh 

Du er nå koblet til VM. For å forlate SSH-tilkoblingen, skriv " exit " eller trykk "CTRL + D".

Siste tanker

For å stoppe en løpende VM, bruk

 vagranthalt 

og for å slette VM, bruk

 vagrant ødelegge 

Når en VM blir ødelagt, blir basestasjonssystemet (fra .box-filen) lagret internt i Vagrant, og ytterligere VMs kan startes når det er nødvendig uten at Vagrant laster ned .box-filen igjen.

I bare to kommandoer (" vagrant init precise32... " og " vagrant up "), tillot Vagrant deg å starte opp en fullt funksjonell, SSH tilgjengelig virtuell Linux-maskin. Avansert konfigurasjon skjer via Vagrantfilen, og du finner flere detaljer i Vagrant-dokumentasjonen.

Har du spørsmål om Vagrant? Spør dem i kommentarene.