Hallo Zusammen,
wir haben jüngst eine Linuxmuster beim Kunden geupdatet (7.0 → 7.1), welcher OPSI im Einsatz hat. In diesem Zusammenhang sind mir diese beiden Probleme aufgefallen.
a)
Für mein Verständnis müsste, wenn man hier OPSI-PXE setzt:
in Datei /etc/dhcp/devices/default-school.conf der Eintrag „next server “ hinzugefügt werden.
Das passiert aber nicht:
Und damit startet der client von Linbo, statt von OPSI.
hab mir hier kurz mit einen dirty sed-hook-skript abhilfe geschaffen:
cat /var/lib/linuxmuster/hooks/device-import.post.d/changedhcpfile.bash
#!/bin/bash
echo "jawohll, hook wird ausgeführt!"
echo "passe /etc/dhcp/devices/default-school.conf für OPSI an:"
sed -i 's/option\ extensions-path\ "opsi-hp-clients";/option\ extensions-path\ "opsi-hp-clients";\n\ \ next-server\ 10.0.0.2;'/g /etc/dhcp/devices/default-school.conf
…damit starten die Clients wieder von OPSI.
- Am Standort ist das Opsi-Secureboot-UEFI-Modul im Einsatz, dass wir lizenzsiert haben. Damit das funktioniert muss diese DHCP-Option mitgegeben werden:
filename „linux/pxelinux.cfg/shimx64.efi.signed“
Hier gibt es ja auch das Feld „dhcp-options“ in der .csv:
Gebe ich hier meine Parameter an, so startet der DHCP-Server nicht mehr:
'NoneType' object has no attribute 'replace'
#### opsi-a3510 | not yet configured! | not yet configured! ####
/var/lib/linuxmuster/hooks/device-import.post.d
------------------------------------------------------------------------------
#### Executing post hooks: ####
#### * changedhcpfile.bash jawohll, hook wird ausgeführt!
passe /etc/dhcp/devices/default-school.conf für OPSI an:
------------------------------------------------------------------------------
#### Restarting services: ####
#### * isc-dhcp-server Traceback (most recent call last):
File "/usr/sbin/linuxmuster-import-devices", line 395, in <module>
'systemctl is-active --quiet ' + service, shell=True)
File "/usr/lib/python3.6/subprocess.py", line 311, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command 'systemctl is-active --quiet isc-dhcp-server' returned non-zero exit sta
Nov 05 08:49:13 server.bz-bss.lan dhcpd[10869]: exiting.
Nov 05 08:49:13 server.bz-bss.lan dhcpd[10869]:
Nov 05 08:49:13 server.bz-bss.lan dhcpd[10869]: process and the information we find helpful for debugging..
Nov 05 08:49:13 server.bz-bss.lan dhcpd[10869]: before submitting a bug. These pages explain the proper
Nov 05 08:49:13 server.bz-bss.lan dhcpd[10869]: bugs on either our web page at www.isc.org or in the README file
Nov 05 08:49:13 server.bz-bss.lan dhcpd[10869]: than a configuration issue please read the section on submitting
Nov 05 08:49:13 server.bz-bss.lan dhcpd[10869]: If you think you have received this message due to a bug rather
Nov 05 08:49:13 server.bz-bss.lan dhcpd[10869]:
Nov 05 08:49:13 server.bz-bss.lan dhcpd[10869]: Configuration file errors encountered -- exiting
Nov 05 08:49:13 server.bz-bss.lan dhcpd[10869]: ^
Nov 05 08:49:13 server.bz-bss.lan dhcpd[10869]: include "/etc/dhcp/devices.conf"
Nov 05 08:49:13 server.bz-bss.lan dhcpd[10869]: /etc/dhcp/dhcpd.conf line 68: /etc/dhcp/devices.conf: bad parse.
Nov 05 08:49:13 server.bz-bss.lan dhcpd[10869]: ^
Nov 05 08:49:13 server.bz-bss.lan dhcpd[10869]: include "/etc/dhcp/devices/default-school.conf"
Verfolgt man die Fehlermeldung, findet man heraus, dass das Import-Skript die Zeile falsch anlegt:
(hier sind uz viele anführungszeichen, das kann der dhcpd nicht interpretieren).
So wäre es richtig:
auch hier der passende dirty-hook:
sed -i 's/"filename\ ""linux\/pxelinux.cfg\/shimx64.efi.signed""";/filename\ "linux\/pxelinux.cfg\/shimx64.efi.signed";'/g /etc/dhcp/devices/default-school.conf
Ich glaub OPSI wird ja nicht so häufig verwendet, ich würde mich aber trotzdem (auch für die Schule) freuen, wenn man Ihn weiterverwenden kann.
Grüßle