Alle Linux-Clients einer Firma auf dem aktuellen Stand halten – das erweist sich auf Dauer als logistische Herausforderung. Dem geplagten Administrator helfen zum Glück Systeme zur Softwareverteilung, für die er noch nicht einmal den Geldbeutel öffnen muss.
Zwei Mausklicks genügen – und schon bekommen alle Rechner der Buchhaltung die neueste Tabellenkalkulation installiert. Der Administrator muss sich dazu nicht einmal von seinem Stuhl erheben. Möglich machen das Programme zur Paketverteilung. Sie arbeiten allesamt nach einem einfachen Prinzip: Ein zentraler Server hortet und verwaltet alle verfügbaren Softwarepakete. Dort können sich dann nicht nur die angeschlossenen Clients selbst bedienen, auf Weisung des Administrators schiebt der Server auch beliebige Pakete auf einige ausgewählte Clients. Daneben lassen sich natürlich Pakete auch wieder deinstallieren oder Clients aktualisieren.
Damit sich der Admin dabei nicht die Finger wund klickt, darf er mehrere zusammengehörende Pakete zu einer Paketgruppe vereinen: Die Entwicklungsabteilung freut sich beispielsweise über Eclipse, Java und einen UML-Editor. Danach genügt ein einziges Kommando, um alle drei Werkzeuge gleichzeitig auf den betroffenen Clients einzuspielen oder wieder zu löschen. Analog fasst er jene Clients in Gruppen zusammen, die jeweils eine angepasste Software-Ausstattung erhalten.
Serverausstattung
Wer nach einer kostenlosen Softwareverteilung für Linux-Clients sucht, stößt immer wieder auf die Namen M23 und Spacewalk. Wesentlich neuer ist Pulp, das ein eigener Artikel in diesem Themenschwerpunkt beschreibt.
Beide Testkandidaten richten auf dem Server-Rechner mindestens Apache nebst einer Datenbank ein, die leider meist mit bereits installierten Pendants kollidieren. M23 bringt einen LDAP-Server mit, Spacewalk bindet vorhandene ein. Um nicht in die Tiefen der Konfigurationsdateien absteigen zu müssen, stellt der Administrator tunlichst einen eigenen Server für die Paketverteilung ab. Dieser kann übrigens nicht nur selbst Pakete vorhalten, sondern auch gleich ganze (externe) Repositories spiegeln. Damit ist man zwar unabhängig von der Internetverbindung, doch kostet die Zwischenspeicherung mitunter ordentlich Festplattenplatz.
Der Server kann die Installation der Programmpakete nur dann erzwingen, wenn die Clients unter seiner Kontrolle stehen. Dazu impft der Admin sie mit einer Clientsoftware und meldet sie anschließend beim Server an. M23 und Spacewalk installieren daneben auch ganze Distributionen auf neuen Clientrechnern und wildern damit im Bereich der Provisioning-Systeme.
M23
Schon seit 2002 arbeitet Hauke Goos-Habermann an M23 [1], das auf dem Server zwingend ein Debian-System voraussetzt. Die Software verwaltet Clients mit Debian, Ubuntu, Kubuntu, Xubuntu, Linux Mint, Fedora und Open Suse. Der Server lässt sich von einem bereitgestellten ISO-Image installieren, das ein kleines Debian 6 (Squeeze) in der 32-Bit-Fassung enthält. Alternativ holt der Admin die M23-Pakete auch aus einem Repository in einen vorhandenen Debian-Server oder greift zu einer fertigen virtuellen Maschine für Virtualbox.
Nach der Installation läuft auf dem M23-Server neben Apache mit PHP und einer MySQL-Datenbank auch ein eigener DHCP-Server. Er beißt sich unter Umständen mit anderen Kollegen im Netzwerk. Bei Kollisionen empfiehlt das Handbuch, die anderen DHCP-Server abzuschalten und ausschließlich die M23-Instanz zu benutzen.
Übersichtlich
Die Verwaltung der Clients erfolgt bequem über eine Webanwendung (Abbildung 1). Sie wirkt etwas altbacken und geht großzügig mit Platz um, ist dafür aber recht übersichtlich (Abbildung 2). M23 kann mehrere Administratoren unterscheiden, die allerdings allesamt die gleichen weitreichenden Zugriffsrechte besitzen – die Konkurrenz erlaubt hier eine feinere Rechtevergabe.

Abbildung 1: M23 bedient der Admin über eine bunte Webanwendung, die sich nur auf einem großen Monitor gut macht.

Abbildung 2: Mit den farbigen Punkten in der ersten Spalte signalisiert M23, ob die Clients gerade beschäftigt sind.
Sobald der Server läuft, lässt der Systemverwalter die Clients via PXE oder Etherboot vom Netzwerk booten. M23 schiebt den Rechnern dann das jeweils gewünschte Betriebssystem zu. Alternativ ist in der Serveroberfläche ein Image für eine passende Boot-CD zu finden. Bestehende Clients bindet der M23-Server nur dann ein, wenn auf ihnen Debian oder Ubuntu mit einem SSH-Server läuft. Verschiedene Paketquellen lassen sich auch zu einer neuen Gruppe zusammenfassen und als Basis für die Client-Installation verwenden.
Neben normalen Programmpaketen kennt M23 noch Spezialpakete, die Systemoperationen oder umfangreiche Aufgaben lösen. Dazu gehört etwa, eine Festplatte zu formatieren oder in einem Rutsch KDE 4 parallel zu Gnome zu installieren.
Auf Wunsch erzeugt der integrierte Paket-Architekt aus ».tar.gz« -Archiven passende ».deb« -Pakete. Erhält ein Client einen Installations- oder Deinstallationsauftrag, weckt ihn der Server bei Bedarf via Wake on LAN auf. Nach durchgeführter Arbeit versetzt ihn der Server dann wieder in den Ruhezustand. Als kleine Delikatesse nimmt M23 sogar Shellskripte entgegen, die es auf die Clients überträgt und dort ausführt.
Der M23-Server erzeugt außerdem Abbilder seiner Festplatten und von denen des Clients und legt via Backup-PC-Komponente auch dateibasierte Sicherheitskopien an. Diese landen grundsätzlich auf der Festplatte des Servers. Nur die Serverbackups darf der Admin sicher per »scp« auf einen Fileserver schieben, mit den Clientbackups geht das unverständlicherweise nicht.
Virtuell
Direkt aus der Browseroberfläche heraus lassen sich auf dem Server und den Clients weitere virtuelle Maschinen mit Clientsystemen einrichten und verwalten. Im Hintergrund kommt dabei Virtualbox zum Einsatz. Hauke Goos-Habermann bietet auf seiner eigenen Homepage einen Fernadministrations-Service an, über den der Kunde den eigenen M23-Server via Internet fernsteuern kann. Als Bonbon lässt sich schließlich der Funktionsumfang des M23-Servers noch über Plugins erweitern.
In den Tests der Redaktion verhielt sich M23 hin und wieder zickig: Obwohl aus dem angebotenen ISO-Image installiert, wollte der DHCP-Server aufgrund einer fehlerhaften Konfigurationsdatei nicht starten, folglich suchten die Clients vergeblich ihren Meister. Einen bereits installierten Ubuntu-Rechner band der M23-Server klaglos ein, weigerte sich dann aber hartnäckig, auf ihm Software zu installieren. Wie sich herausstellte, fehlten dem Server die Berechtigungen für ein nicht existierendes Verzeichnis. Vermutlich hat hier die M23-Oberfläche bei der Registrierung des Clients geschludert. Beheben ließ sich das Problem bis Redaktionsschluss nicht.
Der Versuch, den Server über die Browseroberfläche via »Update« zu aktualisieren, führte nur zu einer leeren Seite. Außerdem präsentierte M23 die für die Administration der Clients benötigten Rootpasswörter auch ständig im Klartext – sicherheitsbewussten Administratoren ein Graus.
Über seine eigene Homepage bietet der Entwickler kostenpflichtigen Support an [1], beantwortet aber auch die im offiziellen Community-Forum [2] gestellten Fragen. Als weitere Anlaufstelle existieren eine Mailingliste [3] sowie ein ausführliches Handbuch auf Deutsch, das allerdings mehr als Referenz dient [4].
Spacewalk
Beim zweiten Testkandidaten handelt es sich um die Open-Source-Variante des Red Hat Network Satellite Server [5]. Ähnlich wie M23 kann Spacewalk nicht nur Softwarepakete verteilen, sondern auch gleich Clientsysteme automatisiert aufsetzen und inventarisieren. Der Server verwaltet zwar auch Clients mit Debian und Suse Enterprise Linux, doch an vielen Stellen zeigt sich, dass die Software ursprünglich nur auf Red-Hat-Systeme zugeschnitten war.
Obwohl für RHEL, Centos und Fedora fertige Pakete der Spacewalk-Software bereitstehen, macht die Einrichtung des Servers einige Arbeit. Das liegt zum einen an der Dokumentation, die lediglich aus einem ziemlich chaotischen Wiki besteht [6], zum anderen an den zahlreichen Abhängigkeiten. Der Spacewalk-Server übertrifft darin seine Konkurrenten und bannt unter anderem Java, Python, den Tomcat-Server und die Datenbank PostgreSQL auf die Platte. Anstelle von PostgreSQL darf der Anwender auch zu einer Oracle-Datenbank greifen, in beiden Fällen ist er jedoch für die Einrichtung selbst verantwortlich.
Darüber hinaus hätte Spacewalk gerne auf allen Rechnern Full Qualified Domain Names sowie Durchgänge in der Firewall an den Ports 80, 443, 4545, 5222 und 5269. Bei den Clientrechnern ist Spacewalk genügsamer: Dort reicht es volkommen aus, ein kleines Kommandozeilenwerkzeug zu installieren.
Die Bedienung erfolgt wie bei M23 größtenteils über eine Webanwendung (Abbildung 3). In einigen Situationen muss der Admin jedoch auf Kommandozeilenwerkzeuge zurückgreifen – etwa wenn er dem Spacewalk-Server ein Paket hinzufügt oder einen bestehenden Client anmeldet. Damit Letzteres klappt, muss er für diesen auf dem Server zunächst einen Aktivierungsschlüssel generieren. Der funktioniert ähnlich wie eine Eintrittskarte ins Fußballstadion: Er verhindert, dass beliebige Clients eigenmächtig an den Server andocken, und regelt gleichzeitig, zu welchen Paketquellen der legitimierte Client Zutritt erhält.

Abbildung 3: Die Benutzeroberfläche von Spacewalk wirkt nur auf den ersten Blick übersichtlich. Viele Funktionen verstecken sich in Untermenüs.
Softwarepakete und Repositories sammelt Spacewalk in so genannten Channels. Jeder Client kann einen oder mehrere solcher Kanäle abonnieren. Neue Pakete in den Channels holt sich entweder der Client automatisch ab (Polling) oder der Administrator schiebt sie explizit hinüber (Push). In letzterem Fall hat er jedoch keine Kontrolle darüber, wann genau die Installation eines Pakets stattfindet. Der Administrator kann lediglich festlegen, ab wann Spacewalk das Paket installieren darf (Abbildung 4). Selbst geschnürte Pakete müssen übrigens signiert sein, andernfalls weist Spacewalk sie standardmäßig ab.
In einer History merkt sich Spacewalk ausgeführte Aktionen, sie rückgängig machen kann die Software aber nicht. Außerdem lassen sich Profile anlegen, die den aktuellen Paketbestand des Clients festhalten. Die Profile darf der Admin dann miteinander vergleichen – mehr aber auch nicht. Snapshots der Clientsysteme lassen sich zwar erstellen und später bei Bedarf zurückspielen. Das funktioniert aber nur, wenn der Administrator den Client über die entsprechenden Provisioning-Funktionen in Spacewalk aufgesetzt hat.
Errata verwaltet Spacewalk separat, dabei darf der Anwender auch eigene erstellen. Als kleine Besonderheit führt Spacewalk auf den Clients (Shell-)Skripte aus und schiebt ihnen automatisch vorgefertigte Konfigurationsdateien unter. Für diese existiert sogar eine kleine Versionsverwaltung, über die der Administrator schnell zu einer älteren Konfiguration zurückspringen kann.
Spacewalk ist sichtlich auf große Unternehmensnetzwerke ausgelegt. So hält es sogar die Rechner verschiedener Organisationen auseinander. Jeder Benutzer, der sich an der Weboberfläche anmeldet, sieht dabei nur die Systeme aus seiner Organisation. Spacewalk unterscheidet zwischen Benutzern und Administratoren, wobei Rollen für Admins festlegen, welche Aktionen sie auslösen dürfen und welche nicht. Daneben sieht Spacewalk den Einsatz von Proxys vor. Sie puffern die Inhalte und Pakete eines Spacewalk-Servers und sollen so die Last besser verteilen beziehungsweise die Ausfallsicherheit erhöhen.
Die Dokumentation beschränkt sich auf das angesprochene, unordentliche Wiki [6] und die offizielle Red-Hat-Network-Satellite-Dokumentation [7]. Weiteren Support gibt es nur über die Mailingliste oder via IRC [8].
Fazit
Administratoren haben in der Praxis keine besonders große Auswahl: Wer Debian- oder Ubuntu-Systeme einsetzt, greift eher zu M23, für Installationen mit Fedora, Centos oder Red Hat gibt es Spacewalk oder auch Pulp, das ein anderer Artikel in diesem Schwerpunkt beschreibt. In heterogenen Umgebungen empfehlen sich trotz ihrer Vorlieben M23 und Spacewalk, der Admin muss dabei aber genau auf die unterstützten Distributionen achten. Eine kostenlose Softwareverteilung für beliebige Linux-Systeme ließ sich leider nicht aufspüren. Der Kasten “Weitere Software” listet aber weitere erwähnenswerte Tools, die für bestimmte Szenarien passen mögen.
Weitere Software
Neben M23 und Spacewalk gibt es noch einige weitere freie Anwendungen, die aber meist einen oder mehrere Haken haben.
So ist etwa OCS Inventory NG [9] eigentlich eine Inventarisierungssoftware, die einen Überblick über die im Netzwerk enthaltenen Rechner mit ihrer Hard- und Software geben soll. Als Nebenjob schickt sie allerdings auch Programmpakete an die Clients. Diese Pakete muss der Admin allerdings selbst schnüren, als Archivformat dienen ».zip« oder ».tar.gz« . OCS entpackt das Archiv auf dem Client und führt ein darin enthaltenes Programm oder Skript aus. Unter dem Strich ist das nicht gerade das, was der Linux-Admin gewohnt ist. Im Gegenzug kann OCS Inventory mit verschiedenen Betriebssystemen auf den Clients umgehen, angefangen bei Windows über Mac OS X bis hin zu HP-UX.
Open PC Server Integration (Opsi, [10]), läuft zwar auf einem Linux-Server, verteilt Software aber ausschließlich an Windows-Clients. Die Entwicklerfirma Uib GmbH stellt auf ihrer Homepage allerdings die automatische Installation von Linux-Clients in Aussicht.
Kurz vor Redaktionsschluss zeigte sich auf der Cebit mit Uranos [11] noch ein weiteres interessantes Tool mit Weboberfläche. Der Linux-Admin Mario Gzuk entwickelt es bereits seit 2004 für den Eigenbedarf.
M23 lässt sich am einfachsten in ein neu aufzusetzendes Netzwerk integrieren, das Einbinden bestehender Clientrechner klappt dagegen nur mit Schwierigkeiten. Spacewalk wiederum lässt sich nur umständlich installieren, bietet dafür aber einen großen Funktionsumfang und bringt eine komfortable, Browser-basierte Benutzeroberfläche mit – wenngleich diese nicht ganz so intuitiv zu bedienen ist wie die von M23.
Einen eindeutigen Favoriten gibt es somit nicht, jedes System hat seine individuellen Vor- und Nachteile, die in Tabelle 1 übersichtlich präsentiert sind. Wer vor der Wahl steht, sollte daher seine Anforderungen mit den Funktionen der Probanden vergleichen und sich dann erst entscheiden. (mhu)
Infos
- Goos-Habermann, Support für M23: http://www.goos-habermann.de
- M23-Forum: http://m23.sourceforge.net/phpBB2
- M23-Mailingliste: https://lists.sourceforge.net/lists/listinfo/m23-user
- M23-Handbuch: http://m23.sourceforge.net/docs/manual/html/de/manual.html
- Red Hat Network Satellite Server: http://de.redhat.com/products/enterprise-linux/rhn-satellite/
- Spacewalk-Wiki: https://fedorahosted.org/spacewalk/wiki/UserDocs
- Dokumentation zu Red Hat Network Satellite: http://www.redhat.com/docs/en-US/Red_Hat_Network_Satellite/5.3.0/Installation_Guide/html/index.html
- Spacewalk-Mailingliste und IRC-Chat:http://spacewalk.redhat.com/communicate.html
- OCS Inventory NG: http://www.ocsinventory-ng.org
- Open PC Server Integration (Opsi):http://uib.de/www/opsi/index.html
- Uranos: http://uranos.sourceforge.net







