Squashfs-tools 4.7: Jelentős teljesítményjavítás és új funkciók a reprodukálható fájlrendszerekért

Megjelent a Squashfs eszközkészlet 4.7-es verziója, amely a projekt egyik legnagyobb frissítéseként jelentős teljesítménynövekedést és fejlettebb funkcionalitást kínál, különös tekintettel a reprodukálható fájlrendszerek építésére és a felhasználói felület átdolgozására vonatkozóan. A kiadást Phillip Lougher jelentette be 2025. június 3-án, és a csomag letölthető a SourceForge és GitHub oldalakról.

Squashfs-tools 4.7: Jelentős teljesítményjavítás és új funkciók a reprodukálható fájlrendszerekért

Jelentősen gyorsabb fájlrendszer-készítés párhuzamos olvasással

A frissítés leglátványosabb újdonsága, hogy a mksquashfs mostantól párhuzamosan képes beolvasni a forrásfájlokat, ami különösen nagy mennyiségű kis fájl, illetve SSD vagy hálózati háttértár esetén több mint tízszeres sebességnövekedést eredményezhet. Az I/O teljesítményt befolyásoló új paraméterek segítségével a felhasználók kézben tarthatják a párhuzamos olvasás működését, például a kis és nagy fájlokra vonatkozó szálak számának meghatározásával, illetve visszaválthatnak az egy szálas olvasásra is, ha azt igénylik.

Modernizált és szűrhető súgórendszer

A mksquashfs, unsquashfs, sqfstar és sqfscat parancsokhoz tartozó súgórendszer teljesen új alapokra került. A szöveg most már a terminál teljes szélességét kihasználja, lapozható, és képes részleges vagy reguláris kifejezéssel szűrt kimenetet nyújtani. A parancssori hibák esetén nem a teljes súgólistát dobja ki, hanem célzott összefoglalót jelenít meg. Az új súgóopciók közé tartozik a témakörök szerinti lekérdezés, egyedi opciók kikeresése, valamint a tömörítőspecifikus paraméterek megjelenítése.

Egyszerűbb reprodukálható fájlrendszerek, megszűnt a teljesítményt visszafogó töredékblokkolási mechanizmus

A frissítés kiemelt célja a determinisztikus fájlrendszerképek előállításának megkönnyítése. Ennek érdekében bővítették az időbélyegek kezelését lehetővé tévő beállításokat, valamint egyszerűsített rövid parancsokat vezettek be, amelyekkel egyértelműen és gyorsan meghatározható, hogy az állománykép azonos legyen minden újrageneráláskor.

Korábban a „fragment block stall” nevű technikai megoldás biztosította a fájlok determinisztikus sorrendjét a képfájlban, ám ez a teljesítmény rovására ment, különösen párhuzamos feldolgozás esetén. Ez az akadály most megszűnt, és a fájlok sorrendje úgy is kiszámítható marad, hogy közben a teljesítmény 20%-kal vagy még nagyobb mértékben nőhet. A korábban használt -reproducible és -not-reproducible opciók mostantól hatástalanok, de kompatibilitási okból továbbra is elfogadja őket a rendszer.

Finomhangolható jogosultságok és új pszeudofájl-funkciók

A mksquashfs és a sqfstar új opciókat kínálnak a fájl- és könyvtárjogosultságok közvetlen felülírására, beleértve a szimbolikus módok támogatását. A kimeneti fájlok listázása mostantól fájlba is irányítható, így nem akad össze a folyamatjelzővel. Új opció biztosítja, hogy hiányzó könyvtárak esetén alapértelmezett útvonalat adhassunk meg pszeudofájl-definíciókhoz, valamint támogatást kapott a hardlinkek létrehozása és a szimbolikus linkek követése is. A hibás pszeudofájl-bejegyzések, amelyek eddig figyelmen kívül lettek hagyva, most már hibaüzenettel megszakítják a futást.

Memóriakezelés fejlesztése visszafejtésnél és fájlvizsgálatnál, új környezeti változó a hibakereséshez

Az unsquashfs és sqfscat parancsok új lehetőséget kaptak a memóriahasználat korlátozására, akár konkrét mennyiség megadásával, akár a rendszer memóriájának százalékos értékével. A biztonságos működés érdekében a memóriahasználat automatikusan korlátozódik a rendelkezésre álló fizikai memória 75%-ára.

Bevezetésre került a SQFS_CMDLINE nevű környezeti változó, amely segítségével a mksquashfs, unsquashfs, sqfstar és sqfscat futásakor elmenthető a parancssor, amelyet a felhasználó vagy script adott meg. Ez különösen hasznos lehet hibakeresés vagy automatizált rendszerek működésének visszakövetése során.

További technikai részletek a lore.kernel.org oldalon található bejelentésben olvashatóak.