Moderna operativsystem, inklusive Linux, har utvecklats under senare år för att få operativsystemvirtualisering till den ödmjuka datorn. Även om virtualisering i sig inte är ny teknik och Linux inte är det enda operativsystemet som kan köra virtuella maskiner, innebär kombinationen av öppen källteknik tillsammans med mogna hypervisorer att Linux kan erbjuda avancerade virtualiseringslösningar. Bland dessa lösningar är Vagrant - ett verktyg som arbetar med virtualiseringsprogram som Virtual Box och VMware för att skapa ett enkelt sätt att skapa, konfigurera och reproducera virtuella maskiner med ett känt tillstånd. Möjligheten att enkelt skapa flera virtuella maskiner i en känd konfiguration kan hjälpa till med testning, mjukvaruutveckling och implementering. Det är också användbart i små kontor eller hemma (för hobbyister) eftersom testmaskiner enkelt kan skapas och tillåter experimentering med ny programvara eller konfigurationer.

Vad Vagrant gör är att ta ett basgäst operativsystem, säger Ubuntu Linux, och skapa virtuella maskiner som kan startas, stoppas och förstöras med enkla kommandon. När en virtuell maskin ursprungligen skapas kan den läggas i ett fördefinierat tillstånd - programvara kan installeras, filer kan skapas eller kopieras till det och andra administrationsuppgifter kan utföras.

För att installera Vagrant på Linux, besök nedladdningsidan och välj rätt nedladdning för distributionen. Projektet erbjuder paket för Debian och Ubuntu samt Red Hat, CentOS och Fedora. Det finns 32-bitars och 64-bitars versioner tillgängliga. Om du inte är säker på om du har installerat en 32-bitars eller 64-bitarsversion av Linux använder du " uname -a " för att ta reda på det.

För Ubuntu kan du installera .deb-filen med:

 sudo dpkg -i vagrant_1.4.3_x86_64.deb 

Byt ut " vagrant_1.4.3_x86_64.deb " med den version som du hämtade.

För att Vagrant ska fungera måste du installera VirtualBox (eller VMware). Ladda ner den korrekta versionen för distributionen från sidan Virtuella nedladdningar. Oracle tillhandahåller paket för Ubuntu, Debian, SUSE, Fedora och andra.

För Ubuntu kan du installera VirtualBox .deb-filen med:

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

Byt ut " virtualbox-4.3_4.3.6-91406~Ubuntu~precise_amd64.deb " med den version som du hämtade.

Startar din första Vagrant-maskin

Det snabbaste sättet att få Vagrant igång är att skapa en katalog för den virtuella maskinen (VM) och kör sedan två Vagrant-kommandon, en för att initiera systemet och en för att starta VM. Först skapa en katalog och cd i den:

 mkdir vagrant-test1 cd vagrant-test1 

Starta nu Vagrant:

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

Detta berättar att Vagrant initierar och använder "precise32" som basoperativsystem (kallad en låda). Den tredje parametern berättar Vagrant där den kan hitta filerna för den rutan. Om du inte känner till Ubuntus kodnamn betyder precise32 Ubuntu 12.04 LTS 32-bit. Vagrant erbjuder även officiella lådor för Ubuntu 12.04 LTS 64 bit (precise64) och Ubuntu 10.04 LTS 32-bitars och 64-bitars (lucid32 och lucid64). Det finns också en lista över gemenskaper som finns på http://vagrantbox.es.

Som en del av initialiseringsfasen skapar Vagrant en fil som heter " Vagrantfile " i den nuvarande arbetsboken (dvs. vagrant-test1). Du kan skapa så många kataloger och initiera Vagrant så många gånger du vill. Varje katalog och Vagrantfil representerar en virtuell maskin. Dessa olika VM kan baseras på samma lådor (dvs. precise32) eller på olika lådor.

För att starta VM-körningen:

 vagrant upp 

Om det här är första gången en virtuell maskin har körts med den valda rutan, kommer Vagrant att ladda ner .box-filen från den angivna webbadressen och starta den. Det kan ta några minuter, beroende på hastigheten på din Internetanslutning, men efterföljande stövlar blir mycket snabbare, eftersom .box-filen bara laddas ned en gång. Om du får en varning om versionerna "gästtillägg" som inte matchar kan du säkert ignorera det. Alla filer i VM: s arbetsbok på värddatorn kommer att finnas tillgängliga i katalogen "/ vagrant" på VM. Som standard betyder det bara Vagrantfilen.

När den startade, kör den virtuella maskinen i ett huvudlöst läge (utan skärm eller virtuell skärm) och så måste du ansluta till den via SSH. Du kan göra det via en vanlig SSH-klient från någon annan maskin i ditt nätverk, eller du kan använda det inbyggda ssh-kommandot. Om du vill använda en annan SSH-klient, notera att rätt IP-adress är värddatorns IP-adress (datorn kör Vagrant och VirtualBox) men i en annan port. Under uppstart visas Vagrant hur port 22 (för SSH) har vidarebefordrats, det kommer sannolikt att vara port 2222.

För att använda det inbyggda ssh-kommandot skriver du:

 vagrant ssh 

Du är nu ansluten till VM. För att lämna SSH-anslutningen, skriv " exit " eller tryck på "CTRL + D".

Slutgiltiga tankar

För att stoppa en kör VM, använd

 vagranthalt 

och för att radera VM, använd

 vagrant förstör 

När en VM förstörs, sparas basoperativsystemet (från .box-filen) internt i Vagrant och ytterligare VM kan startas när det behövs utan att Vagrant hämtar .box-filen igen.

I bara två kommandon (" vagrant init precise32... " och " vagrant up ") tillåter Vagrant dig att starta upp en fullt fungerande, SSH-tillgänglig virtuell Linux-maskin. Avancerad konfiguration sker via Vagrantfilen och du kan hitta mer information i Vagrant-dokumentationen.

Har du någon fråga om Vagrant? Fråga dem i kommentarerna.