Beta Test linuxmuster.net 7.4

Hallo,

hat eigentlich Jemand mal nach dem Upgrade auf 26.04 nachgeschaut:

  1. ob der Freeradius noch da ist

  2. in welcher Version er drauf ist

  3. ob er als Dienst noch läuft

  4. ob er die Anfragen korrekt beantwortet.

Vor allem Jesko möchte da vielleicht vor Morgen, wenn die Schule wieder los geht, mal hin schauen :slight_smile:

LG
Holger

Hallo Thomas,

so ich bin jetzt einen großen Schritt weiter. In den Upgradelogs habe ich wiederholt die Fehlermeldung gefunden, dass der linbo-torrent.service nicht beendet werden kann. Später dann, dass kein neuer Service registriert werden kann, weil schon einer da ist. Nach dem Upgrade gab es zwei linbo-torrent.service’es; den Neuen und den Alten, welcher nach wie vor aktiv war aber natürlich im failed state. Ich habe also vor dem nächsten Upgradeversuch einfach den linbo-torrent.service angehalten und dann lief alles glatt durch. Linbo hat dann direkt funktioniert und beim ersten Start eines Clients wurde das Image auch nicht erneut heruntergeladen! Wahrscheinlich ist dieser Upgradefehler eine Besonderheit bei mir, weil ich seinerzeit viel am Torrent „gebastelt“ habe.

Wenn man ein Image per Torrent herunter läd ist die Performance jetzt sehr gut, allerdings zeigt die Linbo-Gui nach wie vor diese komische gestrichelte Linie an. Ein Linbo log liefere ich dir morgen nach.

Einen neuen Fehler habe ich allerdings noch entdeckt. Der Systemd-Service systemd-networkd-wait-online.service ist nach dem Upgrade im failed state, weil der vom Service systemd-resolved.service abhängig ist, welcher aber masked ist, da ja bei uns Samba der DNS ist. Ich weiß nicht, ob das nur bei mir so ist oder ob das prinzipiell beim Upgrade passiert. Ich habe den erstgenannten Service einfach deaktiviert.

LG

Dominik

Hi dominik,
Den network wait online hab ich bei mir auch disabled. Ich glaub den braucht kein Mensch

Guten Morgen @thomas ,

hier ein paar weitere Fehler:

1. Der Systemd-Service logrotate.service startet nicht mehr mit folgendem Fehler:

error: cloud-init-base:1 duplicate log entry for /var/log/cloud-init.log
error: found error in file cloud-init-base, skipping

Das liegt daran, dass die Konfigurationsdatei cloud-base in /etc/logrotate.d nicht mehr verwendet wird, sondern die Datei cloud-init-base. Löscht man die Datei cloud-base, dann startet der Logrotate-Service wieder. (@Jesko / @baumhof: ist der Fehler bei euch auch?)

2. Meine Linbo-Wlan-Clients bekommen beim neuen Linbo keine IP-Adresse mehr. Die Clients booten das alte Linbo, bekommen per Wlan dann das neue Linbo und beim nächsten Start gibt es beim dhcpd einen Timeout und die Clients sind offline.
Hier die Ausgabe der Linbo Konsole:


Und hier die Ausgabe von dmesg:
dmesg.zip (20,4 KB)
Das Problem sieht man ab [23.740033].

Viele Grüße
Dominik

Hallo @thomas / @Arnaud ,

nächste Runde Fehler.
Habe gerade einen neuen User (Extraschüler) angelegt, was auch funktioniert hat. Allerdings funktioniert sophomorix-print nicht mehr richtig. Das Fehlerbild ist vielfältig…
Wenn man sich in der Web-UI als global-admin die Passwörter drucken lässt, ist der neue User nicht dabei. Wenn man als User (Lehrer) aus der WebUI das Passwort druckt quittiert das die WebUI mit einem 404er Not Found. Führe ich sophomorix-print auf der Konsole aus ist jeder user „unknown“. In der entstehenden csv steht dann aber alles richtig drin. PDF-Dateien werden gar nicht mehr erzeugt.
Die Rechte der entstehenden Dateien sind korrekt, wenn man als Lehrer Passwörter ausdruckt (DOMÄNE\user). Als global-admin sind die Rechte dann root:root, und nicht DOMÄNE\global-admin wie es eigentlich sein soll. Irgendwas ist da schräg…hat sich was an der smb.conf geändert oder muss da evtl. für 26.04 noch was angepasst werden?
VG
Dominik

UPDATE: Es scheint damit zusammenzuhängen, dass der PDF-Export mit dem normalen latex-modul nicht mehr funktioniert. Wählt man vor dem Druck, dass pdflatex verwendet werden soll klappt alles wie es soll.

Hi,
nächstes Problem:

schaltet man in der WebUI im einem Schüler das Wlan frei (Haken bei wifi), dann bestätigt das die Webui, der Schüler ist danach aber nicht in der Gruppe wifi. Auf der Konsole mit sophomorix-managementgroup --wifi USER klappt das.
In der 7.4 scheint es noch Kompatibilitätsprobleme mit der WebUI zu geben.

Hier noch die Fehlermeldung aus der WebUI:

Traceback (most recent call last):
  File "/opt/linuxmuster/lib/python3.14/site-packages/aj/api/endpoint.py", line 77, in wrapper
    result = fx(self, context, *args, **kwargs)
  File "/usr/lib/linuxmuster-webui/plugins/lmn_session_new/views.py", line 236, in handle_api_management_group
    raise Exception(stderr.decode())
Exception: SamDB.add_remove_group_members() got an unexpected keyword argument 'groupname'

VG
Dominik

Moin!

Danke für die Rückmeldungen,

Firmware ist ja vorhanden, das Interface wird initialsiert. Seltsam. Gibt es unter Ubuntu eine funktionierende wpa_supplicant.conf? Evtl. kann in wpa_supplicant.conf der loglevel erhöht werden? Ich muss das mal mit meinem Client versuchen zu debuggen.

  • logrotate ist bei mir gar nicht installiert. Nachträglich installiert läuft es aber hier trotz zweier cloud-init-Dateien in logrotate.d. logrotate muss aber in die Abhängigkeiten von Linbo rein.
  • Das cloud-init-Geraffel brauchen wir eh nicht, hat sich wohl beim Upgrade wieder installiert. Werde ich durch das Upgrade-Skript deinstallieren lassen.
  • systemd-networkd-wait-online.service startet bei mir auch nicht, hat aber keine Auswirkungen. Werde ich beim Upgrade maskieren lassen.
  • Keine Ahnung, was du da gebastelt hast. Aber ich werde linbo-torrent im Upgrade-Skript zur Sicherheit vor der Installation des neuen Linbo-Pakets stoppen.

VG, Thomas

Hallo Thomas,
nächstes Problem. Ich wollte mal einen anderen Kernel in Linbo ausprobieren und zu schauen, ob das was an meinem Wifiproblem ändert. Es ist allerdings egal, was man in die custom_kernel Konfiguration rein schreibt, gebaut wird immer der 7er Kernel.
VG

Hallo Dominik,

wenn ich hier mit dieser Konfiguration

# currently active kernel image and modules used by the server
# path to kernel image
KERNELPATH="/boot/vmlinuz-$(uname -r)"
# path to the corresponding modules directory
MODULESPATH="/lib/modules/$(uname -r)"

den aktuellen Serverkernel einbauen lasse, wird der auch eingepackt. linbofs64 ist danach allerdings 192M groß.

Beachte: stable, longterm und legacy gibt es nicht mehr. Es wird in abgespeckter Form der Ubuntu-Standardkernel benutzt.

VG, Thomas

Hallo Thomas,
danke für den Hinweis. Ich habe das mal versucht. Bei mir ist der custom-kernel dann aber 306MiB groß. Egal mit diesem Kernel funktioniert dann die Verbindung mit dem Wlan wieder! Allerdings wird damit die LAN-Karte nicht mehr erkannt obwohl die Firmware da ist. Bin wieder zum abgespeckten Kernel gewechselt.
Es scheint also daran zu hängen, das irgendwas im Standard-Linbokernel fehlt?

VG
Dominik

Hi Dominik,

ja, das Modul ccm fehlt, dadurch ist der Kernel nicht in der Lage den WPA-Key zu verschlüsseln.

Demnächst kommt ein neues Paket.

VG, Thomas

Moin!

So langsam treiben wir Linbo die Flausen aus:

linuxmuster-linbo v7.4.3:

  • fix wifi issue, 'key addition failed’, add kernel module ccm.ko.zst to linbofs (#150, d6af8e2).
  • fix obsolete grub module efi_uga.mod (7f39461).
  • disable P2P (Peer-to-Peer) interface creation in wpa_supplicant.conf.ex (9ef2cc5).
  • add missing dependency to logrotate (8df3c21).
  • improve torrent hash file handling in conjunction with image updates on the client (6dd7f6b)
  • update-linbofs: fix busybox dumpkmap (#151, 1d81598).
  • add missing hdparm to linbofs (#151, 11b4ff8).

VG, Thomas

Hallo @Arnaud / @thomas,
auf das Problem, dass die Wifi - Steuerung aus der Web-UI nicht mehr funktioniert habe ich mal Qwen losgelassen…hier das Ergebnis:

Der Fehler ist ein API-Inkompatibilitätsproblem.

  Ursache

  Die aktuelle Version von Samba 4.23.6 hat die Signatur der Funktion geändert:

  Aktuelle Signatur (Samba 4.23.6):
  def add_remove_group_members(self, group, members, ...)
  #                     ^    ^^^^^^^^
  #                    Pos1   Pos2

  Code in samba_tool.py verwendet:
  self.samdb.add_remove_group_members(groupname="...", members=..., ...)
  #                                   ^^^^^^^^ ❌

  Das Argument groupname= ist nicht mehr gültig. In der aktuellen Samba-Version
  muss man das erste argument group als Positionales Argument übergeben, nicht als
  Keyword-Argument groupname.

  Lösung

  Du musst in
  /usr/lib/python3/dist-packages/linuxmusterTools/samba_util/samba_tool.py die
  Aufrufe anpassen:

  # ALT (fehlerhaft):
  self.samdb.add_remove_group_members(groupname=f"{self.school_prefix}{group}",
  ...)

  # NEU (korrekt):
  self.samdb.add_remove_group_members(f"{self.school_prefix}{group}", ...)

Habe den Vorschlag mal umgesetzt und jetzt klappt wieder alles. Vielleicht erleichtert euch das ja die Arbeit ein wenig.

VG
Dominik

Ich verspreche ich höre für heute auf. Ich habe Qwen noch weitere API Inkompatibilitäten mit dem neuen Samba suchen lassen. Hier das Ergebnis:

Detailanalyse Zeile 215 in /usr/lib/python3/dist-packages/linuxmusterTools/samba_util/samba_tool.py - search() incompatibility - Fehlender scope Parameter:
  
  Aktueller (fehlerhafter) Code:
  result = self.samdb.search(
      f"OU={school},{LDAP_CONTEXT}",          # Positionales Argument für base_dn
      expression=f"sAMAccountName={device_cn.upper()}$",  # Keyword
      attrs=['unicodePwd', 'supplementalCredentials']     # Keyword
  )
  
  Problem in Samba 4.23.6:
  Die Signatur von search() wurde geändert zu:
  def search(self, basedn=None, scope=None, expression=None, 
             attrs=None, controls=None):

  Der Parameter scope ist zwingend erforderlich, wenn nicht in Base-Modus gesucht
  wird.

  Richtige Lösung:
  result = self.samdb.search(
      f"OU={school},{LDAP_CONTEXT}",          # basedn (positional 0)
      ldb.SCOPE_SUBTREE,                      # scope (positional 1) ⬅️  fehlte!
      f"sAMAccountName={device_cn.upper()}$",  # expression (positional 2)
      ['unicodePwd', 'supplementalCredentials']   # attrs (positional 3)
  )
  
  ODER mit Keyword-Argumenten:
  result = self.samdb.search(
      basedn=f"OU={school},{LDAP_CONTEXT}",
      scope=ldb.SCOPE_SUBTREE,                # ⬅️  zwingend!
      expression=f"sAMAccountName={device_cn.upper()}$",
      attrs=['unicodePwd', 'supplementalCredentials']

Ich habe keine Ahnung, ob das Spinnerei oder ein Treffer ist aber ihr könnt sicher etwas damit anfangen.
VG
Dominik

Hallo Dominik,

keine Ahnung. Habe sowas noch nie beobachtet.

VG, Thomas

Hi Thomas,
ich komme jetzt erst dazu, es zu schreiben, aber „geknallt“ hat es schon gestern :slight_smile:

Die debian-Clients (die im letzten Linbo noch anstandslos gebootet haben) sind alle nach dem Sync in die initramfs-busybox gefallen beim Versuch, die root-Partition zu mounten (vermute ich).

Das hat sich lösen lassen, indem ich in der start.conf den Append-Parameter durch „root=/dev/nvme0n1p2“ ergänzt habe und linuxmuster-import-devices ausgeführt hab.
Ich weiß jetzt nicht, warum ich das plötzlich brauche, oder andersrum, was ich in der Vergangenheit kaputt gemacht habe und warum es trotzdem noch lief, aber vielleicht ist es wichtig.

LG Jesko

Hallo zusammen,

Danke Thomas für die enorme Arbeit und alle Tester die mitmachen, insbesondere für die detaillierte Problemmeldungen. Nach den Ferien war ich sofort dran mit Abiturergebnisse, und ich habe noch weitere große Probleme in die Schule zu lösen.

Das Update von meiner Devumgebung klappt noch nicht ganz, es liegt an die nötige Anpassungen für die Entwicklung, ich muss auch erst mal lösen.

Ich habe hier gelesen und werde so schnell wi möglich Fixs vorbereiten.

Gruß

Arnaud

Hallo Jesko,

tut mir leid. Kann ich nicht nachvollziehen. Ich habe hier SATA- und NVME-, virtuelle und reale Clients mit Windows 11, Ubuntu 24.04, Debian 13. Alle booten nach dem Upgrade wie gehabt mit ein und derselben start.conf:

[LINBO]
Server = 10.0.0.1
Group = standard
Cache = /dev/disk0p4
RootTimeout = 600
AutoPartition = no
AutoFormat = no
AutoInitCache = no
DownloadType = torrent
KernelOptions = quiet splash forcegrub dhcpretry=5 nowarmstart nomodeset vncserver
Locale = de-DE

[Partition]
Dev = /dev/disk0p1
Label = EFI
Size = 200M
Id = ef
FSType = vfat
Bootable = yes

[Partition]
Dev = /dev/disk0p2
Label = MSR
Size = 128M
Id = 0c01
FSType =
Bootable = no

[Partition]
Dev = /dev/disk0p3
Label = WINDOWS
Size = 70G
Id = 7
FSType = ntfs
Bootable = no

[Partition]
Dev = /dev/disk0p4
Label = CACHE
Size = 100G
Id = 83
FSType = ext4
Bootable = no

[Partition]
Dev = /dev/disk0p5
Label = DEBIAN
Size = 40G
Id = 83
FSType = ext4
Bootable = no

[Partition]
Dev = /dev/disk0p6
Label = UBUNTU
Size = 40G
Id = 83
FSType = ext4
Bootable = no

[Partition]
Dev = /dev/disk0p7
Label = DATEN
Size =
Id = 83
FSType = ext4
Bootable = no

[OS]
Name = Windows 11
Description = Windows 11
IconName = win10.svg
BaseImage = win11.qcow2
Root = /dev/disk0p3
Kernel = auto
Initrd =
Append =
StartEnabled = yes
SyncEnabled = yes
NewEnabled = yes
Autostart = no
AutostartTimeout = 5
DefaultAction = start

[OS]
Name = Debian
Description = Debian 13
IconName = debian.svg
BaseImage = debian.qcow2
Root = /dev/disk0p5
Kernel = vmlinuz
Initrd = initrd.img
Append = ro splash
StartEnabled = yes
SyncEnabled = yes
NewEnabled = yes
Autostart = no
AutostartTimeout = 5
DefaultAction = start

[OS]
Name = Ubuntu
Description = Ubuntu 24.04
IconName = ubuntu.svg
BaseImage = ubuntu.qcow2
Root = /dev/disk0p6
Kernel = boot/vmlinuz
Initrd = boot/initrd.img
Append = ro splash
StartEnabled = yes
SyncEnabled = yes
NewEnabled = yes
Autostart = no
AutostartTimeout = 5
DefaultAction = start

Solange ich keine Konfigurationsdateien, Konsolenausgaben und Logdateien zu Gesicht bekomme, kann ich nur sagen: Works for me. :wink:

VG, Thomas

Hallo Jesko,

.. sowas liegt auch mal daran, ob in der start.conf.GRUPPE wie bei Thomas

steht oder

Kernel = /dev/sda1
Initrd = /dev/sda1

wie bei mir, und, ob es einen symlink von /vmlinuz → /boot/vmlinuz (und init.rd) gibt, oder nicht.

Kannst ja mal schauen, wie das bei dir aussieht.

LG
Holger