Díky, teda to bylo u mě na poslední chvíli... Pustil jsem apt update+upgrade a než to doběhlo, využil jsem čas, otevřel si Root.cz a no ty kráso. Ale vypadá to, že teda zatím zablokobané nové balíky nejsou - base-files se mi před pár minutami zvedly na 12.3 a ten špatný kernel (6.1.64-1, tedy balík linux-image-6.1.0-14) tam mám už taky, naštěstí ho mám možnost máznout ještě před rebootem, který by proběhl už do něj. Ufff.
No me prijde, ze ti kernelovi vyvojari se nekdy snad ani neobtezuji ty backporty otestovat. Ke stesti jim staci, ze se to zkompiluje - nejake testovani (nedejboze na hardware, ktereho se to explicitne tyka) se moc neresi a obcas se pri tom vyzobavani rozinek do LTS verzi i zapomene na nejake souvisejici upravy.
A GKH na jedne strane rika, jak maj lidi pouzivat aktualni verze. Ale ta 6.1.64 byla v nejakem case aktualni - a dokonce krasnych 10 dni, kdy neotestovani zmen v long-term stable, kdy s jeho logikou ohrozoval data lidi. Mozna by to chtelo fakt pribrzdit na kvantite co se mnozstvi zmenovych commitu tyce...
No me prijde, ze ti kernelovi vyvojari se nekdy snad ani neobtezuji ty backporty otestovat.
Je to ještě mnohem horší. Doby, kdy vývojáři příslušného subsystému explicitně označovali, co se má backportovat do stable, jsou dávno pryč. Dnes tomu vládnou skripty, které automaticky vezmou všechno, co má Fixes:
, a na základě nějakých podivných heuristik i hromadu dalších věcí. Dnes je spíš problém, jak zabránit tomu, aby se commit, o němž se předem ví, že by backport mohl způsobit problémy, do stable stejně dostal.
A pak se vsichni strasne divej, proc ti co to adminujou radsi pouzivaji i roky starou verzi, protoze proste nechteji resit co kde prestane fungovat, coz je pro ne mnohem vetsi problem, nez z 99% hypoteticky vyuzitelne chyby.
Osobne cekam s jakoukoli aktualizaci alespon 3-4 dny (u tech nepodstatnych veci) a u tech kritickych nejmene mesic. Ale ani to nemusi vzdy stacit.
Jestli tomu rozumím správně, tak je to opravené až v jádru 6.5-rc1, takže když mám v Linux Mintu jádro 6.2, tak se mě to také týká, cituji:
"The commit got merged in 6.5-rc1 so all stable kernels that have
91562895f803 ("ext4: properly sync file size update after O_SYNC direct
IO") before 6.5 are corrupting data"
V bugu je skutečně napsáno, že to je opraveno v balíčku jádra verze 6.1.66-1. Ovšem v repozitářích je pořád ještě chybná stará verze 6.1.64-1. Zatím ještě vydržte.
# apt update # apt show linux-image-amd64 | grep -E 'Version|Depends' Version: 6.1.64-1 Depends: linux-image-6.1.0-14-amd64 (= 6.1.64-1)
Uz je na ceste.... (takze odvaznejsi uz muzou nasazovat)
Chyba se může stát všude, nedávno mělo třeba OpenZFS fatální chybu, která mazala obsah souborů. Nelze ukázat prstem na jeden souborový systém.
Tak jednoduché to bohužel není, i v NTFS jsou chyby ničící data. Chyby se prostě stávají všude.
NTFS rozhodně nemá nulové skóre. Kromě data corruption bugu z jara 2021 bylo pekelné období nástupu Windows 2000, kde se objevila nová verze NTFS 5 a starší verze Windows NT 4.0 s ní po aktualizaci ntfs.sys uměla taky pracovat, ale prakticky ignorovala žurnál. Výsledkem byl v lepším případě dirty FS (vždy), no a když měl člověk smůlu, nakopnula se metadata. Podle MS to bylo chování by design, dokonce to měli v prezentaci na W2K deployment konferenci v prosinci 1998.
Jenom taková úvaha. Zajímalo by mě, jaký je přínos změn, které způsobují tyto i jiné chyby. Nepamatuji si jedinou chybu, u které bych si říkal: "ok, změna byla velmi přínosná a chyby se prostě stávají". Naopak si pamatuju spoustu chyb, které vznikly na základě toho, že autoři chtěli řešit něco, co jsem za chybu buď nepovažoval a nebo měla být vyřešena na zcela jiné vrstvě nebo produktu. Například známá heuristika u ext4, která měla zjišťovat, zda program nezneužívá vlastnost journálování u ext3. Tam se prostě měly opravit všechny špatně napsané programy a nemělo se to zakrývat.
Odkaz nemám, probíralo se to hodně i tady na rootu. Šlo o to, že defaultní režim journálování u ext3 byl ordered. Což znamenalo, že data souboru se uložila před změnou metadat. Současně u ext3 byl velmi pomalý fdatasync. A některé programy tohoto zneužívaly, uložily data do soubory a následně jej třeba přejmenovaly. A data byla bezpečně na disku bez nutnosti volat f(data)sync.
Jenže tohle řešení fungovalo pouze na ext3 s ordered módem. Nefungovalo na žádném jiném fs.
Ext4 k sobě přidal heuristiku, jak tohle zachovat. Opět, nic to neopravovalo a na ostatních fs ten program byl stále rozbitý.
Nejedná se tedy o chyby ext3 ani ext4. Jen byla snaha najít náplast na vadné programy. A tohle mi vadí.
Jenze takhle se aplikace delaji vis?
Mockrat sem zazil, ze dodavatel se pokusil opravit nejake treba i objektivne vadne chovani. Jenze to vzdy narazi na to, ze aplikace s tim chovanim pocitaji.
Jedina spravna varianta je totiz tak, ze udelas novou verzi, ktere treba prejmenujes prislusna volani nebo pozadujes uvedeni verze ... a pak nove aplikace budou pouzivat tu opravenou funkcnost. Ale stejne budes muset nejspis desitky let zachovat i tu puvodni.
Specielne u FS pak menit jeho chovani je naprosto dokonala cesta do pekel. Pak totiz jaksi nemuzes tvrdit, ze je kompatabilni, protoze proste neni.
Ono je to docela problem, "tam se prostě měly opravit všechny špatně napsané programy".
Totiz ono ked sa aj vsetky programy opravia, vzdy sa najde nejaky vykuk, ktory pouzije staru verziu a problem aj tak sposobi. Koniec koncov distribucie ako Debian a RHEL spolu s klonmi na tomto priamo stavaju.
Preto kazda oprava, ktora zavadza nove spravanie, musi osetrit aj stare spravanie. Ako dlho musi podporovat stare spravanie je potom vecou zistovania, ci to este niekto niekde nahodou nepouziva, a az ked nie, este sa pre istotru s tym par rokov pocka a az potom sup s tym prec (a potom citaj na roote diskusie, ze preco sa odstranuju drivery pre historicke zelezo, ved to nikomu nezavadza, apod).
To je aj dovod, preco niektore zmeny vo svete Linuxu trvaju tak ukrutne pomaly. Microsoft alebo Apple si jednoducho vydaju novy release, kde spolu vsetky komponenty navzahom hraju; nikto nebude brat jeden komponent zo stareho releasu, druhy z noveho, robit z toho distribuciu a cudovat sa, ze to nefunguje. Vo svete linuxovych distribucii je to uplne bezne (preto dodnes nemame napr. explicit sync pre gpu).
áno... a Petr Krčmář to tu aj psal... takýchto prípadov vo Windows je dokonca omnoho viac než v Linuxe... toto je v Linuxe skôr výnimka než pravidlo ako u MS... ale inak chyby sa stávajú všade... preto bleeding--edge (krvávajúce hranové) distrá nie sú vhodné stroje, kde je stabilita a spoľahlivosť dôležitá. Navyše vždy by si mal mať zálohu dát.
Debian neni bleeding-edge, ale tady je na vine upstream, ktery se o bleeding-edge v LTS kernelu misty snazi. Debian je pouze obeti toho divokeho pojeti na urovni samotneho kernelu - kdy se nektere zmeny backportuji tak nejak... neuplne.
co treba:
Microsoft zastavil aktualizaci Windows 10 mazající uživatelská data
sice neslo o chybu filesystemu, ale aktualizacniho procesu, ale zaroven neslo o chybu "mohlo by se zapsat neco spatne", ale "realne se data mazala" ;-)
Preto sa aj záloha má pravidelne kontrolovať... či dáta nechýbajú a či sú čitateľné a správne... Ak pol roka zálohuješ chybné dáta bez toho aby si si to všimol, robíš niečo špatne
U zálohy ani nejde o to zabezpečiť "100%" bez-stratu dát... to ani nejde. Ale ide o to minimalizovať škody, napríklad tak že keď príde k problému na primárnej stanici obsahujúce dáta, tak vieš obnoviť všetky dáta okrem tých ktoré sa ešte nezálohovali. To môže byť trebárs len dáta za posledný deň. O nejaké dáta prídeš, ale rozhodne je lepšie prísť o 3 fotky a 1 dokument, čo si uložil 10 minút pred poruchou, než aby si prišiel o všetky dáta od počiatku vekov. Ak zálohy pravidelne kontroluješ, a pravidelne zálohuješ, tým minimalizuješ škody. Čím častejšie, tým menej škody pri probléme.
10. 12. 2023, 17:07 editováno autorem komentáře
"Preto sa aj záloha má pravidelne kontrolovať... či dáta nechýbajú a či sú čitateľné a správne"
Takze jen potvrzujes, ze netusis o cem pises. Ty chyby byly o tom, ze na disku jsou z pohledu FS zcela spravna data, jak je chces kontrolovat? Ty budes kazdy doc/xls/txt ... rucne otevirat a zjistovat, jestli to uvnitr je citelne?
Vis jak dlouho muze trvat obnovovani dat? U mych ovecek se bavime v nejlepsim pripade o hodinach. V nekterych pripadech o desitkach dnu. Tudiz je to az to posledni co chces delat.
Zadna porucha neni, zadnou nezaznamenas, typicky se ti za 2-3 mesice nekdo ozve, ze mu soubor XYZ nejde otevrit, a ty pak mozna zjistis, ze takovych mas par mililonu.
root@rpiout:/var/log# uname -a
Linux rpiout 6.1.64-v7+ #1702 SMP Wed Nov 29 14:16:46 GMT 2023 armv7l GNU/Linux
root@rpiout:/var/log# uptime
14:41:03 up 7 days, 17:38, 2 users, load average: 0.04, 0.02, 0.00
Co ted? Da se z toho nejak vybruslit nebo me ceka reinstall?
Zatim se to tvari v pohode, logy jsou bez chyb... Ale po rebootu uz to asi nenabehne, co?
tieto zfs ext4 korelujem uz isty cas ;P s vesmirnym pocasim a nachadzam tam suvislosti :D
https://www.swpc.noaa.gov/communities/space-weather-enthusiasts-dashboard
vysoce pravdepodobne :-)
https://lore.kernel.org/all/87sf4belmm.fsf@turtle.gmx.de/