[Rückmeldungen] LMN 7.3

Hallo Michael,

Danke für den Hinweis.

Wir brauchen es momentan nicht, deb822 ist ab debian 13 oder ubuntu 24.04 wichtiger (und selbst dann, ich glaube das alte Syntax wird weiterhin supported sein).
Es ist keine Prio, ich habe es mir notiert für 7.4.

Gruß

Arnaud

Hallo zusammen,
hier noch ein kleiner Bug der 7.3:

Das Verzeichnis /var/spool/samba fehlt in einer frisch installierten lmn 7.3. Dadurch können Windows-Clients nicht über samba drucken.
In der mb.conf steht aber:

Gruß
Mathias

1 „Gefällt mir“

Hallo Matthias,

danke für den Hinweis. Ist gefixt.

VG, Thomas

1 „Gefällt mir“

Sambaproblem mit dem Speicherleck vom letzten Samba in 7.2 ist in 7.3 vermutlich geloest, also ein Tag laeuft das jetzt schon einwandfrei mit sehr wenig RAM-Bedarf. :love_you_gesture:

Hallo Thomas,
super, das hast du ja superschnell gemacht.
VG
Mathias

Hallo,

in LMN 7.3 funktioniert die Zeitsyncronisation für Windows Clients nicht.

Viele Grüße
Christian

Hallo @thomas , hallo @Arnaud ,
bei der Arbeit mit Images ist mir folgendes aufgefallen:

Beim Erstellen eines Image habe ich in der Linbo-Oberfläche die Image-Beschreibung „Testtext…“ eingegeben. Und das Image erstellen und hochladen lassen.

Das mit dem Erstellen und Hochladen hat auch einwandfrei funktioniert. Nur die Beschreibung hat gefehlt bzw. die Beschreibung des vorherigen Images wurde einfach übernommen.


Das sieht man dann, wenn man die Imageeinstellungen bearbeitet (Zahnrad).

Wenn ich dann als Beschreibungstext „Test2“ eingebe, wird dieser Text übernommen.

Jetzt habe ich in die Datei debian13.qcow2.desc den Text „Vorheriges Image“ eingetragen. Wenn ich jetzt auf
Bildschirmfoto vom 2025-10-20 19-19-00
gehe. Kommt das, was man erwartet.


Das Aktuelle Image hat die Beschreibung „Test2“ und das vorherige Image die Beschreibung „Vorheriges Image“. So, wie es sein sollte.
Wenn ich in diesem Dialog
Bildschirmfoto vom 2025-10-20 19-22-03
drücke, wird das vorherige Image das aktuelle Image und das Aktuelle Image wandert in einen Backup-Ordner hier 202510201915 nur leider werden die debian13.qcow2.desc nicht ausgetauscht.
Gehe ich wieder auf
Bildschirmfoto vom 2025-10-20 19-19-00
sehe ich

Wenn man davon ausgeht, dass der Tausch der Images funktioniert hat, werden die Beschreibungen nicht ausgetauscht.

Ich hoffe, meine Beschreibung war nicht all zu verwirrend und ist hilfreich.
Viele Grüße,
Mathias

Hallo Mathias,

dfdI*, werde ich mir anschauen.

VG, Thomas

*) danke für die Info

Hallo zusammen,

ich wollte die linuxmuster-api auf meinem Testsystem (7.3) installieren. Allerdings startet der Service linuxmuster-apinicht:

Nov 16 12:53:25 server.pn.steinbeis.schule systemd[1]: Started linuxmuster-api.service - linuxmuster.net API.
Nov 16 12:53:27 server.pn.steinbeis.schule python3[93895]: Traceback (most recent call last):
Nov 16 12:53:27 server.pn.steinbeis.schule python3[93895]:   File "/usr/lib/python3/dist-packages/linuxmusterApi/main.py", line 156, in <module>
Nov 16 12:53:27 server.pn.steinbeis.schule python3[93895]:     uvicorn.run("main:app", **config['uvicorn'])
Nov 16 12:53:27 server.pn.steinbeis.schule python3[93895]:   File "/opt/linuxmuster/lib/python3.12/site-packages/uvicorn/main.py", line 593, in run
Nov 16 12:53:27 server.pn.steinbeis.schule python3[93895]:     server.run()
Nov 16 12:53:27 server.pn.steinbeis.schule python3[93895]:   File "/opt/linuxmuster/lib/python3.12/site-packages/uvicorn/server.py", line 67, in run
Nov 16 12:53:27 server.pn.steinbeis.schule python3[93895]:     return asyncio_run(self.serve(sockets=sockets), loop_factory=self.config.get_loop_factory())
Nov 16 12:53:27 server.pn.steinbeis.schule python3[93895]:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 16 12:53:27 server.pn.steinbeis.schule python3[93895]:   File "/usr/lib/python3.12/asyncio/runners.py", line 194, in run
Nov 16 12:53:27 server.pn.steinbeis.schule python3[93895]:     return runner.run(main)
Nov 16 12:53:27 server.pn.steinbeis.schule python3[93895]:            ^^^^^^^^^^^^^^^^
Nov 16 12:53:27 server.pn.steinbeis.schule python3[93895]:   File "/usr/lib/python3.12/asyncio/runners.py", line 118, in run
Nov 16 12:53:27 server.pn.steinbeis.schule python3[93895]:     return self._loop.run_until_complete(task)
Nov 16 12:53:27 server.pn.steinbeis.schule python3[93895]:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 16 12:53:27 server.pn.steinbeis.schule python3[93895]:   File "/usr/lib/python3.12/asyncio/base_events.py", line 687, in run_until_complete
Nov 16 12:53:27 server.pn.steinbeis.schule python3[93895]:     return future.result()
Nov 16 12:53:27 server.pn.steinbeis.schule python3[93895]:            ^^^^^^^^^^^^^^^
Nov 16 12:53:27 server.pn.steinbeis.schule python3[93895]:   File "/opt/linuxmuster/lib/python3.12/site-packages/uvicorn/server.py", line 71, in serve
Nov 16 12:53:27 server.pn.steinbeis.schule python3[93895]:     await self._serve(sockets)
Nov 16 12:53:27 server.pn.steinbeis.schule python3[93895]:   File "/opt/linuxmuster/lib/python3.12/site-packages/uvicorn/server.py", line 78, in _serve
Nov 16 12:53:27 server.pn.steinbeis.schule python3[93895]:     config.load()
Nov 16 12:53:27 server.pn.steinbeis.schule python3[93895]:   File "/opt/linuxmuster/lib/python3.12/site-packages/uvicorn/config.py", line 439, in load
Nov 16 12:53:27 server.pn.steinbeis.schule python3[93895]:     self.loaded_app = import_from_string(self.app)
Nov 16 12:53:27 server.pn.steinbeis.schule python3[93895]:                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 16 12:53:27 server.pn.steinbeis.schule python3[93895]:   File "/opt/linuxmuster/lib/python3.12/site-packages/uvicorn/importer.py", line 19, in import_from_string
Nov 16 12:53:27 server.pn.steinbeis.schule python3[93895]:     module = importlib.import_module(module_str)
Nov 16 12:53:27 server.pn.steinbeis.schule python3[93895]:              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 16 12:53:27 server.pn.steinbeis.schule python3[93895]:   File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module
Nov 16 12:53:27 server.pn.steinbeis.schule python3[93895]:     return _bootstrap._gcd_import(name[level:], package, level)
Nov 16 12:53:27 server.pn.steinbeis.schule python3[93895]:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 16 12:53:27 server.pn.steinbeis.schule python3[93895]:   File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
Nov 16 12:53:27 server.pn.steinbeis.schule python3[93895]:   File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
Nov 16 12:53:27 server.pn.steinbeis.schule python3[93895]:   File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
Nov 16 12:53:27 server.pn.steinbeis.schule python3[93895]:   File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
Nov 16 12:53:27 server.pn.steinbeis.schule python3[93895]:   File "<frozen importlib._bootstrap_external>", line 995, in exec_module
Nov 16 12:53:27 server.pn.steinbeis.schule python3[93895]:   File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
Nov 16 12:53:27 server.pn.steinbeis.schule python3[93895]:   File "/usr/lib/python3/dist-packages/linuxmusterApi/main.py", line 35, in <module>
Nov 16 12:53:27 server.pn.steinbeis.schule python3[93895]:     app.mount("/static", StaticFiles(directory="static"), name="static")
Nov 16 12:53:27 server.pn.steinbeis.schule python3[93895]:                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nov 16 12:53:27 server.pn.steinbeis.schule python3[93895]:   File "/opt/linuxmuster/lib/python3.12/site-packages/starlette/staticfiles.py", line 56, in __init__
Nov 16 12:53:27 server.pn.steinbeis.schule python3[93895]:     raise RuntimeError(f"Directory '{directory}' does not exist")
Nov 16 12:53:27 server.pn.steinbeis.schule python3[93895]: RuntimeError: Directory 'static' does not exist
Nov 16 12:53:28 server.pn.steinbeis.schule systemd[1]: linuxmuster-api.service: Main process exited, code=exited, status=1/FAILURE
Nov 16 12:53:28 server.pn.steinbeis.schule systemd[1]: linuxmuster-api.service: Failed with result 'exit-code'.
Nov 16 12:53:28 server.pn.steinbeis.schule systemd[1]: linuxmuster-api.service: Consumed 2.781s CPU time.

Irgendein Problem mit dem „static“ Verzeichnis, welches nicht existiert.
Woran könnte das liegen?

Viele Grüße
Raphael

Hallo Raphael,

Danke für die Rückmeldung. Da habe ich nicht aufgepasst, es wird mit linuxmuster-tools 7.3.31 gelöst (danach muss man die API neu starten.

Paket kommt gleich.

Gruß

Arnaud

Hi. Ich habe in einer Testumgebung eine neue lmn.73 from scratch aufgesetzt. Da ich bei unserer alten IP-Adresse bleiben wollte, habe ich diesen Befehl verwendet:

./lmn-appliance -p server -n 10.16.1.1/16 -d linuxmuster.meine-schule.de -g 10.16.1.254 -f 10.16.1.254 -l /dev/sdb

Dabei wurde mir aber gemeldet:
Option -g not recognized
Wurde diese Option herausgenommen? In der Hilfe wird sie angezeigt… das Setup lief aber erst an, als ich auf diese Option verzichtet habe :man_shrugging:

Außerdem erschien diese Meldung:

Danach lief das Setup nicht weiter. Ich habe es in einer Proxmox-VM ausprobiert und konnte anschließend nur noch mit CTRL + C abbrechen.
Liegt das an dem Display SPICE, das ich für die VM gewählt hatte (um ein Clipboard zu haben)?

P.S.: Ein zweiter Versuch zeigte ebenfalls ## Installing software und anschließend keine Fehlermeldung – als ich das gerade nach laaaanger Wartezeit abbrechen wollte, ging es offenbar weiter. Hier wäre eine Status-Anzeige oder irgendeine Art Fortschrittsanzeige nicht schlecht, meine ich?!
Viele Grüße,
Michael

Hallo Michael,

danke für die Rückmeldung. Du bist anscheinend der Erste, der diese Option genutzt hat. Da habe ich wohl vergessen die Gateway-Option als Argument zu definieren. Ist jetzt gefixt (690b927, e67d29fe).

VG, Thomas

Hallo.
Ich habe heute den nächsten Teil laufen lassen und mir dazu eine passende config.txt mit der Option skipfw = TRUE angelegt.

Anschließend habe ich in der Konsole das Setup aufgerufen:
linuxmuster-setup --config ./config.txt

Kleinigkeit: Dort steht noch: linuxmuster.net 7.2: Setup und nicht 7.3
Aber dramatischer: Man soll dort ja ein neues Administrator-Passwort angeben. Ich erhalte anschließend aber das hier:

#### Writing input to setup ini file ........................... Success! ####
#### Setting root password ..................................... Success! ####
Authentication failed.
(und Abbruch des weiteren Setups)

Woran scheitert dieser Schritt?

Viele Grüße,
Michael

Hallo Michael,

schwer zu sagen, ohne weitere Information. Was steht in config.txt und in den Setuplogs?

VG, Thomas

Hi.
Ich habe in der Zwischenzeit einen Blick in die Datei 01-netcfg.yaml geworfen. Dort steht:

Ist das richtig so, dass die IP-Adressen in eckigen Klammern angegeben werden??
Das o.g. Problem muss tatsächlich mit der config.txt zusammenhängen. Der Eintrag skipfw=True wird scheinbar ignoriert (das habe ich so aus der Doku übernommen).

Wenn ich es aber manuell aufrufe mit
linuxmuster-setup --skip-fw läuft das Setup erfolgreich durch!

Daher die Frage: Kann es sein, dass die Syntax in der Doku falsch angegeben wurde? Fehlt da also lediglich der Bindestrich? (@chris: Kannst du das prüfen?)

Viele Grüße,
Michael

… noch eine Beobachtung: Beim Server-Neustart sehe ich (nur sehr kurz), dass irgendein Dienst auf Failed steht. Daher:

root@server:/home/linuxmuster# systemctl list-units --failed
  UNIT                       LOAD   ACTIVE SUB    DESCRIPTION              
● isc-dhcp-server6.service   loaded failed failed ISC DHCP IPv6 server
● quotaon.service            loaded failed failed Enable File System Quotas

:man_shrugging:

Das dhcp6-Problem scheint ja nicht so wild zu sein, aber dass der Quota-Dienst nicht startet, stimmt offenbar nicht.
Hier nochmal die Ausgabe von
journalctl -xeu quotaon.service:

░░ The job identifier is 1356.
Nov 18 20:47:01 server.<...> quotaon[1379]: quotaon: cannot find //aquota.group on /dev/sda2 [/]
Nov 18 20:47:01 server.<...> quotaon[1379]: quotaon: cannot find //aquota.user on /dev/sda2 [/]
Nov 18 20:47:01 server.<...> quotaon[1379]: quotaon: using /srv/samba/global/aquota.group on /dev/mapper/vg_srv-global [/srv/samba/global]: Device or resource busy
Nov 18 20:47:01 server.<...> quotaon[1379]: quotaon: using /srv/samba/global/aquota.user on /dev/mapper/vg_srv-global [/srv/samba/global]: Device or resource busy
Nov 18 20:47:01 server.<...> quotaon[1379]: quotaon: using /srv/samba/schools/default-school/aquota.group on /dev/mapper/vg_srv-default--school [/srv/samba/schools/default-school]: Dev>
Nov 18 20:47:01 server.<...> quotaon[1379]: quotaon: using /srv/samba/schools/default-school/aquota.user on /dev/mapper/vg_srv-default--school [/srv/samba/schools/default-school]: Devi>
Nov 18 20:47:01 server.<...> systemd[1]: quotaon.service: Main process exited, code=exited, status=6/NOTCONFIGURED
░░ Subject: Unit process exited
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░ 
░░ An ExecStart= process belonging to unit quotaon.service has exited.
░░ 
░░ The process' exit code is 'exited' and its exit status is 6.
Nov 18 20:47:01 server.<...> systemd[1]: quotaon.service: Failed with result 'exit-code'.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░ 
░░ The unit quotaon.service has entered the 'failed' state with result 'exit-code'.
Nov 18 20:47:01 server.<...> systemd[1]: Failed to start quotaon.service - Enable File System Quotas.

Ich bin vorhin nochmal zurück auf den Snapshot vor dem linuxmuster-setup gegangen. Dieses Mal habe ich in der config.txt den Befehl so geschrieben, wie er in der Help-Datei angegeben wird:
skip-fw = True (also dieses Mal mit Bindestrich!)
Das wird aber ebenfalls ignoriert. Das Setup versucht auch weiterhin Kontakt zur Firewall aufzunehmen. Daher habe ich es erneut ohne die Config aber dafür wieder mit der Option -s laufen lassen, was erneut erfolgreich durchlief.

Das Quota-Problem bleibt hier leider bestehen. Und jetzt ist noch etwas anderes neu hinzugekommen: Ich hatte einen Client in der devices.csv aufgenommen und linuxmuster-import-devices durchlaufen lassen. Anschließend wunderte ich mich, dass der Client trotzdem keine IP vom Server erhält (was aber gestern noch funktionierte).
Hier die Ursache:

Der Dienst läuft also ebenfalls nicht (mehr). Liegt das an Version 7.3.30-0?

Viele Grüße,
Michael

Moin!

Ich weiß nicht, was in deiner config steht, aber mit dieser ini-Datei funktioniert es hier:

[setup]
servername = testserver
domainname = test.local
adminpw = TestPass123!
schoolname = Test School
location = Test City
country = Germany
state = Test State
dhcprange = 10.0.255.1-10.0.255.254
skipfw = True

Nö, hier läuft der dhcp-Dienst nach dem Setup.

VG, Thomas

Hallo Thomas!
Ich habe mich an diesem Screenshot von @chris orientiert:
https://docs.linuxmuster.net/de/latest/setup/setup-console.html#id2
Dort wird auch ein Echo-Befehl gezeigt, den ich verwendet habe und der die Vorlage für die config.txt erzeugt, die ich benutzt habe.

Das sieht etwas anders aus als bei Dir. Ich habe z.B. bei der IP-Range keinen Bindestrich und das adminpw gibt es hier auch nicht.

Was den dhcp-Server angeht: Der Eintrag für das interface fehlte offenbar unter /etc/default/isc-dhcp-server. Das habe ich nachgetragen und anschließend auch nochmal linuxmuster-import-subnets laufen lassen. Erst danach lief der dhcp-Server wieder erfolgreich. Warum das so war, kann ich aber nicht sagen.

Viele Grüße,
Michael

Hallo Michael,

die setup.ini von Chris sollte eigentlich funktionieren.

In der eigenen setup.ini müssen nicht alle Werte drinstehen. Die Fehlenden werden entweder abgefragt, oder wenn -u benutzt wird, durch die Standardwerte ersetzt.

VG, Thomas