Σύγχρονα λειτουργικά συστήματα, συμπεριλαμβανομένου του Linux, έχουν αναπτυχθεί τα τελευταία χρόνια για να φέρουν τον εικονικό λειτουργικό σύστημα στον ταπεινό υπολογιστή. Αν και η ίδια η εικονικοποίηση δεν είναι νέα τεχνολογία και το Linux δεν είναι το μόνο λειτουργικό σύστημα που μπορεί να εκτελεί εικονικές μηχανές, ο συνδυασμός τεχνολογιών ανοιχτού κώδικα μαζί με ώριμους hypervisors σημαίνει ότι το Linux είναι σε θέση να προσφέρει προηγμένες λύσεις εικονικοποίησης. Μεταξύ αυτών των λύσεων είναι το Vagrant - ένα εργαλείο που λειτουργεί με λογισμικό virtualization όπως το Virtual Box και το VMware για να παρέχει έναν εύκολο τρόπο δημιουργίας, διαμόρφωσης και αναπαραγωγής εικονικών μηχανών με γνωστή κατάσταση. Η δυνατότητα εύκολης δημιουργίας πολλαπλών εικονικών μηχανών σε μια γνωστή διαμόρφωση μπορεί να βοηθήσει στη δοκιμή, την ανάπτυξη λογισμικού και την ανάπτυξη. Είναι επίσης χρήσιμο σε μικρά γραφεία ή στο σπίτι (για χομπίστες), καθώς οι μηχανές δοκιμής μπορούν εύκολα να δημιουργηθούν και να επιτρέψουν πειραματισμό με νέο λογισμικό ή διαμορφώσεις.

Τι κάνει το Vagrant είναι ένα βασικό λειτουργικό σύστημα επισκεπτών, όπως το Ubuntu Linux, και δημιουργεί εικονικές μηχανές που μπορούν να ξεκινήσουν, να σταματήσουν και να καταστραφούν με απλές εντολές. Όταν δημιουργείται αρχικά μια εικονική μηχανή, μπορεί να τεθεί σε προκαθορισμένη κατάσταση - μπορεί να εγκατασταθεί λογισμικό, να δημιουργηθούν ή να αντιγραφούν αρχεία σε αυτό και να εκτελεστούν άλλες εργασίες διαχείρισης.

Για να εγκαταστήσετε το Vagrant στο Linux, επισκεφθείτε τη σελίδα λήψεων και επιλέξτε τη σωστή λήψη για τη διανομή σας. Το πρόγραμμα προσφέρει πακέτα για το Debian και το Ubuntu καθώς και για τα Red Hat, CentOS και Fedora. Υπάρχουν διαθέσιμες εκδόσεις 32-bit και 64-bit. Εάν δεν είστε σίγουροι αν έχετε εγκαταστήσει μια έκδοση 32-bit ή 64-bit του 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). Κάντε λήψη της σωστής έκδοσης για τη διανομή σας από τη σελίδα Downloads VirtualBox. Η Oracle παρέχει πακέτα για Ubuntu, Debian, SUSE, Fedora και άλλα.

Για το Ubuntu μπορείτε να εγκαταστήσετε το αρχείο .deb του VirtualBox χρησιμοποιώντας:

 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

Ο πιο γρήγορος τρόπος για να ξεκινήσετε τη λειτουργία του Vagrant είναι να δημιουργήσετε έναν κατάλογο για την εικονική μηχανή (VM) και στη συνέχεια να εκτελέσετε δύο εντολές Vagrant, μία για την προετοιμασία του συστήματος και μία για να ξεκινήσετε το VM. Αρχικά δημιουργήστε έναν κατάλογο και το cd σε αυτό:

 mkdir vagrant-test1 cd vagrant-test1 

Τώρα αρχικοποιήστε το Vagrant:

 init ακριβής32 http://files.vagrantup.com/precise32.box 

Αυτό λέει στον Vagrant να αρχικοποιήσει και να χρησιμοποιήσει το "precision32" ως βασικό λειτουργικό σύστημα (που ονομάζεται κουτί). Η τρίτη παράμετρος λέει στον Vagrant πού μπορεί να βρει τα αρχεία για το συγκεκριμένο πλαίσιο. Σε περίπτωση που δεν είστε εξοικειωμένοι με τα κωδικά ονόματα του Ubuntu, precise32 σημαίνει Ubuntu 12.04 LTS 32-bit. Το Vagrant προσφέρει επίσης επίσημες θέσεις για τα Ubuntu 12.04 LTS 64-bit (prec64) και Ubuntu 10.04 LTS 32-bit και 64-bit (lucid32 και lucid64). Υπάρχει επίσης μια λίστα με κουτιά που παρέχονται από την κοινότητα στη διεύθυνση http://vagrantbox.es.

Ως μέρος της φάσης αρχικοποίησης, το Vagrant θα δημιουργήσει ένα αρχείο που ονομάζεται " Vagrantfile " στον τρέχοντα κατάλογο εργασίας (δηλαδή vagrant-test1). Μπορείτε να δημιουργήσετε όσους καταλόγους και να αρχικοποιήσετε το Vagrant όσες φορές θέλετε. Κάθε κατάλογος και Vagrantfile αντιπροσωπεύουν μια εικονική μηχανή. Αυτά τα διαφορετικά VM μπορούν να βασίζονται στο ίδιο κιβώτιο (π.χ. ακριβές32) ή σε διαφορετικά πλαίσια.

Για να ξεκινήσετε την εκτέλεση του VM:

 παραμελείται 

Εάν αυτή είναι η πρώτη φορά που ένα εικονικό μηχάνημα έχει εκτελεστεί με το επιλεγμένο πλαίσιο, τότε το Vagrant θα κατεβάσει το αρχείο .box από τη διεύθυνση URL και θα το εκκινήσει. Αυτό μπορεί να διαρκέσει μερικά λεπτά, ανάλογα με την ταχύτητα της σύνδεσής σας στο Internet, αλλά οι επόμενες εκκινήσεις θα είναι πολύ γρηγορότερες καθώς το αρχείο .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 και μπορούν να ξεκινήσουν περαιτέρω VMs όποτε είναι απαραίτητο χωρίς να γίνει ξανά η λήψη του αρχείου .Box από το Vagrant.

Σε δύο μόνο εντολές (" vagrant init precise32... " και " vagrant up "), το Vagrant σας επέτρεψε να εκκινήσετε μια πλήρως λειτουργική, εικονική μηχανή Linux με δυνατότητα πρόσβασης στο SSH. Η προηγμένη διαμόρφωση πραγματοποιείται μέσω του αρχείου Vagrant και μπορείτε να βρείτε περισσότερες λεπτομέρειες στην τεκμηρίωση του Vagrant.

Έχετε κάποια ερώτηση σχετικά με το Vagrant; Ρωτήστε τους στα σχόλια.