Съвременните операционни системи, включително Linux, се развиха през последните години, за да донесат виртуализацията на операционната система на скромния персонален компютър. Въпреки че самата виртуализация не е нова технология и Linux не е единствената операционна система, която може да стартира виртуални машини, комбинацията от технологии с отворен код и зрели хипервайзори означава, че Linux може да предложи разширени решения за виртуализация. Сред тези решения е Vagrant - инструмент, който работи с софтуер за виртуализация като Virtual Box и VMware, за да осигури лесен начин за създаване, конфигуриране и възпроизвеждане на виртуални машини с известно състояние. Възможността за лесно създаване на няколко виртуални машини в известна конфигурация може да помогне за тестване, разработване и внедряване на софтуер. Също така е полезно в малки офиси или у дома (за любители), тъй като тестовите машини могат да бъдат лесно създадени и да позволяват експериментиране с нов софтуер или конфигурации.

Това, което Vagrant прави, е да вземе основна операционна система за гости, да казва Ubuntu Linux, и да създаде виртуални машини, които могат да бъдат стартирани, спрени и унищожени с прости команди. Когато първоначално е създадена виртуална машина, тя може да бъде поставена в предварително определено състояние - софтуерът може да бъде инсталиран, файловете могат да бъдат създадени или копирани върху него и могат да бъдат изпълнявани други административни задачи.

За да инсталирате Vagrant на Linux, посетете страницата за изтегляне и изберете правилното изтегляне за разпространение. Проектът предлага пакети за Debian и Ubuntu, както и за Red Hat, CentOS и Fedora. Има 32-битови и 64-битови версии. Ако не сте сигурни дали сте инсталирали 32-битова или 64-битова версия на Linux, използвайте " uname -a ", за да разберете.

За Ubuntu можете да инсталирате .deb файла, като използвате:

 sudo dpkg -i vagrant_1.4.3_x86_64.deb 

Заменете " vagrant_1.4.3_x86_64.deb " с версията, която сте изтеглили.

За да работи Vagrant, трябва да инсталирате VirtualBox (или VMware). Изтеглете правилната версия за разпространението си от страницата за изтегляне на VirtualBox. Oracle предоставя пакети за Ubuntu, Debian, SUSE, Fedora и други.

За Ubuntu можете да инсталирате файла VirtualBox .deb, като използвате:

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

Заменете " virtualbox-4.3_4.3.6-91406~Ubuntu~precise_amd64.deb " с версията, която сте изтеглили.

Стартиране на първата ви машина

Най-бързият начин да накарате Vagrant да работи е да създаде директория за виртуалната машина (VM) и след това да стартира две команди Vagrant, една за инициализиране на системата и една за стартиране на VM. Първо създайте директория и cd в нея:

 mkdir vagrant-test1 cd vagrant-test1 

Сега инициализирайте Vagrant:

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

Това казва на Vagrant да инициализира и използва "precision32" като основна операционна система (наречена "box"). Третият параметър казва на Vagrant къде може да намери файловете за това поле. В случай, че не сте запознати с кодовите имена на Ubuntu, precise32 означава Ubuntu 12.04 LTS 32-bit. Vagrant също така предлага официални кутии за Ubuntu 12.04 LTS 64-битов (precise64) и Ubuntu 10.04 LTS 32-битов и 64-битов (lucid32 и lucid64). Съществува и списък с полетата, предоставени в общността, на http://vagrantbox.es.

Като част от фазата на инициализиране, Vagrant ще създаде файл, наречен " Vagrantfile " в текущата работна директория (т.е. vagrant-test1). Можете да създадете колкото се може повече директории и да инициализирате Vagrant толкова пъти, колкото искате. Всяка директория и Vagrantfile представляват една виртуална машина. Тези различни VM могат да се основават на една и съща кутия (т.е. precise32) или на различни кутии.

За да стартирате изпълнението на VM:

 напуснат 

Ако това е първият път, когато виртуална машина е била стартирана с избраното поле, тогава Vagrant ще изтегли файла .box от предоставения URL адрес и ще го зареди. Това може да отнеме няколко минути, в зависимост от скоростта на връзката ви с интернет, но следващите ботуши ще бъдат много по-бързи, тъй като .box файлът се изтегля само веднъж. Ако получите предупреждение, че версиите "гост добавки" не съвпадат, можете безопасно да го игнорирате. Всички файлове в работната директория на VM на хост машината ще бъдат налични в директорията "/ vagrant" на VM. По подразбиране това означава само файлът "Vagrant".

След като стартирате, виртуалната машина работи в режим без глава (без монитор или виртуален екран), така че трябва да се свържете с него чрез SSH. Можете да направите това чрез обикновен SSH клиент от всяка друга машина в мрежата или можете да използвате вградената команда ssh. Ако искате да използвате друг SSH клиент, обърнете внимание, че правилният IP адрес е IP адресът на хост машината (компютъра, работещ с Vagrant и VirtualBox), но на различен порт. По време на зареждането, Vagrant ще покаже как е препратен порт 22 (за SSH), вероятно ще бъде на пристанище 2222.

За да използвате вградената команда ssh, въведете:

 ssh 

Вече сте свързани с VM. За да излезете от връзката SSH, въведете " exit " или натиснете "CTRL + D".

Последни мисли

За да спрете работещо VM, използвайте

 спретнат 

и за да изтриете VM, използвайте

 Смъртоносно разрушение 

Когато един VM е унищожен, базовата операционна система (от .box файла) остава вътрешно съхранена в Vagrant и други VM могат да бъдат стартирани, когато е необходимо, без Vagrant да изтегли отново .box файла.

Само с две команди (" vagrant init precise32... " и " vagrant up "), Vagrant ви позволи да заредите напълно функционална, достъпна за SSH виртуална Linux машина. Разширената конфигурация се осъществява чрез Vagrantfile и можете да намерите повече подробности в документацията на Vagrant.

Имате ли някакъв въпрос за Вагрант? Попитайте ги в коментарите.