Fehlermeldung im LinuxMuster-Server-Setup nach der Vorbereitung

Liebes Forum,
nach dem Abbrand unseres Schulgebäudes und einem schnellen Umzug habe ich die Gelegenheit genutzt und wende mich vom Windows-Server-und-Client-System ab.

Ich habe einen (alten) Dell-Server bekommen und dort Proxmox, OPNsense (jetzt 25.1.7_4) und natürlich auch LinuxMuster 7.2 installiert. Proxmox ist auch bereits im internen Netz.

Das Skript lmn-appliance mit lmn-prepare ist zur Vorbereitung des Setups durchgelaufen. Ergebnis „OK“.

Nun möchte ich den Server fertig einrichten. Dies geht ja mittels Konsole oder GUI, beide Wege führen leider zu Fehlern.

Das Konsolenbild zeigt die Ausgaben des Python-Installskripts. Hier kann ich nicht sagen, was fehlt.

Ich habe das Skript aufgerufen mit:
linuxmuster-setup --location="Hochdahl" --schoolname="Gymnasium-Hochdahl" --country=de --state=NRW

Im Dialog habe ich als Domain paed.gymnasium-hochdahl.de angegeben. Dann sollte nach Anleitung „paed“ als AD-Name genommen werden.

Die Ausgabe des Setups:

#### * dhcpd.custom.conf ....................................... Success! ####
#### * server_cert_ext.cnf ..................................... Success! ####
#### * dhcpd.devices.conf ...................................... Success! ####
#### * subnets.csv ............................................. Success! ####
#### * dhcpd.events.conf ....................................... Success! ####
#### * rsyncd.conf ............................................. Success! ####
#### * dhcpd.conf .............................................. Success! ####
#### * nsswitch.conf ........................................... Success! ####
#### * webui-sudoers ........................................... Success! ####
#### Server prepare update ..................................... Success! ####
#### Adjusting server time .......................... 2025-06-07 15:37:39 ####
------------------------------------------------------------------------------
#### fstab                                                                ####
#### Modifying mount options for / ............................. Success! ####
#### Remounting / .............................................. Success! ####
------------------------------------------------------------------------------
#### ssl                                                                  ####
#### Reading setup data ........................................ Success! ####
#### Creating private CA key & certificate ..................... Success! ####
Traceback (most recent call last):
  File "/usr/sbin/linuxmuster-setup", line 153, in <module>
    importlib.import_module(module_file.replace('.py', ''))
  File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/usr/lib/linuxmuster/setup.d/g_ssl.py", line 85, in <module>
    createServerCert(item, days, logfile)
  File "/usr/lib/linuxmuster/functions.py", line 549, in createServerCert
    cnffile = environment.SSLDIR + '/server_cert_ext.cnf'
NameError: name 'environment' is not defined
root@server:/home/linuxadmin#

Der andere Versuch betrifft das Web-GUI. Hier schlägt die Anmeldung mit dem linuxadmin User fehl. (Exception, this is likely a bug) Message: LDAP credentials not found, is linuxmuster installed and configured ?

Traceback

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/linuxmusterTools/ldapconnector/connector.py", line 70, in _connect
    binddn = params['binddn']
KeyError: 'binddn'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/dist-packages/aj/api/endpoint.py", line 77, in wrapper
    result = fx(self, context, *args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/ajenti_plugin_core/views/api.py", line 141, in handle_api_auth
    auth_info = auth.check_password(username, password)
  File "/usr/local/lib/python3.10/dist-packages/aj/auth.py", line 192, in check_password
    return self.get_provider().authenticate(username, password)
  File "/usr/lib/linuxmuster-webui/plugins/lmn_auth/api.py", line 202, in authenticate
    userAttrs = self.get_ldap_user(username, attributes=['dn', 'sophomorixWebuiPermissionsCalculated', 'permissions'])
  File "/usr/lib/linuxmuster-webui/plugins/lmn_auth/api.py", line 58, in get_ldap_user
    return self.lr.get(f'/users/{username}', attributes=attributes)
  File "/usr/lib/python3/dist-packages/linuxmusterTools/ldapconnector/urls/ldaprouter.py", line 57, in get
    return self.lr.get_single(func.model, ldap_filter, scope=func.scope, subdn=subdn, dn_filter=func.dn_filter, **kwargs)
  File "/usr/lib/python3/dist-packages/linuxmusterTools/ldapconnector/ldap_reader.py", line 77, in get_single
    results = self.lc._get(ldap_filter, scope=scope, subdn=subdn)
  File "/usr/lib/python3/dist-packages/linuxmusterTools/ldapconnector/connector.py", line 108, in _get
    conn, _searchdn = self._connect()
  File "/usr/lib/python3/dist-packages/linuxmusterTools/ldapconnector/connector.py", line 75, in _connect
    raise Exception('LDAP credentials not found, is linuxmuster installed and configured ?')
Exception: LDAP credentials not found, is linuxmuster installed and configured ?

Kann mir jemand weiterhelfen? Oder ist es gerade aufgrund irgendwelcher Umstellungen schlecht…?

(Ich habe die LTS22 von Ubuntu genommen, nicht die LTS24)

Beste Grüße
Peter
(Informatik-Lehrer)
Gymnasium Hochdahl

ich ziehe die Frage zurück - vielleicht war ich blind - aber es gibt eine neue Anleitung (7.3) mit LTS24…

Hallo Gabriel,

es gibt derzeit die Versionen:
7.2 stable auf 22.04
7.3 Beta auf 24.04

Du kannst jetzt schon die 7.3 installieren.

LG
Holger

Hallo Holger,
vielen Dank für die Info - 7.2 stable ist bei mir leider nicht durchgelaufen, s. Fehlermeldungen oben… hier muss es auch am lmn-appliance script gelegen haben.

ich habe nun auf Basis von 24.04 die Version 7.3 installiert.

Hier läuft das lmn-appliance script leider auch nicht durch.
Es gibt hier python-Fehlermeldungen:

root@server:~# apt install linuxmuster-tools7
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
linuxmuster-tools7 is already the newest version (7.3.10).
linuxmuster-tools7 set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
4 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] Y
Setting up linuxmuster-tools7 (7.3.10) ...

Install Python requirements

Requirement already satisfied: python-ldap in /usr/lib/python3/dist-packages (from -r /usr/lib/python3/dist-packages/linuxmusterTools/requirements.txt (line 1)) (3.4.4)
Requirement already satisfied: pyyaml in /usr/lib/python3/dist-packages (from -r /usr/lib/python3/dist-packages/linuxmusterTools/requirements.txt (line 2)) (6.0.1)
Requirement already satisfied: smbprotocol==1.14.0 in /opt/linuxmuster/lib/python3.12/site-packages (from -r /usr/lib/python3/dist-packages/linuxmusterTools/requirements.txt (line 3)) (1.14.0)
Requirement already satisfied: cryptography>=2.0 in /usr/lib/python3/dist-packages (from smbprotocol==1.14.0->-r /usr/lib/python3/dist-packages/linuxmusterTools/requirements.txt (line 3)) (41.0.7)
Requirement already satisfied: pyspnego in /opt/linuxmuster/lib/python3.12/site-packages (from smbprotocol==1.14.0->-r /usr/lib/python3/dist-packages/linuxmusterTools/requirements.txt (line 3)) (0.11.2)

Checking post-hooks directories


Checking students group in LDAP

2025-06-07 20:01:32                             linuxmusterTools.lmnconfig.samba             samba.py:49    ERROR - Can not read realm and domain from smb.conf: 'realm'. Is linuxmuster.net installed and configured ?
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/linuxmusterTools/install-scripts/create_students_groups.py", line 8, in <module>
    for c in lr.getval('/schoolclasses','cn'):
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/linuxmusterTools/ldapconnector/urls/ldaprouter.py", line 69, in getval
    results = self.get(url, attributes=attrs, dict=dict, **kwargs)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/linuxmusterTools/ldapconnector/urls/ldaprouter.py", line 60, in get
    return self.lr.get_collection(func.model, ldap_filter, scope=func.scope, subdn=subdn, dn_filter=func.dn_filter, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/linuxmusterTools/ldapconnector/ldap_reader.py", line 124, in get_collection
    results = self.lc._get(ldap_filter, scope=scope, subdn=subdn)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/linuxmusterTools/ldapconnector/connector.py", line 108, in _get
    conn, _searchdn = self._connect()
                      ^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/linuxmusterTools/ldapconnector/connector.py", line 58, in _connect
    with LMNFile('/etc/linuxmuster/webui/config.yml', 'r') as config:
  File "/usr/lib/python3/dist-packages/linuxmusterTools/lmnfile/lmnfile.py", line 231, in __enter__
    open(self.file, 'w').close()
    ^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/etc/linuxmuster/webui/config.yml'
dpkg: error processing package linuxmuster-tools7 (--configure):
 installed linuxmuster-tools7 package post-installation script subprocess returned error exit status 1
dpkg: dependency problems prevent configuration of linuxmuster-webui7:
 linuxmuster-webui7 depends on linuxmuster-tools7; however:
  Package linuxmuster-tools7 is not configured yet.

dpkg: error processing package linuxmuster-webui7 (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of linuxmuster-cli7:
 linuxmuster-cli7 depends on linuxmuster-tools7; however:
  Package linuxmuster-tools7 is not configured yet.

dpkg: error processing package linuxmuster-cli7 (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of linuxmuster-base7:
 linuxmuster-base7 depends on linuxmuster-webui7; however:
  Package linuxmuster-webui7 is not configured yet.

dpkg: error processing package linuxmuster-base7 (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
                   No apport report written because the error message indicates its a followup error from a previous failure.
                                      No apport report written because MaxReports is reached already
             Errors were encountered while processing:
 linuxmuster-tools7
 linuxmuster-webui7
 linuxmuster-cli7
 linuxmuster-base7
needrestart is being skipped since dpkg has failed
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@server:~# 

Ich habe versucht apt install linuxmuster-tools7 und ähnliche Befehle auszuführen, leider ohne Erfolg. Die Fehlermeldungen bleiben gleich.
Hast du hierzu eine Idee?

Das ist dieselbe Ausgabe wie bei Durchlauf des lmn-appliance scripts. Irgendetwas fehlt in Richtung LDAP - das ist eine ähnliche Fehlermeldung wie davor. Habe ich etwas Wesentliches vergessen?

Beste Grüße
Peter

Hallo Peter,

ich vermute bei beiden Versuchen den selben Fehler.

Wir hatten Probleme mit Servern, deren Name nicht „server“ war.
Außerdem mußt du darauf achten, dass die Domain nicht zu lang ist.
Meine heißt z.B.
bzpf.lan
Also nur die Anfangsbuchstaben der Schule.
Max 8 Buchstaben und keien Sonderzeichen: sonst schlägt das Provisionieren des AD fehl.

LG
Holger

Hallo Peter,

Das Problem liegt an das Update von gestern: ich habe bei der Postinstallation LDAP Checks eingebaut, aber ich habe mich nicht um den Fall von neuer Installation gekümmert. Lmntools kann in diesem Fall sich nicht am LDAP anbinden, und damit kommt dieser Fehlermeldung. Ich muss es zeitnah korrigieren.

Gruß

Arnaud

Hallo,

Ich habe gerade schnell eine Version 7.3.11 gemacht, um das Problem zu beheben. Ich hoffe es klappt jetzt, ich kann nicht testen, ich bin unterwegs.

Gruß

Arnaud

ich setze den LM nochmal auf und melde mich, DANKESCHÖN für den schnellen fix. Fingers crossed!

LG
Peter

Hallo Arnaud, hallo Sophomorix-Maintainers,

lmn-appliance ist leider noch nicht durchgelaufen.

ich habe beim Durchlauf von lmn-appliance folgende Probleme im Terminal:

Checking sophomorix hook scripts

cp: cannot create regular file '/etc/linuxmuster/sophomorix/default-school/hooks/sophomorix-add.d': No such file or directory
dpkg: error processing package linuxmuster-tools7 (--configure):
 installed linuxmuster-tools7 package post-installation script subprocess returned error exit status 1
dpkg: dependency problems prevent configuration of linuxmuster-webui7:
 linuxmuster-webui7 depends on linuxmuster-tools7; however:
  Package linuxmuster-tools7 is not configured yet.

dpkg: error processing package linuxmuster-webui7 (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of linuxmuster-cli7:
 linuxmuster-cli7 depends on linuxmuster-tools7; however:
  Package linuxmuster-tools7 is not configured yet.

dpkg: error processing package linuxmuster-cli7 (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of linuxmuster-base7:
 linuxmuster-base7 depends on linuxmuster-webui7; however:
  Package linuxmuster-webui7 is not configured yet.

dpkg: error processing package linuxmuster-base7 (--configure):
 dependencyNo apport report written because the error message indicates its a followup error from a previous failure.
 No apport report written because the error message indicates its a followup error from a previous failure.
                                                                                                           No apport report written because MaxReports is reached already
                                                      problems - leaving unconfigured

und deshalb auch am Ende:

Processing triggers for libc-bin (2.39-0ubuntu8.4) ...
Errors were encountered while processing:
 linuxmuster-tools7
 linuxmuster-webui7
 linuxmuster-cli7
 linuxmuster-base7
needrestart is being skipped since dpkg has failed
E: Sub-process /usr/bin/dpkg returned an error code (1)
Checking linuxmuster-base7 ... Failed!

vorher noch meckert quotacheck (vmtl. erstmal unwichtiger):

# Activating quota.
quotacheck: Your kernel probably supports ext4 quota feature but you are using external quota files. Please switch your filesystem to use ext4 quota feature as external quota files on ext4 are deprecated.
quotacheck: Scanning /dev/mapper/vg_srv-global [/srv/samba/global] done
quotacheck: Cannot stat old user quota file /srv/samba/global/aquota.user: No such file or directory. Usage will not be subtracted.
quotacheck: Cannot stat old group quota file /srv/samba/global/aquota.group: No such file or directory. Usage will not be subtracted.
quotacheck: Cannot stat old user quota file /srv/samba/global/aquota.user: No such file or directory. Usage will not be subtracted.
quotacheck: Cannot stat old group quota file /srv/samba/global/aquota.group: No such file or directory. Usage will not be subtracted.
quotacheck: Checked 3 directories and 0 files
quotacheck: Old file not found.
quotacheck: Old file not found.
quotacheck: Scanning /dev/mapper/vg_srv-default--school [/srv/samba/schools/default-school] done
quotacheck: Cannot stat old user quota file /srv/samba/schools/default-school/aquota.user: No such file or directory. Usage will not be subtracted.
quotacheck: Cannot stat old group quota file /srv/samba/schools/default-school/aquota.group: No such file or directory. Usage will not be subtracted.
quotacheck: Cannot stat old user quota file /srv/samba/schools/default-school/aquota.user: No such file or directory. Usage will not be subtracted.
quotacheck: Cannot stat old group quota file /srv/samba/schools/default-school/aquota.group: No such file or directory. Usage will not be subtracted.
quotacheck: Checked 3 directories and 0 files
quotacheck: Old file not found.
quotacheck: Old file not found.

Hoffe ich konnte helfen. Das ganze Log passt leider nicht in einen Beitrag (32k max)

Gruß
Peter

Hier sehe ich noch, welche Pakete aus dem linuxmuster-Universum installiert sind und welche nicht:

root@server:~# apt search linuxmuster
Sorting... Done
Full Text Search... Done
linuxmuster-api7/unknown 7.3.7 all
  Api for the linuxmuster.net 7 server.

linuxmuster-base7/unknown,now 7.3.18-0 all [installed]
  linuxmuster.net configuration scripts

linuxmuster-cli7/unknown,now 7.3.8 all [installed,automatic]
  Tools and CLI for the linuxmuster.net 7 server.

linuxmuster-common/unknown,now 7.3.1-0 all [installed,automatic]
  linuxmuster.net common files

linuxmuster-fileserver/unknown 7.3.0-0 all
  Linuxmuster Fileserver

linuxmuster-linbo-gui7/unknown,now 7.3.1 all [installed]
  Linuxmuster Linbo GUI

linuxmuster-linbo7/unknown,now 4.3.12-0 all [installed]
  linuxmuster-linbo7

linuxmuster-linuxclient7/unknown 1.0.10 all
  Package for Ubuntu clients to connect to the linuxmuster.net 7 active directory server.

linuxmuster-prepare/unknown,now 7.3.0-0 all [installed]
  linuxmuster.net pre setup configuration scripts

linuxmuster-tools7/unknown,now 7.3.11 all [installed,automatic]
  Tools for the linuxmuster.net 7 server.

linuxmuster-webui7/unknown,now 7.3.9 all [installed]
  Next generation web-based management tool for linuxmuster.net v7.x

sophomorix-dump/unknown 7.3.8 all
  Migration dump script

LÖSUNG:

in /etc/linuxmuster/sophomorix/default-school/hooks/

sollten wohl 3 Verzeichnisse angelegt werden. sophomorix-kill.d, sophomorix-add.d und sophomorix-update.d

das hooks Verzeichnis wird wohl nicht angelegt und die drei Verzeichnisse werden als Dateien angelegt, nicht als Directories.

nun läuft das script weiter und macht eine ganze Menge „wheels“ und python-libs

erneuter Aufruf von lmn-appliance läuft durch und meldet „success“. Auch der Aufruf der WebGUI klappt dann.

Also - fertig!

Liebe Grüße
Peter

Hier noch ein Problem mit Python…kann ich aber nicht bewerten, ob das schlimm ist:

...
    Found existing installation: gipc 1.6.0
    Uninstalling gipc-1.6.0:
      Successfully uninstalled gipc-1.6.0

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
aj 2.2.10 requires gevent==23.9.1, but you have gevent 25.5.1 which is incompatible.
aj 2.2.10 requires gipc==1.6.0, but you have gipc 1.8.0 which is incompatible.
Successfully installed gevent-25.5.1 gipc-1.8.0
...

Hallo Peter,

Danke, ich habe es in linuxmuster-tools7 angepasst.

Gruß

Arnaud