04.06.2013 Aufrufe

Handbuch - Univention

Handbuch - Univention

Handbuch - Univention

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

7.3 Verwaltung der lokalen Systemkonfiguration mit <strong>Univention</strong> Configuration Registry<br />

vorliegen, werden diese nicht überschrieben. Stattdessen wird eine neue Version im selben Verzeichnis<br />

mit der Endung .debian.dpkg-new abgelegt. Sollen Änderungen an <strong>Univention</strong> Configuration Registry-<br />

Templates vorgenommen werden, werden diese Templates bei der Aktualisierung ebenfalls nicht über-<br />

schrieben und im selben Verzeichnis mit der Endung .dpkg-new oder .dpkg-dist abgelegt. Entsprechen-<br />

den Hinweise werden in die Log-Datei /var/log/univention/updater.log geschrieben. Dies tritt<br />

nur auf, wenn UCR-Templates lokal angepasst werden.<br />

Die UCR-Templates werden im Verzeichnis /etc/univention/templates/files abgelegt. Der Pfad<br />

zu den Vorlagen entspricht dem absoluten Pfad zu der Konfigurationsdatei mit vorangestelltem Pfad zum<br />

Vorlagenverzeichnis. So findet sich zum Beispiel die Vorlage für die Konfigurationsdatei /etc/issue<br />

unter /etc/univention/templates/files/etc/issue.<br />

Damit Konfigurationsdateien von <strong>Univention</strong> Configuration Registry korrekt verarbeitet werden können,<br />

müssen sie im UNIX-Format vorliegen. Werden Konfigurationsdateien z.B. unter DOS oder Windows be-<br />

arbeitet, werden Steuerzeichen zur Kennzeichnung des Zeilenumbruchs eingefügt, die die Verwendung<br />

der Datei durch <strong>Univention</strong> Configuration Registry stören.<br />

7.3.5.1 Referenzierung von UCR-Variablen in Templates<br />

Im einfachsten Fall kann eine UCR-Variable im Template direkt referenziert werden. Als Platzhalter dient<br />

der Variablenname, der von der Zeichenkette @%@ eingefasst wird. Als Beispiel die Option für die Aktivie-<br />

rung von X11-Forwarding in der Konfigurationsdatei /etc/ssh/sshd_config des OpenSSH-Servers:<br />

X11Forwarding @%@sshd/xforwarding@%@<br />

Neu eingefügte Referenzen auf UCR-Variablen werden automatisch von Templates ausgewertet, eine<br />

zusätzliche Registrierung ist nur bei der Verwendung von Inline-Python-Code nötig (siehe Kapitel 7.3.5.2).<br />

7.3.5.2 Integration von Inline-Python-Code in Templates<br />

In UCR-Templates kann beliebiger Python-Code eingebettet werden, in dem ein von der Zeichenkette<br />

@!@ eingefasster Codeblock eingefügt wird. Mit solchen Blöcken können z.B. bedingte Abfragen umge-<br />

setzt werden, so dass beim Ändern eines Parameters über eine Variable weitere abhängige Einstellungen<br />

automatisch in die Konfigurationsdatei aufgenommen werden. Folgende Code-Sequenz konfiguriert bei-<br />

spielsweise Netzwerk-Einstellungen anhand der <strong>Univention</strong> Configuration Registry-Einstellungen:<br />

@!@<br />

if configRegistry.get(’apache2/ssl/certificate’):<br />

print ’SSLCertificateFile %s’ % configRegistry.get(’apache2/ssl/certificate’)<br />

@!@<br />

Alle mit der print-Funktion ausgegebenen Daten werden dabei in die generierte Konfigurationsdatei ge-<br />

schrieben. Die in <strong>Univention</strong> Configuration Registry gespeicherten Daten können über das configRegistry-<br />

Objekt abgefragt werden, z.B.:<br />

@!@<br />

if configRegistry[’version/version’] and configRegistry[’version/patchlevel’]:<br />

print ’UCS \%s-\%s’ \% \<br />

(configRegistry[’version/version’], \<br />

configRegistry[’version/patchlevel’])<br />

@!@<br />

101

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!