25univention-dhcp.inst schlägt fehl

german

#1

Guten Tag,

ich habe die Tage einen “frischen” UCS 3.2-0 errata16 aufgesetzt und alle Daten (hier insb. die Clients) per Hand migriert (d.h. neu eingepflegt).
Da dieser UCS bis zur kompletten Fertigstellung keine IP-Adressen via DHCP verteilen sollte, habe ich den Dienst im App-Center zunächst nicht installiert
und zuvor alle Clients inkl. der MAC und der zuzuweisenden IP-Adresse konfiguriert.

Nun wollte ich den DHCP-Server mit den folgenden (im App-Center hinterlegten) Paketen installieren:

[quote]isc-dhcp-server
isc-dhcp-server-ldap
univention-dhcp[/quote]

Die Installation verläuft problemlos, ein folgender Versuch, univention-join via Webconsole durchzuführen jedoch schlägt fehl:

[quote]univention-run-join-scripts started
Mo 16. Dez 07:14:57 CET 2013

RUNNING 25univention-dhcp.inst
E: object not found
EXITCODE=3

Mo 16. Dez 07:15:00 CET 2013
univention-run-join-scripts finished[/quote]

Sollte es nicht möglich sein, den DHCP-Server (via App-Center) zu installieren, NACHDEM sämtliche Konfigurationen erstellt wurden?
Ein manueller Versuch, den DHCP-Dienst zu starten, verhält sich dementsprechend ähnlich:
Die Webconsole meldet, dass der Dienst erfolgreich gestartet wurde, als Status wird weiterhin “gestoppt” angezeigt.
Ich hoffe, es gibt zu diesem Problem eine Lösung und bedanke mich im Voraus.


#2

Hallo,

die Join-Skripte gehen immer von dem Zustand aus, den sie auch im Normalfall erwarten können: den Zustand wenn das betreffende Paket in der Vorgängerversion installiert war, oder den Zustand wenn das Paket neu installiert wird. Alle anderen auftretenden Eventualitäten kann so ein Skript nicht wirklich abfangen. Und in diesem Fall verläßt sich das Skript auf irgendwas, was Sie beim Von-Hand-Einrichten nicht so hergestellt haben, wie es die Pakete sebst getan hätten.

Keine Panik, das Skript ist bloß einen Bildschirm groß, man kann also einfach nachgucken, was es tut. Der Fehler

[quote]E: Object not found[/quote] ist typisch für den udm modify Befehl, und davon gibt es nur einen einzigen in dem ganzen Skript. Also gucken wir mal:

[ul]
[li] in /var/univention-join/status nachgucken, ob es bereits die Zeile univention-dhcp v2 ... gibt. Sollte eigentlich nicht, aber wer weiß. Wenn ja, dann rauslöschen. Damit sagt man, der Skript wurde noch nie versucht, und er wird behandelt als würde er zum ersten Mal gerufen.[/li]
[li] in den Skript selbst (/usr/lib/univention-install/25univention-dhcp.inst) unter die Zeile eval "$(univention-config-registry shell)" eine weitere Zeile set -x einfügen. Damit sagt man der Shell, daß sie jeden Befehl, den sie ausführt, vorher noch ausschreibt. (Achtung: wenn man fertig ist: diese Änderung auf jeden Fall zurücknehmen)[/li][/ul]

Und nun den Join-Skript noch einmal ausführen. Es wird jetzt viel mehr Text ausgegeben werden, und an den letzten paar Zeilen vor der Fehlermeldung sollte man sehen können, welcher Befehl ausgeführt wird und welches Objekt da nicht gefunden wird.

viele Grüße
Frank Greif.