Proiectul postmarketOS a prezentat Duranium, o ediție actualizabilă atomic pentru smartphone-uri

Dezvoltatorii proiectului postmarketOS, care dezvoltă o distribuție Linux pentru dispozitive mobile, au anunțat crearea unei variante a distribuției care se poate actualiza atomic. Noua ediție se dezvoltă sub numele de Duranium și este notabilă prin furnizarea sistemului ca un întreg, fără a fi divizat în pachete separate. Se subliniază că noua variantă se aliniază ideii că dispozitivul ar trebui să funcționeze simplu, fără ca utilizatorul să fie nevoit să cunoască existența terminalului sau să înțeleagă particularitățile sistemului.

Mediul de sistem din directorul /usr este montat în modul read-only folosind FS EROFS și este verificat la fiecare pornire printr-o semnătură digitală. Partiția /usr are o dimensiune de 5 GB. Pentru controlul integrității datelor din /usr se utilizează dm-verity, iar în cazul identificării modificării conținutului, încărcarea este blocată. Hash-ul de verificare este încorporat în imaginea unificată UKI (Unified Kernel Image), care combină un handler pentru încărcarea kernel-ului din UEFI (UEFI boot stub), imaginea kernel-ului Linux și mediu de sistem initrd încărcat în memorie, folosit pentru inițializării inițiale înainte de montarea FS-ului rădăcină. Imaginea UKI este formată ca un singur fișier executabil în format PE și este apelată de bootloader-ul UEFI.

Celelalte directoare, cu excepția /usr, fac parte din partiția rădăcină, care este accesibilă pentru scriere și păstrată între reporniri și actualizări. Conținutul partiției rădăcină este obligatoriu criptat folosind LUKS2, ceea ce impune cerințe mai ridicate pentru hardware. FS-ul rădăcină criptat este creat în timpul primei porniri sau după resetarea la setările din fabrică. În mod implicit, se creează o cheie goală, care permite deblocarea automată a partiției criptate. În cadrul asistentului de configurare inițială, utilizatorului i se oferă opțiunea de a stabili o parolă pentru decriptare.

Setările implicite sunt păstrate în cadrul imaginii de sistem în directorul /usr/share/factory/etc. La prima pornire, se creează linkuri simbolice în directorul /etc către toate fișierele din /usr/share/factory/etc, cu excepția fișierelor passwd, group, shadow, fstab, machine-id și hostname. Dacă este necesară modificarea setărilor în timpul utilizării, linkul simbolic este înlocuit cu o copie a fișierului.

Actualizările se instalează prin înlocuirea întregului sistem de imagini. Pe suport se creează două partitii identice – activă și pasivă. Noua actualizare se instalează în partitia pasivă, fără a afecta funcționarea celei active. După verificarea corectitudinii actualizării instalate și restartul reușit, partițiile își schimbă rolurile – partitia cu actualizarea devine activă, iar vechea partitie activă trece în mod pasiv și așteaptă instalarea următoarei actualizări. Dacă după actualizare apar probleme la pornire, se realizează o revenire automată la versiunea anterioară a sistemului.

Această abordare simplifică semnificativ depanarea și diagnosticarea problemelor, deoarece dezvoltatorii pot reproduce cu exactitate starea în care s-a produs defectarea, fără a fi necesară reproducerea compunerii sistemului utilizatorului la nivelul pachetelor individuale și luând în considerare combinațiile de versiuni ale pachetelor existente. Un dezavantaj este cerințele mai mari de hardware, ceea ce nu va permite utilizarea Duranium pe toate dispozitivele suportate în postmarketOS.

Componența imaginii de sistem Duranium este formată dintr-o bază de pachete unică cu postmarketOS, bazată pe Alpine Linux, biblioteca standard C Musl și un set de utilitare BusyBox. Lansările postmarketOS și Duranium sunt aproape identice ca formulă, dar diferă în metodele de livrare a sistemului. Pentru generarea, instalarea și actualizarea imaginilor de sistem sunt folosite componentele systemd-sysupdate, systemd-repart și systemd-verity-setup.

Aplicatiile suplimentare sunt instalate în format Flatpak sau folosind managerul de pachete Coldbrew. Coldbrew permite instalarea pachetelor din repozitoarele Alpine Linux în directorul utilizatorului. La pornire, aceste pachete sunt izolate cu ajutorul instrumentului bubblewrap.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster