Gli sviluppatori di GNOME OS, una distribuzione sperimentale per sviluppatori e tester di GNOME che consente di valutare lo stato di sviluppo dell'ambiente desktop, esplorare le nuove funzionalità emergenti e testare le proprie applicazioni nelle versioni beta di GNOME, hanno annunciato il passaggio all'utilizzo del componente systemd-sysupdate per organizzare gli aggiornamenti atomici del sistema. L'obiettivo del cambiamento è quello di adattare le build notturne di GNOME OS per il controllo quotidiano della qualità dello sviluppo di GNOME.
Attualmente, per formare e aggiornare il contenuto della partizione di root di GNOME OS viene utilizzato il sistema OSTree, che consente l'aggiornamento atomico dell'immagine di sistema da un repository simile a Git. La partizione di sistema è montata in modalità di sola lettura, e gli aggiornamenti vengono forniti in piccole porzioni che contengono le modifiche rispetto allo stato precedente (aggiornamenti delta), il che consente, ad esempio, di tornare facilmente a una delle versioni precedenti durante il processo di testing di GNOME e verificare se l'errore riscontrato si manifesta in essa.
Lo strumento systemd-sysupdate è disponibile a partire da systemd 251 ed è progettato per rilevare automaticamente, scaricare e installare aggiornamenti utilizzando un meccanismo atomico di sostituzione di partizioni, file o directory. Systemd-sysupdate consente di utilizzare due partizioni/file/directory indipendenti, una delle quali contiene la risorsa attualmente in uso, mentre l'altra riceve il nuovo aggiornamento, dopodiché le partizioni/file/directory vengono scambiate.
Tra i vantaggi del passaggio di GNOME OS da OSTree a systemd-sysupdate si menziona la possibilità di impiegare un processo di avvio verificato, in cui la catena di fiducia si estende dal bootloader ai componenti di sistema della distribuzione. Inoltre, l'uso di systemd-sysupdate permetterà di ottenere un'integrazione più completa con systemd e di sfruttare un'architettura che gestisce le immagini di sistema pronte come componenti indivisibili.
Esperimenti per la creazione di immagini sysupdate con supporto per UEFI Secure Boot sono stati condotti già nell'autunno dello scorso anno. Attualmente sono già disponibili due varianti delle build di GNOME OS, create sia su base OSTree che utilizzando systemd-sysupdate. Rimane da garantire l'integrazione di sysupdate con GNOME e fornire un'interfaccia grafica per l'aggiornamento del sistema.
Attualmente, la gestione degli aggiornamenti basata su sysupdate avviene solo tramite riga di comando e richiede privilegi di root. Per l'integrazione con GNOME, è stato già sviluppato un servizio D-Bus, che, combinato con Polkit, consente di gestire gli aggiornamenti da parte di un utente non privilegiato. Il servizio D-Bus in fase di sviluppo e l'utilità associata updatectl sono destinati a essere inclusi nel pacchetto principale di systemd.
In futuro si prevede di aggiungere funzionalità di gestione degli aggiornamenti basati su sysupdate nell'applicazione GNOME Software, per la quale è stato preparato un plugin sperimentale gs-plugin-systemd-sysupdate che implementa la possibilità di aggiornare il sistema operativo tramite il servizio DBus verso sysupdate. Tra le questioni ancora da risolvere, si evidenzia la necessità di aggiungere supporto per gli aggiornamenti delta in systemd-sysupdate (attualmente le immagini vengono scaricate solo integralmente) e creare strumenti per mantenere parallelamente più versioni del sistema operativo basate su rami stabili e in sviluppo di GNOME.
Fonte: opennet.ru
