Auswahl von Software
Oft erfordern studentische Projekte zusätzliche Programmen auf einer Gruppe von Rechnern. Hierfür definiert der Admin für jedes Projekt eine eigene Programmklasse. Ein anderes Anwendungsbeispiel für die Nutzung einer Programmklasse ist das Deaktivieren der Bildschirmsperre unter KDE bei allen Pool-Rechnern. Solche Einstellungen erledigt üblicherweise kein Debian-Paket, sondern entweder ein Eintrag in einer bestehenden Datei oder ein Skript, das diese Einträge vornimmt. Sind also solche Einstellungen notwendig, fügen sie eine weitere Klasse den betreffenden Rechnern hinzu.
Das Aufschlüsseln der jeweiligen Programme in eigene Klassen eröffnet die Möglichkeit, sie leicht zu aktivieren oder zu deaktivieren. Es gilt allerdings darauf zu achten, nicht zu viele Programmklassen zu definieren, da sonst leicht der Überblick verloren geht. Besser ist es, auch hier Gruppen zu bilden. Tabelle 1 bietet eine Übersicht aller definierten Klassen mit zugehörigen Beispielen.
|
Tabelle 1: |
|---|
|
|
Im Konfigurationsverzeichnis »/srv/fai/config/« und seinen Unterverzeichnissen sind alle Informationen abgelegt, die FAI für die Installation eines Clients benötigt. Jedem Unterverzeichnis obliegt dabei eine andere Aufgabe. Im Unterverzeichnis »class/« befinden sich alle Dateien und Skripte zur Definition der einzelnen Klassen und Variablen. Hervorzuheben ist hier die Datei »50-host-classes«. In ihr speichert der Verwalter für jede Clientgruppe die zugeordneten Klassen.
Listing 3 enthält ein Beispiel für die »50-host-classes«. Die Datei ist ein Shellskript, das abhängig von der Variablen »$HOSTNAME« die Klassennamen anzeigt. Beginnt der Hostname des Clients etwa mit »L024-«, so handelt es sich um einen Rechner des Labors L0.24. Auf einem solchen Client installiert FAI die Basisklassen »BC_LINUX«, »BC_X11«, »BC_KDE«, »BC_BASE«, die Computerklasse »CC_SUN«, die Raumklasse »RC_L024« und die Serviceklasse »SC_LDAP«. Erkennt FAI den Client als »vmware-1« oder »vmware-2«, handelt es sich um eine virtualisierte Maschine. In diesem Fall wählt FAI die Klassen »BC_LINUX«, »CC_VMWARE« und »SC_LDAP« aus.
Lokale Gegebenheiten
Für jede Klasse darf der Administrator Vorgaben für Tastaturlayout, Zeitzone und Benutzerpasswörter oder Ähnliches festlegen. Die entsprechenden Werte speichert er in der Datei »Klassenname.var«. Listing 4 enthält beispielsweise Vorgaben für die Klasse »BC_LINUX«. FAI arbeitet die von »50-host-classes« ausgegebene Klassenliste von links nach rechts ab. Definieren mehrere dieser Klassen dieselbe Variable, so zählt der Wert der am weitesten rechts stehenden Klasse in der Liste. Der clevere Administrator nutzt diese Eigenschaft, um allgemeine Vorgaben durch speziellere zu ersetzen.
|
Listing 4: Parameter von |
|---|
01 # Auch nichtsignierte Repository erlauben: 02 FAI_ALLOW_UNSIGNED=1 03 04 # Deutsche Tastatur: 05 FAI_KEYMAP=de-latin1-nodeadkeys 06 07 # UTC=yes, wenn die Systemuhr auf UTC läuft. 08 UTC=yes 09 TIMEZONE=Europe/Berlin 10 time_zone=Europe/Berlin 11 12 # Root-Passwort durch "openssl passwd -1" für das neue System 13 # erzeugen, als Formate sind md5 und crypt möglich: 14 rootpw='$1$865YxXkZ$xRxd/WUBLPU4gZfVmi1ax1' 15 servicepw='$1$arm/uRPR$5w0Q7Z3i2cRSq1tOq/zyK/' |
Sollen zum Beispiel die Rechner des Labors L0.24 die Einstellungen der Klasse »BC_LINUX« erhalten, jedoch andere Passwörter, legt er eine neue Datei »RC_L024.var« an, die lediglich die Zeilen 12 bis 15 aus Listing 4 mit einem neuen Passwort enthält. Da »50-host-classes« die Klasse »RC_L024« nach der Klasse »BC_LINUX« aufführt, haben deren Vorgaben Vorrang.
Das Unterverzeichnis »debconf/« dient zur klassenabhängigen Konfiguration der Parameter des Debconf-Systems. Mittels Debconf speichert Debian systemweite Einstellungen wie etwa den Standard-Editor oder den Standard-Webbrowser. Die Speichermedien teilt der Administrator im Unterverzeichnis »disk_config« auf (siehe Kasten "Verbesserte Partitionierung").
Das Verzeichnis »package_config/« definiert für jede Klasse die Pakete, die das Zielsystem benötigt. Dies erledigt normalerweise der Befehl »PACKAGES aptitude Paketname ...«. Auch eine Deinstallation ist mit dem Befehl »PACKAGES remove Paketname ...« möglich. Listing 5 zeigt, wie sich Abhängigkeiten zwischen Klassen definiert lassen. Der Befehl »PACKAGES aptitude BC_KDE« installiert die nachfolgenden Pakete nur unter der Bedingung, dass sie auch Teil der Klasse »BC_KDE« sind. Diese Art der Definition erlaubt es, Konzepte feingliedrig zu strukturieren und umzusetzen.
|
Listing 5: Paketkonfiguration in |
|---|
01 # packages for all systems 02 PACKAGES aptitude 03 alsa-base 04 alsa-utils 05 discover 06 ... 07 08 PACKAGES aptitude BC_KDE 09 firefox-locale-de-de 10 thunderbird-locale-de |
|
Listing 6: Partitionierung einer |
|---|
01 disk_config disk1 preserve_always:1 bootable:2 02 primary /boot 200 ext2 rw 03 logical swap 4000 swap rw 04 logical /tmp 10000 ext2 defaults 05 logical /var 5000 ext3 defaults 06 logical / 3000- ext3 defaults,errors=remount-ro |
|
Listing 7: Partitionierung eines |
|---|
01 disk_config sda 02 primary - 256 - - 03 primary swap 1024 swap sw 04 primary - 0- - - 05 06 disk_config sdb 07 primary - 256 - - 08 primary - 1024 - - 09 primary - 0- - - 10 11 disk_config raid bootable:1 12 raid1 /boot sda1,sdb1 ext2 rw,errors=remount-ro 13 raid2 swap sda2,sdb2 swap rw 14 raid3 / sda3,sdb3 ext3 rw |
Diesen Artikel als PDF kaufen
Express-Kauf als PDF
Umfang: 6 Heftseiten
Preis € 0,99
(inkl. 19% MwSt.)
Als digitales Abo
Weitere Produkte im Medialinx Shop »
Versandartikel
Onlineartikel
Alle Rezensionen aus dem Linux-Magazin
- Buecher/07 Bücher über 3-D-Programmierung sowie die Sprache Dart
- Buecher/06 Bücher über Map-Reduce und über die Sprache Erlang
- Buecher/05 Bücher über Scala und über Suchmaschinen-Optimierung
- Buecher/04 Bücher über Metasploit sowie über Erlang/OTP
- Buecher/03 Bücher über die LPI-Level-2-Zertifizierung
- Buecher/02 Bücher über Node.js und über nebenläufige Programmierung
- Buecher/01 Bücher über Linux-HA sowie über PHP-Webprogrammierung
- Buecher/12 Bücher über HTML-5-Apps sowie Computer Vision mit Python
- Buecher/11 Bücher über Statistik sowie über C++-Metaprogrammierung
- Buecher/10 Bücher zu PHP-Webbots sowie zur Emacs-Programmierung
Insecurity Bulletin
Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...





