Firmenbrief

17.05.2011

Admins Helfer: Software-Rollout mit OPSI


Wer als IT-Verantwortlicher viele Workstations in seinem Büro verwalten muss, befasst sich irgendwann mal mit der Frage, wie möglichst effizient und zeitgleich Software auf den Clients installiert werden kann. „Turnschuh-IT", also das Abklappern aller betroffenen Rechner und die manuelle Installation direkt am PC, ist dabei weit verbreitet. Ein Blick in die Open-Source-Welt zeigt: Es gibt kostenlose Software, die einem diese zeitraubende Arbeit abnimmt.

OPSI - Open PC Server Integration

Die Anforderungsliste an Software, die automatisiert Programme auf einer beliebigen Anzahl an Clients installiert, ist recht klein: Sie sollte leicht bedienbar, preisgünstig, skalierbar und in der Funktionalität erweiterbar sein. In der Linux-Welt gibt es gleich mehrere Werkzeuge, die diese Anforderungen erfüllen. In unseren Recherchen und im Einsatz bei Kundenprojekten sticht jedoch genau eine Deployment-Software, zu deutsch. Verteilungs-Software, besonders hervor: OPSI.

Sie können OPSI direkt als fertiges VMware-Image herunterladen oder via Paketmanager auf verschiedenen Distributionen installieren. Die Software ist kostenfrei und kann, dank Open-Source-Lizenz, beliebig erweitert werden. Mit OPSI werden sowohl Windows als auch Linux-Clients verwaltet, wobei letztere erst in einem experimentellen Stadium unterstützt werden.

opsiclientd und RPC

Damit die automatische Installation von OPSI funktionieren kann, muss auf den Windows-Clients ein Client-Tool (opsiclientd) laufen, das via RPC mit dem OPSI-Server kommuniziert. Bei einem Boot des Windows-Rechners startet opsiclientd. Das Programm fragt noch vor der Login-Aufforderung von Windows beim Server nach möglichen Installationsaufträgen und startet ggf. den automatisierten Installationsablauf. Der Benutzer bekommt von der eigentlichen Installation nichts mit, sieht jedoch einen kurzen Hinweis zum aktuellen Geschehen.

Nach der Installation der gewünschten Software wird der Benutzer zur Login-Maske von Windows geleitet und kann nach dem Einloggen das frisch installierte Programm verwenden. Natürlich ist es mit OPSI möglich, nicht nur Software auszurollen, sondern auch großflächig Einstellungen an allen Clients vorzunehmen. Während „kleine" Einstellungsänderungen mit den Mitteln der Turnschuh-IT mehrere Stunden verzehren können, benötigt das Erstellen eines Rollout-Pakets mit OPSI und das anschließende Deployment auf den Clients in der Regel gerade mal wenige Minuten.

Paketmanagement

OPSI denkt in Paketform und sieht auszurollende Änderungen (beispielsweise Programme, Konfigurationsänderungen an den Clients usw.) als „Packages". Ähnlich wie unter Debian oder Ubuntu können Pakete auf dem Server mit einem Befehl erstellt und anschließend mit Leben gefüllt werden. Ein weiterer Befehl verpackt alle einzelnen Paketteile zu einem .opsi-Archiv und installiert dieses im lokalen Mirror-Verzeichnis („Repository"). Von dort aus kann es der opsiclientd beziehen, wenn das Programm auf dem Client installiert werden soll.

Setup-Scripte

Nach dem Anlegen des Paketgrundgerüsts werden die Setup-Dateien des gewünschten Programms in das CLIENT_DATA-Verzeichnis geschoben. Anschließend definiert ein selbst geschriebenes Installationsskript, welches im Aufbau stark an .INI-Dateien erinnert, den automatisierten Installationsablauf der Software. Mit Hilfe des kostenlosen autoit3-Programms, können somit auch Programme automatisiert installiert werden, die in der Regel keine so genannte Silent-Installation unterstützen. Autoit3 klickt sich bei Bedarf einfach durch die Dialogfenster eines Installationsassistenten und simuliert somit die Tastatur und Maus eines Benutzers. Dieser Vorgang läuft erfahrungsgemäß so schnell ab, dass der Anwender nicht viel davon mitbekommt.

Der Installationsvorgang im Detail

Beim Start eines Systems fragt opsiclientd beim Server nach, ob Aufgaben anstehen. Diese Aufgaben lauten in der Regel „install", „update" oder „deinstall". Für jede dieser Aufgaben legt OPSI einen lokalen Administrator auf dem betroffenen Client an, bindet das Samba-Laufwerk des Servers mit dem Mirror-Verzeichnis ein und startet das entsprechende Aktionsskript (beispielsweise setup.ins).

Das Aktionsskript definiert in kurzen Befehlen die durchzuführenden Aufgaben. Diese können, je nach Anforderung, Software installieren oder beispielsweise auch Änderungen in der Registry durchführen. Je nach Anwendungsfall ist OPSI also flexibel und kann alle Wünsche des Admins für die Verwaltung von Clients erfüllen. Während des Installationsvorgangs kann im Übrigen auch die lokale Konsole von Windows aufgerufen werden, diese bietet weitere automatische Konfigurationsmöglichkeiten für den Administrator. Nach der Abarbeitung des entsprechenden Aktionsskripts löscht OPSI den lokalen Administrator und zeigt die Login-Maske von Windows.

Für die Dauer des Installationsvorgangs bietet OPSI zusätzlich das Einblenden einer Abbrechen-Schaltfläche an. Anwender, die nicht warten möchten oder können, sind somit in der Lage die Installation abzubrechen. Diese muss jedoch explizit konfiguriert werden, da diese Funktion standardmäßig nicht aktiv ist.

Wann macht OPSI Sinn?

Der Einsatz von OPSI macht Sinn, sobald mehr als eine Handvoll Clients mit neuer Software oder Einstellungen ausgestattet werden sollen. Dank umfangreicher Möglichkeiten zur Automatisierung der benötigten Aufgaben spart man sich auch in kleinen Netzwerken viel Zeit und Nerven, die man dann für andere Dinge übrig hat.