Utvecklarna av projektet postmarketOS, som utvecklar en Linux-distribution för mobila enheter, har meddelat skapandet av en atomÀrt uppdaterbar version av distributionen. Den nya utgÄvan utvecklas under namnet Duranium och utmÀrker sig genom att systemet levereras som en helhet, utan uppdelning i separata paket. Det noteras att den nya versionen motsvarar idén att en enhet helt enkelt ska fungera, utan att anvÀndaren behöver veta om terminalen och förstÄ systemets egenskaper.
Systemmiljön i katalogen /usr monteras i skrivskyddat lÀge med hjÀlp av filsystemet EROFS och verifieras vid varje start genom digital signatur. Katalogen /usr har en storlek pÄ 5 GB. För att kontrollera dataintegriteten i katalogen /usr anvÀnds dm-verity, och vid upptÀckten av modifiering av innehÄllet blockeras uppstarten. Kontrollhashen integreras i den enhetliga bilden UKI (Unified Kernel Image), som förenar hanteraren för att ladda kÀrnan frÄn UEFI (UEFI boot stub), Linux-kÀrnbilden och det minnesladdade systemmiljöinitrd som anvÀnds för den initiala initieringen innan rotfilsystemet monteras. UKI-bilden presenteras som en enda körbar fil i PE-format och anropas av UEFI-laddaren.
Ăvriga kataloger, förutom /usr, ingĂ„r i rotpartitionen, som Ă€r skrivbar och bevaras mellan omstarter och uppdateringar. InnehĂ„llet i rotpartitionen krypteras alltid med hjĂ€lp av LUKS2, vilket innebĂ€r ökade krav pĂ„ hĂ„rdvaran. Den krypterade rotfilsystemet skapas under den första uppstarten eller efter att fabriksinstĂ€llningarna Ă„terstĂ€llts. Som standard skapas en tom nyckel som tillĂ„ter automatisk upplĂ„sning av den krypterade partitionen. I installationsguiden och i konfigurationen erbjuds anvĂ€ndaren att stĂ€lla in ett lösenord för dekryptering.
StandardinstÀllningarna lagras i systemavbilden i katalogen /usr/share/factory/etc. Under den första uppstarten skapas symboliska lÀnkar i katalogen /etc till alla filer i /usr/share/factory/etc, med undantag för filerna passwd, group, shadow, fstab, machine-id och hostname. Vid behov av att Àndra instÀllningar under drift ersÀtts den symboliska lÀnken med en kopia av filen.
Uppdateringar installeras genom att ersÀtta hela systemavbilden. PÄ lagringsenheten skapas tvÄ identiska rotpartitioner - aktiv och passiv. Den nya uppdateringen installeras i den passiva partitionen, utan att pÄverka den aktiva. Efter verifiering av korrektheten hos den installerade uppdateringen och en lyckad omstart byter partitionerna plats - partitionen med uppdateringen blir aktiv, medan den tidigare aktiva partitionen gÄr in i passivt lÀge och vÀntar pÄ installationen av nÀsta uppdatering. Om det uppstÄr problem med att starta systemet efter uppdateringen, genomförs en automatisk ÄterstÀllning till den tidigare versionen av systemet.
Denna metod förenklar kraftigt felsökning och diagnostik av problem, eftersom utvecklarna exakt kan Äterskapa det tillstÄnd dÀr felet intrÀffade, utan att behöva Äterskapa anvÀndarens systemkonfiguration pÄ nivÄ med individuella paket och ta hÀnsyn till de existerande kombinationerna av paketversioner. Nackdelen Àr de högre hÄrdvarukraven, vilket gör att Duranium inte kan anvÀndas pÄ alla enheter som stöds av postmarketOS.
InnehÄllet i Duraniums systemavbildning skapas frÄn en enhetlig paketbas frÄn postmarketOS, baserad pÄ Alpine Linux, den standard C-bibliotek Musl, och en uppsÀttning verktyg frÄn BusyBox. UtgÄvorna av postmarketOS och Duranium Àr i stort sett identiska i sammansÀttning, men skiljer sig Ät genom olika distributionsmetoder för systemet. För att skapa, installera och uppdatera systemavbilder anvÀnds komponenter frÄn systemd-sysupdate, systemd-repart och systemd-verity-setup.
Ytterligare applikationer installeras i Flatpak-format eller med hjÀlp av paketförvaltaren Coldbrew. Coldbrew gör det möjligt att installera paket frÄn Alpine Linux-repositorier i anvÀndarens hemkatalog. Vid körning isoleras sÄdana paket med hjÀlp av bubblewrap-verktyget.
KĂ€lla: opennet.ru
