La società Canonical ha pubblicato il rilascio di Ubuntu Core 22, una versione compatta della distribuzione Ubuntu, adattata per l'uso su dispositivi Internet of Things (IoT), in contenitori, attrezzature di consumo e industriali. Ubuntu Core è fornito in forma di un'immagine monolitica indivisibile del sistema di base, in cui non viene applicata una suddivisione in singoli pacchetti deb. Le immagini di Ubuntu Core 22, il cui contenuto è sincronizzato con il repository dei pacchetti di Ubuntu 22.04, sono preparate per sistemi x86_64, ARMv7 e ARMv8. Il periodo di supporto per questa versione è di 10 anni.
Ubuntu Core funge da base per l'esecuzione di componenti e applicazioni aggiuntive, che sono presentate come estensioni autonome nel formato snap. I componenti di Ubuntu Core, inclusi il sistema di base, il kernel Linux e le estensioni di sistema, sono anch'essi forniti nel formato snap e gestiti tramite lo strumento snapd. La tecnologia Snappy consente di creare un'immagine di sistema come un'unica entità, senza suddivisione in pacchetti separati.
Invece dell'aggiornamento graduale a livello di singoli pacchetti deb, Ubuntu Core utilizza un meccanismo di aggiornamento atomico dei pacchetti snap e del sistema di base, analogo a Atomic, ChromeOS, Endless, CoreOS e Fedora Silverblue. Durante l'aggiornamento dell'ambiente di base e dei pacchetti snap, è possibile ripristinare lo stato a una versione precedente in caso di problemi emersi dopo l'aggiornamento. Attualmente, il catalogo SnapCraft conta più di 4.500 pacchetti snap.
Per garantire la sicurezza, ogni componente del sistema viene verificato tramite firma digitale, il che consente di proteggere la distribuzione da modifiche non autorizzate o dall'installazione di pacchetti snap non verificati. I componenti forniti in formato Snap sono isolati tramite AppArmor e Seccomp, creando un ulteriore livello di protezione del sistema in caso di compromissione di singole applicazioni. Il sistema di base include solo il set minimo di applicazioni necessarie, il che ha non solo ridotto le dimensioni dell'ambiente di sistema, ma ha anche migliorato la sicurezza riducendo i possibili vettori di attacco.
Il file system di base è montato in modalità di sola lettura. È possibile utilizzare la crittografia dei dati sul supporto con TPM. Gli aggiornamenti vengono rilasciati regolarmente, forniti tramite modalità OTA (over-the-air) e sincronizzati con la distribuzione di Ubuntu 22.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 del sistema nell'uso 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:
- È stata proposta una concettualizzazione di set di pacchetti validati (Validation sets), che consentono di definire un insieme di pacchetti snap e le loro versioni, che possono essere installati e aggiornati solo insieme. I set di pacchetti validati possono essere utilizzati per implementare restrizioni che consentono l'installazione solo di pacchetti snap specifici, per distribuire pacchetti aggiuntivi testati e validati, o per semplificare la gestione delle dipendenze.
- Strumenti sono stati aggiunti per aggiornare l'ambiente Ubuntu Core 20 alla versione 22 senza reinstallazione.
- È stata implementata la possibilità di ripristinare la configurazione allo stato originale (reset di fabbrica).
- È stato fornito supporto per gruppi di quote per limitare le risorse CPU e memoria collegate a specifici gruppi di servizi snap.
- È stato aggiunto il supporto per il toolkit MicroK8s, che offre una versione semplificata della piattaforma di orchestrazione dei container Kubernetes.
- È stata proposta una versione del pacchetto con il kernel Linux, che include patch PREEMPT_RT e orientato all'uso in sistemi operativi in tempo reale.
- È stato aggiunto il supporto per il toolkit MAAS (Metal-as-a-Service) per il rapido deployment di configurazioni su più sistemi.
- È stato aggiunto il supporto per cloud-init per la configurazione del sistema durante la fase di avvio.
Fonte: opennet.ru
