Canonical ha presentato il rilascio di Ubuntu Core 26, una versione compatta della distribuzione Ubuntu, adattata per l'uso su dispositivi IoT, in container, attrezzature consumer e industriali. Ubuntu Core viene fornito come un'immagine monolitica indivisibile del sistema di base, senza suddivisione in singoli pacchetti deb. Le immagini di Ubuntu Core 26, il cui contenuto è sincronizzato con il database dei pacchetti di Ubuntu 26.04, sono preparate per sistemi x86_64 e ARM64. Il tempo di supporto per il rilascio sarà di 15 anni.
Ubuntu Core serve da base per l'esecuzione di componenti aggiuntivi e applicazioni, che vengono presentati come estensioni autosufficienti nel formato snap. I componenti di Ubuntu Core, inclusi il sistema base, il kernel Linux e le estensioni di sistema, sono anch'essi forniti in formato snap e gestiti dallo strumento snapd. La tecnologia Snappy consente di formare l'immagine del sistema come un'unica entità, senza la suddivisione in singoli pacchetti. Invece dell'aggiornamento graduale a livello di singoli pacchetti deb, Ubuntu Core utilizza un meccanismo di aggiornamento atomico dei pacchetti snap e del sistema base, simile a Fedora Atomic, ChromeOS, Endless e openSUSE Leap Micro. Durante l'aggiornamento dell'ambiente base e dei pacchetti snap è possibile ripristinare lo stato a una versione precedente in caso di problemi rilevati dopo l'aggiornamento.
Per garantire la sicurezza, ogni componente del sistema viene verificato tramite firma digitale, il che contribuisce a proteggere la distribuzione da modifiche nascoste o dall'installazione di pacchetti snap non verificati. I componenti forniti in formato Snap vengono isolati tramite AppArmor e Seccomp, creando un'ulteriore barriera di protezione del sistema in caso di compromissione di singole applicazioni. Il sistema base include solo il set minimo necessario di applicazioni, riducendo così non solo la dimensione dell'ambiente di sistema, ma contribuendo anche a migliorare la sicurezza riducendo i vettori possibili per attacchi.
Il file system di base viene montato in modalità di sola lettura. È possibile utilizzare la crittografia dei dati sul supporto con TPM. Gli aggiornamenti vengono rilasciati regolarmente, forniti in modalità OTA (over-the-air) e sono sincronizzati con il contenuto di Ubuntu 26.04. Per ridurre il traffico, gli aggiornamenti vengono forniti in forma compressa e includono solo le modifiche rispetto all'aggiornamento precedente (aggiornamenti delta). L'automazione dell'installazione degli aggiornamenti risolve i problemi di sicurezza dei sistemi utilizzati su dispositivi embedded.
Grazie alla separazione logica del sistema di base dalle applicazioni, gli sviluppatori di Ubuntu si occupano dell'aggiornamento della base di codice di Ubuntu Core, mentre la responsabilità per la pertinenza delle applicazioni aggiuntive ricade sui loro sviluppatori. Questo approccio consente di ridurre i costi di manutenzione dei prodotti il cui ambiente software è basato su Ubuntu Core, poiché ai loro produttori non è richiesto di occuparsi del rilascio e della distribuzione degli aggiornamenti di sistema e possono concentrarsi solo sui propri componenti specifici.
Novità principali:
- È stato implementato un nuovo sistema di build basato sugli strumenti di Chisel, che consente di dividere e ridurre i pacchetti Debian al fine di fornire solo i file più necessari. Chisel offre la possibilità di manipolare non pacchetti interi, ma slice (sottogruppi di pacchetti) - set di file formati in base al contenuto e ai metadati del pacchetto. Ogni slice può avere il proprio contenuto e il proprio set di dipendenze strettamente legato ad altri slice. Ogni file nel file system di Ubuntu Core è ora legato a uno slice e a un pacchetto con codice sorgente, migliorando la verifica dell'integrità e il tracciamento delle vulnerabilità. L'adozione del nuovo sistema di build ha permesso di ridurre le dimensioni dell'immagine di sistema di base del 7%.
- Il tempo di installazione degli aggiornamenti è stato ridotto grazie all'uso del formato snap-delta, che diminuisce la dimensione dei dati da scaricare per la maggior parte dei pacchetti snap. Ad esempio, la dimensione dei file relativi all'aggiornamento dei pacchetti snap di base è scesa da 16 a 1.5 MB.
- È stato garantito il rispetto delle normative della legge europea CRA (Cyber Resilience Act), che introduce responsabilità legali per la violazione dei requisiti di sicurezza.
- È stata aggiunta la possibilità di applicare la tecnologia Livepatch per apportare correzioni al kernel Linux in funzione senza riavviare e senza interrompere il lavoro delle applicazioni.
- È stata garantita l'integrazione con la strumentazione COS (Canonical Observability Stack), basata sul motore di orchestrazione Juju e sulla piattaforma Kubernetes. Ubuntu Core può ora inviare log e metriche ai sistemi di monitoraggio centralizzati basati su Grafana, Loki e Prometheus.
- È stata aggiunta la supporto per componenti che consentono agli sviluppatori di pacchetti snap di distribuire risorse aggiuntive di grandi dimensioni o non obbligatorie, come dati di debug, file di traduzione e driver opzionali, separatamente dal pacchetto snap principale per ridurre le dimensioni dell'installazione di base. Il componente è formato come immagine in formato squashfs, montata nell'ambiente del pacchetto snap.
- Nell'API REST di Snapd è stata garantita la compatibilità con la specifica OpenAPI.
- Nel display server Ubuntu Frame, che consente di creare ambienti grafici integrati (chioschi internet, terminali di self-service, bacheche informative, insegne digitali), ha aggiunto la possibilità di visualizzare l'interfaccia di più applicazioni su un unico schermo. È stata aggiunta la possibilità di utilizzare l'accelerazione GPU nelle applicazioni.
- È stata aggiunta la configurazione di sistema interface.allow-auto-connection per definire le regole di connessione automatica delle interfacce.
- È stato aggiunto il supporto per il meccanismo Confdb per la definizione centralizzata delle impostazioni, non legate a specifici pacchetti snap e dispositivi.
- L'interprete Python è stato escluso dal set di base dei pacchetti snap, che ora deve essere installato come plugin separato.
Fonte: opennet.ru
