Il progetto postmarketOS ha presentato Duranium, un'edizione atomica e aggiornabile per smartphone

Gli sviluppatori del progetto postmarketOS, che sviluppa una distribuzione Linux per dispositivi mobili, hanno annunciato la creazione di una variante del sistema che può essere aggiornata in modo atomico. La nuova edizione, chiamata Duranium, è notevole perché fornisce il sistema come un'unica entità, senza suddivisione in pacchetti separati. Si segnala che la nuova variante incarna l'idea che il dispositivo debba semplicemente funzionare, senza che l'utente abbia bisogno di conoscere l'esistenza di un terminale e comprendere le peculiarità del sistema.

L'ambiente di sistema nella sezione /usr è montato in modalità sola lettura utilizzando il file system EROFS ed è verificato ad ogni avvio tramite una firma digitale. La sezione /usr ha una dimensione di 5GB. Per il controllo dell'integrità dei dati nella sezione /usr viene applicato dm-verity, e quando viene rilevata una modifica del contenuto, l'avvio viene bloccato. L'hash di controllo viene integrato nell'immagine unificata UKI (Unified Kernel Image), che combina il loader per il caricamento del kernel da UEFI (UEFI boot stub), l'immagine del kernel Linux e l'ambiente di sistema initrd caricato in memoria, utilizzato per l'inizializzazione iniziale nella fase precedente al montaggio del file system radice. L'immagine UKI è presentata come un unico file eseguibile nel formato PE e viene richiamata dal bootloader UEFI.

Le altre directory, ad eccezione di /usr, fanno parte della sezione radice, accessibile in scrittura e mantenuta tra i riavvii e gli aggiornamenti. Il contenuto della sezione radice è obbligatoriamente criptato utilizzando LUKS2, il che comporta requisiti hardware più elevati. Il file system radice criptato viene creato durante il primo avvio o dopo un ripristino alle impostazioni di fabbrica. Per impostazione predefinita viene creato una chiave vuota, consentendo lo sblocco automatico della sezione criptata. Nel master di configurazione iniziale e nel configuratore, viene proposto all'utente di impostare una password per la decrittazione.

Le impostazioni predefinite vengono memorizzate all'interno dell'immagine di sistema nella directory /usr/share/factory/etc. Durante il primo avvio vengono create nella directory /etc collegamenti simbolici a tutti i file presenti in /usr/share/factory/etc, ad eccezione dei file passwd, group, shadow, fstab, machine-id e hostname. In caso di necessità di modifiche alle impostazioni durante il funzionamento, il collegamento simbolico viene sostituito con una copia del file.

Gli aggiornamenti vengono installati sostituendo l'intero sistema operativo. Vengono creati due partizioni radice identiche sul supporto — attiva e passiva. Il nuovo aggiornamento viene installato nella partizione passiva, senza influenzare il funzionamento di quella attiva. Dopo la verifica della correttezza dell'aggiornamento installato e un riavvio riuscito, le partizioni vengono scambiate — la partizione con l'aggiornamento diventa attiva, mentre la precedente partizione attiva passa a modalità passiva e attende l'installazione del successivo aggiornamento. Se dopo l'aggiornamento si verificano problemi di avvio, viene effettuato un rollback automatico alla versione precedente del sistema.

Questo approccio semplifica notevolmente il debug e la diagnosi dei problemi, poiché gli sviluppatori possono riprodurre con precisione lo stato in cui si è verificato l'errore, senza dover riprodurre la configurazione del sistema utente a livello di singoli pacchetti e considerando le combinazioni di versioni. Lo svantaggio è che ci sono requisiti hardware più elevati, il che non consente di utilizzare Duranium su tutti i dispositivi supportati da postmarketOS.

Il contenuto dell'immagine di sistema Duranium è formato da una base di pacchetti unica con postmarketOS, basata su Alpine Linux, sulla libreria standard C Musl e su un insieme di utilità BusyBox. Le versioni di postmarketOS e Duranium risultano quasi identiche nella composizione, ma differiscono nei metodi di distribuzione del sistema. Per la creazione, installazione e aggiornamento delle immagini di sistema vengono utilizzati i componenti systemd-sysupdate, systemd-repart e systemd-verity-setup.

Le applicazioni aggiuntive vengono installate nel formato Flatpak o utilizzando il gestore di pacchetti Coldbrew. Coldbrew consente di installare pacchetti dai repository di Alpine Linux nella home dell'utente. Al momento dell'avvio, tali pacchetti vengono isolati tramite lo strumento bubblewrap.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster