Open Source im professionellen Einsatz
Linux-Magazin 10/2015
© Rainer Plendl, 123RF

© Rainer Plendl, 123RF

Automatische Desktopkonfiguration mit Ansible und Perl

Science. Not fiction

Das überlichtgeschwinde Provisionierungstool Ansible eignet sich nicht nur für Konfigurations- und Releasemanagement mittelgroßer Serverfarmen, sondern auch für den Hausgebrauch, zum Restaurieren von Anpassungen auf dem Linux-Desktop daheim.

622

Online PLUS

Im Screencast demonstriert Michael Schilli das Beispiel: http://www.linux-magazin.de/Ausgaben/2015/10/plus

Etwa alle fünf Jahre ist es in den Perlmeister-Labs an der Zeit, eine neue Linux-Distribution zu installieren. Nur alle fünf Jahre deshalb, weil es meiner Erfahrung nach mit einem Wahnsinnsaufwand verbunden ist, nach dem »do-release-upgrade« all die kleinen Cronjobs und Webapplikationen wieder zum Laufen zu bringen, die ein solches Upgrade wegen neuer Versionen von Perl, Apache und diverser Libs anscheinend zwangsläufig mit sich bringt.

Viele Open-Source-Entwickler – sowohl in der Distributionsszene (Hallo, Ubuntu!) als auch im Tool-Bereich (Hallo, Open SSL!) – scheren sich einen feuchten Kehricht um Rückwärtskompatibilität und ich darf mir jedes Mal ein paar Tage Urlaub nehmen, um fluchend an meinem Linux-Desktop zu sitzen und Konfigurationen zu ändern oder Skripte anzupassen.

Oft erinnere ich mich dann auch nur noch vage an all die vielen kleinen von Hand eingefügten Patches, die notwendig waren, um das eine oder andere Tool endlich zur Zufriedenheit zum Laufen zu bringen. Auch Wochen nach dem Upgrade ist es nicht ungewöhnlich, etwas zu finden, das noch nicht ordnungsgemäß funktioniert, und ich zermartere mir das Hirn, um herauszufinden, wie ich das vor Jahren gelöst hatte.

Handbetrieb lachhaft

Server von Hand einrichten, das löst ja bei Profis schon seit vielen Jahren Lachkrämpfe aus. Werkzeuge wie Puppet oder Chef erledigen dort Konfiguration und neue Releases automatisch und zuverlässig. Wer seine Änderungen in die versionierten Konfigurationsdateien dieser Tools einträgt, hat zudem noch den Vorteil, dass alles jederzeit fehlerfrei reproduzierbar ist.

Leider geht jedes dieser Tools mit einem religiösem Kult Hand in Hand, dessen Jünger sich anscheinend lebenslang verpflichten müssen, kostenpflichtige Trainings zu absolvieren, Zertifizierungen abzulegen und ja nicht von der verbotenen Frucht zu naschen, nach deren Verzehr der Abtrünnige sich dann vielleicht fragen würde, ob es tatsächlich sinnvoll ist, sich vom kreativen Skripthacker zum willfährigen Anpasser von Konfigurationsdateien nach einem vorgegebenen Schema umschulen zu lassen.

Deswegen freute es mich während der Lektüre des neuen und sehr empfehlenswerten Ansible-Buches [2] zu erfahren, dass dieses freie Provisionierungswerkzeug [3] nicht nur keinen Agenten auf dem Zielsystem erfordert, weil es sich einfach mittels SSH dorthin verbindet, sondern auch nach unten skaliert, also auch für die rechenzentrumslose Oma Meume ohne viel Brimborium einen einzigen Desktop verwalten kann.

Ursprung Science-Fiction

Der Name Ansible kommt aus der Science-Fiction-Literatur und bezeichnet ein Gerät, mit dem man in Überlichtgeschwindigkeit über Galaxie-Entfernungen hinweg kommunizieren kann. Wikipedia kommentiert lapidar, unsere Wissenschaftler wüssten zurzeit noch nicht, wie ein solches Gerät zu bauen wäre. Wer will, kann der Ansible-Religion beitreten und seine Anweisungen im Yaml-Format schreiben, handgestrickte Perl-Skripte funktionieren aber auch.

Modernen Linux-Distributionen liegt Ansible als Paket bei. Unter Ubuntu installiert es sich zum Beispiel mit:

sudo apt-get install ansible

Mit dem Ping-Modul und dem heimischen Desktop »localhost« als Ziel aufgerufen bestätigt es, dass alles in Ordnung ist und nichts verändert wurde:

$ ansible localhost -m ping
localhost | success >> {
    "changed": false,
    "ping": "pong"
}

Nun zur Praxis: Eine einfache, aber ständig wiederkehrende Aufgabe nach der Neuinstallation meines Systems zuhause ist es zum Beispiel, eine maßgeschneiderte ».vimrc« -Datei ins Homeverzeichnis zu platzieren. Glücklicherweise liegt diese öffentlich zugänglich in einem meiner Repositories auf Github (Abbildung 1), sodass Ansible jetzt das Herunterladen automatisieren und der Datei nach der Installation auch gleich noch die voreingestellten Nutzerrechte geben kann. Da die Datei, die den Sollzustand des Systems beschreibt, zusammen mit vielen anderen Ansible-Skripten in einem Verzeichnis liegt, ist die Wiederherstellung der Vim-Konfiguration nun fester Bestandteil der Systemrestauration, den garantiert kein schussliger Admin vergisst.

Abbildung 1: Auf Github steht die maßgeschneiderte .vimrc-Datei des Autors.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 4 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Perl-Snapshot: Ansible

    Das überlichtgeschwinde Provisionierungstool Ansible eignet sich nicht nur für Konfigurations- und Releasemanagement mittelgroßer Serverfarmen, sondern auch für den Hausgebrauch, zum Restaurieren von Anpassungen auf dem Linux-Desktop daheim. Im Video zeigt Mike Schilli wie das geht.

  • Puppet vs. Ansible

    Automatisierung gehört im Rechenzentrum zum guten Ton. Puppet gilt als Platzhirsch und darf von sich behaupten, bei Unternehmen wie Google im Einsatz zu sein. Ansible ist eine schlanke Alternative.

  • Ansible 2.0

    Mit einer überarbeiteten und schnelleren Engine geht die neue Version 2.0 der in Python geschriebenen Orchestrierungssoftware Ansible an den Start. Reicht das für eine Pole Position?

  • Ansible 2.0 verfügbar

    Nach dem Kauf von Ansible durch Red Hat ist nun die Version 2.0 der agentenlosen Automatisierungssoftware verfügbar.

  • Perl-Snapshot

    Wer viel in der Shell arbeitet und navigiert, nach Textstücken sucht oder CPAN-Module installiert, wird die hier vorgestellten Helferskripte bestimmt schnell schätzen lernen.

comments powered by Disqus

Ausgabe 09/2016

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.