Az előfizetési értesítést eltüntető parancs: a leggyakoribb egysoros, a legcsendesebb kár

Telepítés után elsőként mindenki az előfizetési értesítéssel találkozik, és elsőként mindenki egy egysoros parancsot talál rá megoldásként. Ennek a parancsnak az elterjedt változata mérésre került: képes tönkretenni a teljes felületi programkönyvtárat.

AtlasPVE ·

A bejegyzés ezekre válaszol

  • proxmox előfizetési értesítés eltüntetése
  • proxmox no valid subscription üzenet
  • proxmox telepítés utáni szkript
  • mit kell csinálni proxmox telepítés után
  • proxmox előfizetés figyelmeztetés kikapcsolása

A Proxmox telepítése és az első bejelentkezés után megjelenik az előfizetési értesítés. Bosszantó, mert minden bejelentkezéskor visszatér. Rákeresve előkerül egy egysoros parancs. Látszólag működik.

Ez az írás arról a parancsról szól, de az igazi témája nem a parancs: annak csendes ára, ha meg nem értett parancs kerül a gépre.

A mért hiba

A széles körben terjedő egysorosban valódi hiba van, és ez a hiba finom.

A klasszikus szövegszerkesztő eszközök alap reguláris kifejezéseiben a visszaperjellel írt függőleges vonal nem egyszerű karakter, hanem a vagylagosság operátora. A felület kódjában szereplő feltétel két függőleges vonalat tartalmaz, és amikor a parancs ezeket változatlanul visszaperjellel látja el, két vagylagosság operátor közé üres ág kerül.

Az üres ág a fájl minden pozíciójára illeszkedik. A "mindet cseréld" kapcsolóval együtt futtatva a kifejezés a teljes fájlon szétszórja a módosítást.

Ez nem feltételezés. A valódi fájl másolatán mérésre került: 26458 sorból 26458 változott meg, és a fájlban a false előfordulásainak száma 558 helyett 26458 lett. Az a rendszergazda, aki lefuttatta ezt a parancsot, a teljes Proxmox felületi programkönyvtárat tette volna tönkre.

Van egy második gond is: a célzott feltétel nem egyetlen soron áll, a Proxmox hat sorra bontja. Egy soronként dolgozó eszköz eleve nem is illeszthette volna rá helyesen.

Miért nem tűnt fel senkinek

Mert a kár néma. A parancs nem ad hibát, a képernyőn semmi nem pirosodik ki. A felület egy ideig működhet, a baj később jelentkezik, és abban a pillanatban senki nem köti össze a múlt héten bemásolt paranccsal.

Az általános tanulság ebből: a "mindenkinél működik" nem bizonyíték. Többnyire csak azt bizonyítja, hogy senki nem nézett utána.

Négy szabály minden ilyen jellegű módosításhoz

Minden művelet, amely rendszerfájlhoz nyúl, bárki is végzi, ezt a négyet kell hogy hordozza.

A biztonsági mentés egyszer készül, és soha nem íródik felül. Ha a mentés minden futáskor frissül, akkor a második futásnál már az elrontott állapot kerül mentésre.

A célzás szűk. Ha a célzott szöveg valóban megváltozott, a művelet nem hajtódik végre. Találgatás alapján a legközelebbi dolgot módosítani rosszabb, mint semmit sem módosítani.

Írás után a fájl visszaolvasásra kerül. Ha a várt eredmény nem jelent meg, a biztonsági mentés visszaáll. Attól, hogy az írás nem adott hibát, még nem biztos, hogy a helyes tartalom került a fájlba.

Jelölés marad hátra. Arra a kérdésre, hogy foltozva van-e ez a fájl, egy jel jelenlétének kell válaszolnia, nem a találgatásnak.

Amire senki nem gondol: mi van, ha már a mentés is hibás

Mind a négy betartásával is marad egy rés. Mi van, ha egy másik eszköz korábban elrontotta a fájlt, és a mentés ez után készült?

Akkor a visszavonás a hibás fájlt hozza vissza, és a látszat az, hogy minden rendbejött. Ezért a visszavonást is ellenőrizni kell: tényleg az eredeti tért vissza, vagy már maga a mentés is foltozott volt?

Ez példa arra a kérdésre, amelyet már működő gépen dolgozva folyamatosan fel kell tenni: nem az számít, mi történik tiszta telepítésen, hanem az, mi történik egy régi állapotot hordozó gépen.

Mit csinál az Atlas

Az Atlas ezt a munkát nem parancs bemásolásával, hanem a terméken belül végzi el, és mind a négy fenti szabályt alkalmazza.

A biztonsági mentés egyszer készül, és soha nem íródik felül. A célzás szűk: a minta a szóközökre rugalmas, minden másra pontos, így akkor is tart, ha a Proxmox megváltoztatja a formázást, de ha maga a feltétel változott meg, semmi nem történik. Írás után a fájl visszaolvasásra és ellenőrzésre kerül; ha a várt eredmény nem jelenik meg, a biztonsági mentés visszaáll. A behelyezett szöveg pedig jelölést hordoz, így a foltozottság kérdésére biztos válasz adható.

A visszavonás oldalán a fenti utolsó eset is kezelt: a mentés visszaállítása után ellenőrzés következik arról, hogy tényleg az eredeti tért-e vissza, és ha nem, azt a rendszer nyíltan kimondja.

Ez az írás valójában egyetlen mondatot szeretne elmondani: a feladat nem nehéz, de a helyes elvégzés és a működés látszata közti különbség a mérésen múlik.

Források

A Proxmox saját dokumentációja. Angol nyelvű, és ebben a kérdésben az övé az utolsó szó.

Kapcsolódó bejegyzések

Hogyan néz ki ez az Atlason belül?

Tovább a termékoldalra