A Fedora projekt fejlesztői az atomikus frissítésű kiadások alapértelmezett áttérését tervezik a Composefs fájlrendszerre. Ha a FESCo (Fedora Engineering Steering Committee) javaslatait elfogadják, a Composefs a Fedora Silverblue (GNOME), Fedora Kinoite (KDE), Fedora CoreOS, Fedora IoT, Fedora Sway Atomic és Fedora Budgie Atomic kiadásokban fog megjelenni.
A változás lehetővé teszi, hogy ezekben a kiadásokban egy írásvédett módban működő gyökérpartíciót használjanak, és a jövőben integrálják a rendszerpartíciókhoz az integritás-ellenőrzési eszközöket, amelyek képesek észlelni a működés során felmerülő problémákat. A /etc és /var partíciók továbbra is írási lehetőséggel fognak csatlakozni.
Jelenleg a /usr partíció írásvédett módban való csatlakoztatásával működik, míg a gyökérpartíció írási módba van csatlakoztatva, ugyanakkor a jogi hozzáférési szinten történő változtatásokat tiltanak ('chattr +i /'). Az integritás-ellenőrzés a partíció frissítésekor történik, ami nem teszi lehetővé az üzemeltetés során felmerülő sérülések és változások észlelését a teljes ellenőrzés inicializálása nélkül az 'ostree fsck' parancs használatával.
A Composefs fájlrendszer az OverlayFS és EROFS fájlrendszerek meglévő kernel feletti bővítményeként valósult meg, és optimalizálva van több csatlakoztatott lemezkép tartalmának hatékony megosztására. Az EROFS (Extendable Read-Only File System) funkcionalitása a Composefs igényeit a Linux 5.15-ös kernel verziótól, míg az OverlayFS a 6.5-ös kerneltől kezdve elégíti ki. A Composefs lehetővé teszi, hogy több rétegű fájlrendszereket hozzanak létre, ahol a véletlenszerű, írásvédett fájlrendszer-fák rétegezik a Linux alapértelmezett fájlrendszerei fölé.
A Composefs különbözik más meglévő, hasonló fájlrendszerektől, mivel támogatja a különböző lemezképek tartalmának közös tárolását, és hitelesítési funkciókkal rendelkezik az olvasható adatok számára. A Composefs egy tartalom-alapú címkézési tárolási modellt alkalmaz, amelyben az elsődleges azonosító nem a fájl neve, hanem a fájl tartalmának hash-e. Ez a modell biztosítja a deduplikálást, és lehetővé teszi, hogy az azonos fájlokból csak egy példányt tároljunk a különböző csatlakoztatott köteteken.
A rendszerképek általában számos standard fájlt tartalmaznak, és a Composefs alkalmazásával mindezek a fájlok közösen kerülnek felhasználásra az összes csatlakoztatott kép által, anélkül, hogy olyan trükköket kellene alkalmazni, mint a kemény linkekkel való átirányítás. E közben a közös fájlok nemcsak egy példányban tárolódnak a lemezen, hanem egyetlen bejegyzés költsége is keletkezik az oldalkészletben, ami lehetővé teszi a lemez- és a RAM-memória megtakarítását is.
A lemezmemória megtakarítása érdekében az adatok és a metaadatok a Composefs-ben elkülönülnek, és a csatlakoztatás során külön meg kell adni a bináris indexet, amely tartalmazza az összes fájlrendszer metaadatát, a fájlneveket, a hozzáférési jogokat és egyéb információkat. A metaadat-indexek minden fájlrendszer-képhez létrejönnek, és külön fájlban tárolódnak EROFS formátumban (a loopback módban az EROFS képet montírozzák, amelyben csak a metaadatok találhatók). A csatlakoztatott képek összes fájlja egy általános alapmappában tárolódik egy hagyományos fájlrendszerben (ext4, xfs, btrfs), és a rusted.overlay.redirect kiterjesztett attribútum segítségével kapcsolódik a képekhez, amely alapján az OverlayFS a fájlokat a tartalom hash-e alapján találja meg.
A különálló fájlok és az egész kép tartalmának ellenőrzésére közös tárolási környezetben a fs-verity mechanizmus van érvényben, amely a fájlokhoz való hozzáférés során ellenőrzi, hogy a bináris indexben megadott hash-ek megegyeznek-e a tényleges tartalommal — ha a támadó módosítja a fájlt az alapmappában vagy az adatok megsérülnek egy hiba következtében, a hasonlóság ellenőrzés felfedi az eltérést.
Forrás: opennet.ru
