Portál AbcLinuxu, 14. května 2025 23:26
Hejt: 2019-12-09 (Debian 10) Za mých mladých let bylo možné za běhu přeplácnout rootfs, udělat sync a otočit to přes sysrq_trigger. To už teď nejde, protože systemd na rozdíl od původního jednoduchého initu, který se spustil a běžel, hrabe na disk a přečte si změněné knihovny (se kterými samozřejmě není kompatibilní) a spadne, což způsobí panic (protože spadne PID 1) - ještě než jsem stihl nový rootfs rozbalit.Nicméně řešením fakt není zavádění Windows-like updatů, třeba taky protože to ztěžuje ten právě uvedený jiný usecase. Řešením je dělat kritický systémový software tak, aby se tohle nedělo.[ 498.581817] systemd-journal[230]: segfault at 1 ip 00007f622f593004 sp 00007ffe1d668410 error 4 in libsystemd-shared-241.so[7f622f55f000+147000] [ 498.595361] Code: 00 00 48 83 c0 17 31 c9 48 c1 e8 04 48 c1 e0 04 48 29 c4 4c 8d 4c 24 0f 49 83 e1 f0 48 83 bb 30 01 00 00 00 4d 89 cf 0f 84 e9 <02> 00 00 8b 7b 04 89 f2 4c 89 fe e8 fc 1c fd ff 41 89 c4 85 c0 0f [ 498.616493] systemd[1]: segfault at 1 ip 00007f737f681004 sp 00007fff50859190 error 4 in libsystemd-shared-241.so[7f737f64d000+147000] [ 498.628918] Code: 00 00 48 83 c0 17 31 c9 48 c1 e8 04 48 c1 e0 04 48 29 c4 4c 8d 4c 24 0f 49 83 e1 f0 48 83 bb 30 01 00 00 00 4d 89 cf 0f 84 e9 <02> 00 00 8b 7b 04 89 f2 4c 89 fe e8 fc 1c fd ff 41 89 c4 85 c0 0f Message from syslogd@debian at Dec 9 00:02:09 ... kernel:[ 498.616493] systemd[1]: segfault at 1 ip 00007f737f681004 sp 00007fff50859190 error 4 in libsystemd-shared-241.so[7f737f64d000+147000] Message from syslogd@debian at Dec 9 00:02:09 ... kernel:[ 498.628918] Code: 00 00 48 83 c0 17 31 c9 48 c1 e8 04 48 c1 e0 04 48 29 c4 4c 8d 4c 24 0f 49 83 e1 f0 48 83 bb 30 01 00 00 00 4d 89 cf 0f 84 e9 <02> 00 00 8b 7b 04 89 f2 4c 89 fe e8 fc 1c fd ff 41 89 c4 85 c0 0f [ 498.871929] systemd: 41 output lines suppressed due to ratelimiting [ 498.878622] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
vymena dynamicke knihovny za chodu, po te co byla namapovana do adresoveho prostoru bezici aplikace, muze byt nedeterministicka zalezitost v podstate s nedefinovanym chovanim.Kdyz uz je namapovana, tak je v pameti a co je ulozeno na FS je ireleventni. Live updatu to neprekazi.
Prepsat za chodu rootfs ci jakekoliv systemove dynamicke knihovnyrsync to standardně zapíše vedle a přesune, takže otevřený soubor zůstane se starým obsahem. Považuji za spíše nepravděpodobné, nicméně nemohu vyloučit, že jsem to spouštěl s --inplace, pak vaše vysvětlení dává smysl. Spíš jsem si myslel, že došlo k zaradování se „jéj update! loadnu ho! BUM“, ale je pravda, že to nezní příliš pravděpodobně.
si koleduje o problemyTak já to pak neplánuju provozovat, okamžitě po doběhnutí rsyncu následuje reboot.
dnf upgrade
, nemám s offline updaty jako výchozí volbou problém. Oproti Windows je to podstatně méně otravné. Trvá to pár minut a nevyžaduje to několik restartů.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.