04.06.2013 Aufrufe

UCS-Handbuch - Univention

UCS-Handbuch - Univention

UCS-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.

14.11 Einbinden zusätzlicher Konfigurationsdateien<br />

14.11 Einbinden zusätzlicher Konfigurationsdateien<br />

Es ist möglich, Konfigurationsdateien, die nicht aus einem Installationspaket stammen, in <strong>Univention</strong> Con-<br />

figuration Registry zu registrieren. Die folgende Beschreibung gilt nur für Konfigurationsdateien, die nicht<br />

von einem Paket installiert wurden.<br />

Zuerst müssen eine oder mehrere Vorlagendateien erzeugt bzw. angepasst und unterhalb des Verzeich-<br />

nisses /etc/univention/templates/files abgelegt werden. Syntax und genauer Speicherort der<br />

Vorlagendateien sind in Kapitel 14.7 beschrieben.<br />

Im Verzeichnis /etc/univention/templates/info muss eine Datei angelegt werden, in der die ver-<br />

wendeten Konfigurationsdateien und die in ihnen enthaltenen Variablen aufgeführt werden. Der Name<br />

der anzulegenden Datei ist frei wählbar, sie muss allerdings auf .info enden. Die Syntax entspricht dem<br />

in Kapitel 14.10 für die Datei debian/.univention-config-registry genannten<br />

Schema.<br />

Abschließend muss die Cachedatei /var/cache/univention-config/cache gelöscht werden. Die<br />

zusätzlichen Konfigurationsdateien sind beim nächsten Aufruf registriert. Sobald eine für diese Datei re-<br />

gistrierte <strong>Univention</strong> Configuration Registry-Variable verändert wird oder der Befehl univention-config-<br />

registry commit für diese Datei aufgerufen wird, wird aus der Vorlagedatei unter Berücksichtigung der<br />

<strong>Univention</strong> Configuration Registry-Variablen eine neue Konfigurationsdatei erstellt.<br />

14.12 Integration von Python-Code<br />

Wenn das Einbinden einzelner <strong>Univention</strong> Configuration Registry-Variablen für das Erzeugen einer<br />

Konfigurationsdatei nicht ausreicht, kann Python-Code direkt in die Datei integriert werden. Ein Python-<br />

Codeblock wird mit der Zeichenkette @!@ eingeleitet und abgeschlossen.<br />

Im folgenden Beispiel wird die Vorlage /etc/univention/templates/files/etc/issue (aus der<br />

die Datei /etc/issue erzeugt wird) um Python-Code erweitert. Zuvor sieht sie wie folgt aus:<br />

@!@<br />

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

print ’<strong>UCS</strong> \%s-\%s \BS\BSn \BS\BSl’ \% \<br />

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

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

@!@<br />

Soll im Python-Code der Wert einer <strong>Univention</strong> Configuration Registry-Variable abgefragt werden, kann<br />

- wie im Beispiel dargestellt - das Python-Objekt baseConfig genutzt werden. Bei der Verwendung von<br />

Python-Code muss darauf geachtet werden, dass die im Python-Code genutzten Variablen beim Erstellen<br />

des Paketes angegeben werden (siehe Kapitel 14.10).<br />

Es werden nun außerhalb des Python-Codes zwei <strong>Univention</strong> Configuration Re-<br />

gistry-Variablen, hostname und domainname, hinzugefügt, indem die Vorlage<br />

/etc/univention/templates/files/etc/issue wie folgt bearbeitet wird:<br />

@!@<br />

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

313

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!