Moderne Betriebssysteme, einschließlich Linux, haben sich in den letzten Jahren entwickelt, um Betriebssystem-Virtualisierung auf den bescheidenen PC zu bringen. Obwohl die Virtualisierung selbst keine neue Technologie ist und Linux nicht das einzige Betriebssystem ist, das virtuelle Maschinen ausführen kann, bedeutet die Kombination von Open-Source-Technologien mit ausgereiften Hypervisoren, dass Linux in der Lage ist, fortschrittliche Virtualisierungslösungen anzubieten. Zu diesen Lösungen gehört Vagrant - ein Tool, das mit Virtualisierungssoftware wie Virtual Box und VMware arbeitet und eine einfache Möglichkeit bietet, virtuelle Maschinen mit einem bekannten Status zu erstellen, zu konfigurieren und zu reproduzieren. Die Möglichkeit, mehrere virtuelle Maschinen in einer bekannten Konfiguration einfach zu erstellen, kann beim Testen, bei der Softwareentwicklung und bei der Bereitstellung hilfreich sein. Es ist auch nützlich in kleinen Büros oder zu Hause (für Bastler), da Testmaschinen einfach erstellt werden können und Experimentieren mit neuer Software oder Konfigurationen ermöglicht wird.

Was Vagrant tut, ist ein Basis-Gastbetriebssystem, sagen wir Ubuntu Linux, und virtuelle Maschinen zu erstellen, die mit einfachen Befehlen gestartet, gestoppt und zerstört werden können. Wenn eine virtuelle Maschine anfänglich erstellt wird, kann sie in einen vordefinierten Zustand versetzt werden - Software kann installiert werden, Dateien können erstellt oder kopiert werden und andere Verwaltungsaufgaben können ausgeführt werden.

Um Vagrant unter Linux zu installieren, besuchen Sie die Download-Seite und wählen Sie den richtigen Download für Ihre Distribution. Das Projekt bietet Pakete für Debian und Ubuntu sowie Red Hat, CentOS und Fedora. Es sind 32-Bit- und 64-Bit-Versionen verfügbar. Wenn Sie nicht sicher sind, ob Sie eine 32-Bit- oder 64-Bit-Version von Linux installiert haben, verwenden Sie " uname -a ", um das herauszufinden.

Für Ubuntu können Sie die .deb-Datei installieren mit:

 sudo dpkg -i vagrant_1.4.3_x86_64.deb 

Ersetzen Sie " vagrant_1.4.3_x86_64.deb " durch die Version, die Sie heruntergeladen haben.

Damit Vagrant funktioniert, müssen Sie VirtualBox (oder VMware) installieren. Laden Sie die richtige Version für Ihre Distribution von der VirtualBox Downloads Seite herunter. Oracle stellt Pakete für Ubuntu, Debian, SUSE, Fedora und andere zur Verfügung.

Für Ubuntu können Sie die VirtualBox .deb-Datei installieren mit:

 sudo dpkg -i virtualbox-4.3_4.3.6-91406 ~ Ubuntu ~ präzise_amd64.deb 

Ersetzen Sie " virtualbox-4.3_4.3.6-91406~Ubuntu~precise_amd64.deb " durch die Version, die Sie heruntergeladen haben.

Starten Sie Ihre erste Vagrant-Maschine

Der schnellste Weg, um Vagrant zum Laufen zu bringen, besteht darin, ein Verzeichnis für die virtuelle Maschine (VM) zu erstellen und dann zwei Vagrant-Befehle auszuführen, einen zum Initialisieren des Systems und einen zum Starten der VM. Erstellen Sie zuerst ein Verzeichnis und cd hinein:

 mkdir vagrant-test1 cd vagrant-test1 

Initiiere jetzt Vagrant:

 vagrant init präzise32 http://files.vagrantup.com/precise32.box 

Dies weist Vagrant an zu initialisieren und "precise32" als Basisbetriebssystem zu verwenden (eine Box genannt). Der dritte Parameter teilt Vagrant mit, wo er die Dateien für diese Box finden kann. Falls Sie mit den Codenamen von Ubuntu nicht vertraut sind, bedeutet precise32 Ubuntu 12.04 LTS 32-bit. Vagrant bietet auch offizielle Boxen für Ubuntu 12.04 LTS 64-Bit (Precise64) und Ubuntu 10.04 LTS 32-Bit und 64-Bit (Lucid32 und Lucid64). Es gibt auch eine Liste der von der Community bereitgestellten Boxen unter http://vagrantbox.es.

Als Teil der Initialisierungsphase erstellt Vagrant eine Datei namens " Vagrantfile " im aktuellen Arbeitsverzeichnis (zB vagrant-test1). Sie können so viele Verzeichnisse erstellen und Vagrant so oft initialisieren, wie Sie möchten. Jedes Verzeichnis und jede Vagrant-Datei repräsentieren eine virtuelle Maschine. Diese verschiedenen VMs können auf derselben Box (zB precise32) oder auf verschiedenen Boxen basieren.

So starten Sie den VM-Lauf:

 Landstreicher 

Wenn zum ersten Mal eine virtuelle Maschine mit der ausgewählten Box ausgeführt wurde, lädt Vagrant die .box-Datei von der angegebenen URL herunter und bootet sie. Dies kann einige Minuten dauern, abhängig von der Geschwindigkeit Ihrer Internetverbindung, aber nachfolgende Starts sind viel schneller, da die .box-Datei nur einmal heruntergeladen wird. Wenn Sie eine Warnung erhalten, dass die Versionen der "Gasthinzufügungen" nicht übereinstimmen, können Sie sie ignorieren. Alle Dateien im Arbeitsverzeichnis der VMs auf dem Hostcomputer sind im Verzeichnis "/ vagrant" auf der VM verfügbar. Standardmäßig bedeutet das nur die Vagrant-Datei.

Nach dem Start läuft die virtuelle Maschine in einem Headless-Modus (ohne Monitor oder virtuellen Bildschirm) und Sie müssen sich mit SSH verbinden. Sie können dies über einen normalen SSH-Client von einem beliebigen anderen Computer in Ihrem Netzwerk aus tun, oder Sie können den integrierten ssh-Befehl verwenden. Wenn Sie einen anderen SSH-Client verwenden möchten, beachten Sie, dass die richtige IP-Adresse die IP-Adresse des Host-Computers (der PC, auf dem Vagrant und VirtualBox ausgeführt wird), aber auf einem anderen Port ist. Während des Hochfahrens zeigt Vagrant an, wie Port 22 (für SSH) weitergeleitet wurde, es wird wahrscheinlich Port 2222 sein.

Geben Sie Folgendes ein, um den integrierten Befehl ssh zu verwenden:

 Landstreicher ssh 

Sie sind jetzt mit der VM verbunden. Um die SSH-Verbindung zu verlassen, geben Sie " exit " ein oder drücken Sie "STRG + D".

Abschließende Gedanken

Um eine laufende VM anzuhalten, verwenden Sie

 Landstreicher Halt 

und um die VM zu löschen, verwenden Sie

 Landstreicher zerstören 

Wenn eine VM zerstört wird, bleibt das Basisbetriebssystem (aus der .box-Datei) intern in Vagrant gespeichert und weitere VMs können bei Bedarf gestartet werden, ohne dass Vagrant die .box-Datei erneut herunterlädt.

Mit nur zwei Befehlen (" vagrant init precise32... " und " vagrant up ") erlaubte Vagrant Ihnen, einen voll funktionsfähigen, SSH-fähigen virtuellen Linux-Rechner vagrant init precise32... . Die erweiterte Konfiguration erfolgt über die Vagrant-Datei. Weitere Details finden Sie in der Vagrant-Dokumentation.

Hast du Fragen zu Vagrant? Frag sie in den Kommentaren.