[SOLVED] PVE 8.4.12 LXC und Debian 13

Feb 2, 2021
39
2
28
Hallo zusammen,

ich habe heute nach längerer Zeit mal wieder einen meiner PVEs durchgestartet, plötzlich kam ein LXC Container nicht mehr hoch (Debian 12.x auf 13.1 aktualisiert):

Code:
root@pxh1:~# cat test.log
lxc-start 125 20250906135202.138 INFO     lsm - ../src/lxc/lsm/lsm.c:lsm_init_static:38 - Initialized LSM security driver AppArmor
lxc-start 125 20250906135202.138 INFO     utils - ../src/lxc/utils.c:run_script_argv:587 - Executing script "/usr/share/lxc/hooks/lxc-pve-prestart-hook" for container "125", config section "lxc"
lxc-start 125 20250906135202.558 DEBUG    utils - ../src/lxc/utils.c:run_buffer:560 - Script exec /usr/share/lxc/hooks/lxc-pve-prestart-hook 125 lxc pre-start produced output: unsupported debian version '13.1'

lxc-start 125 20250906135202.572 ERROR    utils - ../src/lxc/utils.c:run_buffer:571 - Script exited with status 25
lxc-start 125 20250906135202.572 ERROR    start - ../src/lxc/start.c:lxc_init:845 - Failed to run lxc.hook.pre-start for container "125"
lxc-start 125 20250906135202.572 ERROR    start - ../src/lxc/start.c:__lxc_start:2034 - Failed to initialize container "125"
lxc-start 125 20250906135202.572 INFO     utils - ../src/lxc/utils.c:run_script_argv:587 - Executing script "/usr/share/lxc/hooks/lxc-pve-poststop-hook" for container "125", config section "lxc"
lxc-start 125 20250906135202.975 DEBUG    utils - ../src/lxc/utils.c:run_buffer:560 - Script exec /usr/share/lxc/hooks/lxc-pve-poststop-hook 125 lxc post-stop produced output: umount: /var/lib/lxc/.pve-staged-mounts/mp0: not mounted.

lxc-start 125 20250906135202.975 DEBUG    utils - ../src/lxc/utils.c:run_buffer:560 - Script exec /usr/share/lxc/hooks/lxc-pve-poststop-hook 125 lxc post-stop produced output: command 'umount -- /var/lib/lxc/.pve-staged-mounts/mp0' failed: exit code 32

lxc-start 125 20250906135203.992 INFO     utils - ../src/lxc/utils.c:run_script_argv:587 - Executing script "/usr/share/lxcfs/lxc.reboot.hook" for container "125", config section "lxc"
lxc-start 125 20250906135203.512 ERROR    lxc_start - ../src/lxc/tools/lxc_start.c:lxc_start_main:307 - The container failed to start
lxc-start 125 20250906135203.512 ERROR    lxc_start - ../src/lxc/tools/lxc_start.c:lxc_start_main:312 - Additional information can be obtained by setting the --logfile and --logpriority options

Stellt sich raus, dass der PVE wohl keine Debian 13.1 LXC Container mag... so siehts im LXC aus:

Code:
root@lxc:~# cat /etc/debian_version
13.1

Ich habe dann ganz dreist einfach in der Datei /usr/share/perl5/PVE/LXC/Setup/Debian.pm den Check von 13 auf 13.1 erweitert...

Code:
die "unsupported debian version '$version'\n" if !($version >= 4 && $version <= 13.1);

Jetzt aber die Frage... mache ich damit irgendwas kaputt?
Warum steht in der $version_map das 'trixie/sid' => 13, sogar forky/sid mit 14 drin, aber im Version Check ist <=13 hardcoded?

Wäre es nicht besser nur die Version Map zu pflegen, und gegen den höchsten Wert der Map zu testen? und die x.1 x.2 Versionen kann man doch eigentlich ignorieren?

Fragen über Fragen :)

Vielen Dank &
Schönes Wochenende an alle!
 
Last edited:
Jetzt aber die Frage... mache ich damit irgendwas kaputt?
Nein. Nicht mit "13" --> "13.1".

Beim nächsten regulären Paketupdate wird diese Änderung wieder überschrieben. Ich vermute/hoffe, dass dann eine offizielle Korrektur für dieses Detail enthalten ist...
 
  • Like
Reactions: BastianR
Ach, nicht nur ich ;)


Danke für den Hinweis mit
Code:
/usr/share/perl5/PVE/LXC/Setup/Debian.pm
Bis da bin ich noch nicht vorgedrungen.
War dann mutiger und habe in Zeile 39

Code:
die "unsupported debian version '$version'\n" if !($version >= 4 && $version <= 14);
gesetzt
 
Habe ich auf meinem PVE8 und PVE9 so umgesetzt. Nun starten die Container wieder.
Andererseits wird 13.2 nicht so schnell kommen, wobei man nie weiss ;)
 
Hast Du auch die Datei für den Restore eines vzdumps gefunden? Backup will ja keiner, alle wollen Restore und der sagt noch
Code:
pvedaemon[197508]: unable to restore CT 100 - unsupported debian version '13.1'
 
  • Like
Reactions: UdoB
Das ist die einzige Stelle im gesamten Code wo unsupported debian version auftaucht.
Ich habe das nur via online perl compiler getestet und bin auch mit Perl nicht sehr vertraut aber eine andere Methode wäre
Perl:
if $version !~ m/^(\d+(\.\d+)?)(\.\d+)?/;
zu
Perl:
if $version !~ m/^(\d+)(\.\d+)?(\.\d+)?/;
zu ändern bis das offiziel behoben ist. Sieht ähnlich aus aber das macht aus $1 13 anstatt 13.1.

Doch keine so gute Idee, da die Variable auch anders wo benutzt wird. Ich hab das nicht ganz durchdacht.
 
Last edited:
Ja, ich habe auch schon mal verschiedene Ausdrücke aus der Meldung mit grep -r auf /usr/share/perl5/PVE/* los gelassen