Linus figyelmeztetés küldött az 5.12-rc1 kernellel kapcsolatban: Ne telepítsd!

Címkék

Linus egy figyelmeztetést adott ki az 5.12-rc1 fejlesztői kernellel kapcsolatban, amiben arra kéri a tesztelőket, hogy ne telepítsék. Kiváltképpen ne, ha swap fájl(oka)t használnak:

Swapping still happened, but it happened to the wrong part of the filesystem, with the obvious catastrophic end results. [...] Now, the good news is even if you do use swap (and hey, that's nowhere near as common as it used to be), most people don't use a swap *file*, but a separate swap *partition*. And the bug in question really only happens for when you have a regular filesystem, and put a file on it as a swap. [...] But I want everybody to be aware of because _if_ it bites you, it bites you hard, and you can end up with a filesystem that is essentially overwritten by random swap data. This is what we in the industry call 'double ungood'.

Hozzászólások

tl;dr:

  • csak azok érintettek, akik használnak swap-et és azt swap fájl(ok) használatával teszik
  • swap partíciót használók nem érintettek
  • akik érintettek, azoknak beleswapelhet random adatokkal a kernel a fájlrendszerükbe, aminek nyilvánvalóan katasztrofális következménye lehet

trey @ gépház

Amióta laptopon egy partícióban használok Linuxot (kb. 15 éve), swap fájlt készítek, ha swap kell.

Nem minden gépen és nem mindig van swap fájl, de pl. a magán laptopomba nem fér 8G-nál több RAM, ott néha jól jön, ezért ott állandóra be van lőve egy.

Cserébe nem teszek fel RC kerneleket.

disclaimer: ha valamit beidéztem és alá írtam valamit, akkor a válaszom a beidézett szövegre vonatkozik és nem mindenféle más, random dolgokra.

ez mar a manyeyeballz minoseg? vagy arra meg varni kell?

Egyetértek. A swap fájl ma már alap. A swap partíció már legacy hagyaték. Régen valóban a swap partíció volt a fő szabály, mert akkor HDD-kről futottak a rendszerek, és swap partíció nem töredezett (mivel egybefüggő lemezterület), meg ki tudták tenni a tányér gyorsabbik, külső szélére, meggyorsítva a swapolást. Én már jó sok éve mindenkinek a swap fájl használatát ajánlom, mert rugalmasabb, ha nem elég vagy túl nagy a mérete, akkor könnyű átméretezni. Partíciónál ez kínosabb. Meg ma már SSD-kről futva a swap fájl töredezése se téma, de a mai RAM-mennyiségek mellett már lassan a swap se téma, nekem pl. minden gépemben 16 GB RAM van évek óta, és nem használok swapot egyáltalán, se swapfájl, se swappartíciót. Tudom, tudom, mi van ha hirtelen kell, és nincs? Nem a világ vége, mert évek óta egyszer se kellett, de ha mégis kelleni fog nagy hirtelen, terminálban beveretem a sudo dd if=/dev/zero of=/akármi/swapfájl bs=1M count=1024 && mkswap /akármi/swapfájl && sudo swapon sort és máris ott figyel, mindenféle telepítgetés, particionálás, reboot, akármi nélkül. Mikor még 8 giga RAM-ot használtam, már akkor se nagyon nyúlt bele soha a rendszer a swapba, jórészt üresen állt, dísznek.

De mikor még 2-4-8 giga RAM-os gépeim voltak, HDD-ről futó rendszerrel, már akkor is javarészt swapfájlt használtam. Utoljára sok éve volt swap partíciót, mert mikor a btrfs-t teszteltem, az akkor nem támogatott egy bug miatt swap fájlt (ma már ezt orvosolták).

Ennek ellenére szerintem nem baj, hogy kibukott most ez a swap bug, ráadásul mindjárt az RC1-ben. Pont ezt a célt szolgálják az RC-k, ezért vannak kiadva, hogy a bugokra még fejlesztés közben fény derüljön, gyorsan lehessen javítani, és teszt közben derüljön ki, ne éles rendszeren, stable release után legyen vele égés. Tehát nincs itt semmi látnivaló, ilyen nagy bug egyébként is nagyon-nagyon ritkán van.

“I didn’t start using Linux so I could have friends.” (Luke Smith, 2019) 🐧

nem feltetlenul a toredezettseg miatt nemvolt jo hddn a swapfile, hanem az alatta levo fs overhead miatt. superblockbol felolvasni hogy melyik blokkok tartoznak az a swapfajlhoz, stb.

mi mar csak azert hasznalunk swap particiot (8G), hogy a linux ki tudja rakni a memoryleakes progik fel nem szabaditott helyeit a swapba, aztan ott elfer.

ami meg alapbol nemfer el 16G(/32G/stb) ramban, annak nem is kell ott futnia. ha megis kene akkor az hibas tervezes. :)

A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!

Ebben igazad van, az fs overhead is kisebb. Bár az szerintem csak nagyon-nagyon lassú rendszernél számít. Memoryleakes progikat meg ki kell lőni, nem swapba pakolgatni a leakelt szutykukat.

Egyébként sokan ma már csak swap file-t, és partíciót csak megszokásból használnak, meg félelemből, hátha kell egyszer, és nem tudják, hogy azt utólag is lehet csinálni. YouTube reviewereknél is láttam, hogy bemutat egy disztrót, felpattintja a 32 GB RAM-os gépére, de erre külön kiemeli, hogy swap fontos. Mi a f4×nak? Nem hibernál vagy ilyesmi, ezt még tudni kell. Csak úgy, mert az kell. De pl. hozzáértőbbeknél is látom, pl. Brodie Robertson videóin, 32 GB RAM nála is, de azért legyen swap, mert szépen díszíti a free kimenetet, egyébként a fizikai RAM-ja az esetek többségében 90+%-ban szabadon áll. Face palm. Ha valaki nem hibernál (ajánlott, mert hibernációból és sleepből való visszatérés a legtöbb gépen problémás Linux alatt, ha fel is éled, bugokat okozhat), 16-32 GB RAM-nál nem kell, 8 az határeset, felhasználásfüggő. 4-nél vagy kevesebb RAM-nál tényleg kell, hogy mekkora, az felhasználásfüggő, de legalább a fizikai RAM mérete. Akkor is lehetőleg swap fájl. Swap partíció akkor, ha valami bűn lassú, sok éves, 5400 rpm-es HDD-ről fut a rendszer, és annyira bűn lassú az egész gép, hogy az ember az ereit felvágja kínjában, ott egy kicsit segíthet, ha tényleg partíció, nem csak egy fájl a swap.

“I didn’t start using Linux so I could have friends.” (Luke Smith, 2019) 🐧

Egyrészt az hogy neked nem indokolja semmi hogy használj swap-et, még korántsem jelenti azt, hogy ne lenne indokolt a létezése. :)

Másrészt pont a lassú diskek esetében nem érdemes swap-el bővíteni a ram-ot, csak abban az esetben, ha tényleg kevés a ram. Különben a lemez IO-tól csak lassabb lesz az egész.

Use case: Egy aktívan használt melós desktopomon most 8Gb RAM van, ha pl egy windows VM-et fel kell rántanom rajta akkor a hoston elég kevéske RAM marad, pl egy böngésző véletlen is felszippantja a maradékot. Ezt remekül át lehet hidalni swap-el. De jól jöhet olyankor is, amikor nagyobb méretű (pl a3 1200 dpi-s) bitkép fájlokkal kell dolgozni, és nem akarsz minden mást bezárva izgulni, hogy a 2-ik vagy 3-ik filter lefuttatása vagy egy színtérkonverzió még belefér-e a RAM-ba :D

Hétköznapi desktop felhasználás mellett többnyire sok értelme nincs a swapnak, olyan használatra én is swapiness telepítést csinálok. De ettől még nagyon sok esetben jó dolog a swap.

Nekem a 8G RAM-os öreg magánlaptopomon azért van kizárólag swap, hogy ha valami memóriazabáló program nekilódul, akkor ne rögtön az legyen, hogy a rendszer használhatatlanságig lassul és utána elszáll. Ha látom, hogy bármi a swap-ot használja, az jelzés, hogy valami rossz, valamit ki kell lőni.

disclaimer: ha valamit beidéztem és alá írtam valamit, akkor a válaszom a beidézett szövegre vonatkozik és nem mindenféle más, random dolgokra.

Ez már az.

A manyeyeballz nélküli minőség az volt, amikor az ilyen bugok, miután az automata tesztek nem kapták el, mehettek ki élesbe.

disclaimer: ha valamit beidéztem és alá írtam valamit, akkor a válaszom a beidézett szövegre vonatkozik és nem mindenféle más, random dolgokra.

Miután a kernel doksijában elég egyértelműen le van írva, hogy nem stabil kernelt olyan hardveren ne tesztelj amit sajnálnál kidobni szerinted egy fájlrendszer szétcincálás mennyire kritikus? Ez egy rc kernel, még a sima stable ágat sem kéne nagyon éles rendszeren használni...

Szerintem arra gondolt, hogy a legfrissebb, nem RC kernel sem annyira stabil, mint az LTS. Ezzel én se egészen értek egyet, évek óta friss stabil kernelt használok. De még az RC-kel sem volt sok bajom.

Amúgy kint van az 5.12-RC2, előrehozták a megjelenést péntekre.

“I didn’t start using Linux so I could have friends.” (Luke Smith, 2019) 🐧

Szerintem arra gondolt, hogy a legfrissebb, nem RC kernel sem annyira stabil, mint az LTS.

Torvalds évekkel ezelőtt megmondta, hogy a kernelek stabilizálásának feladata a disztribútoroknál van. A kernel.org release-ek nem átlagembernek vannak. 

trey @ gépház

Ennek ellenére elég sok rolling disztró használja a kernel.org-os, stabil, de nem LTS kernelt. Mindenféle patch nélkül, max. a kernelkonfigon reszelnek csak egy kicsit. Az esetek elsöprő többségében nincs vele gond, ha meg valakinek annyira egzotikus hardveres, szutyok gépe van, akkor az meg felrak magának LTS kernelt.

Amúgy nem értek a kijelentéssel önmagában sem egyet, a disztrónak nem kell stabilizálni a kernelt. Az a kernelesek feladata. A disztróé csak a csomagok összeválogatása, és a rendszer összecsiszolása, de nem a kernelfejlteszés átvétele. Ennek ellenére nagyobb disztrók patchelik a kerneleiket, Debian, Ubuntu, RHEL és származékaik, talán még Süsüék is. Esetleg Gentoo még, ami patchelhet, de ott meg bármikor leforgathatsz magadnak kernel.org-os kernelt is, a sok kódpörgetés közepette már nem is nagy plusz munka. Egyébként meg a disztrópatchelt kernel sokszor hátrány, mert lassítja a fejlődést, az új kernelek adoptálását, rugalmatlan, illetve néhány szoftver futtatásánál hibajelenségeket is okozhat.

“I didn’t start using Linux so I could have friends.” (Luke Smith, 2019) 🐧

... az egy dolog, hogy hígul a szakma, de minek nyúlnak ahhoz, ami jó (volt)?

-fs-
Az olyan tárgyakat, amik képesek az mc futtatására, munkaeszköznek nevezzük.

Amióta fölfedeztem a ramzswap-ot sok sok évvel ezelőtt, azóta nem használok más swap eszközt...