Introduzione ad ubuntu core
-
Upload
marco-trevisan -
Category
Technology
-
view
104 -
download
0
Transcript of Introduzione ad ubuntu core
Marco TrevisanSoftware Engineer - Ubuntu Desktop Team
[email protected]@3v1n0 · +MarcoTrevisan · irc://Trevinho
Snappy, ovvero
Open Design Conference 2017
We are the company behind Ubuntu.
Ubuntu e Canonical
EMPLOYEES
800+COUNTRIES
49+FOUNDED
2004
Canonical sviluppa il sistema operativo dal 2004, ed adesso sta estendendo Ubuntu su dispositivi mobili ed IoT.
Ubuntu è un sistema operativo attualmente disponibile su server, cloud personal computer, telefoni e dispositivi IoT.
Ubuntu Linux, il più utilizzato per lo sviluppo
Source: Eclipse Foundation + StackOverflow survey
Mint Fedora Debian Other Ubuntu
2% 2%
3%
6%
17%
dalla nuvola alle cose
Ubuntu già da vita a dispositivi IoT
Smart drone controllers
Advanced robotics
Home gateways Industrial gateways
Smart drone controllers
Advanced robotics
Home gateways Edge gateways Digital Signage
Digital Signage
Le sfide dell’IoT
Sicurezza Aggiornamenti Monetizzazione
1 2 3
Ma siam davvero sicuri?!?
Hackers remotely kill a jeep on the highway – with me in it.Andy Greenberg
Aggiornamenti, non raffreddori!
Nest thermostat glitchleaves users in the coldNick Bilton
Fosse solo hardware…Accessori, tools e servizi indotti.
E magari facciamoci anche cassa!
Dispositivi Linux
distribuitiindirizzatieconomci
vulnerabile
Difficile da gestire e riparare
Server Linux
centralizzatosupportato
costosoridondante
Economico da gestire e riparare
source: https://www.flickr.com/photos/mom2sofia/8394217408/in/photostream/
source: https://www.reddit.com/r/funny/comments/2ad0s8/apparently_ace_ventura_is_my_new_fedex_guy/
source: http://nathantracy.net/
A minimal, secure, transactional Ubuntu designed for IoT
Ubuntu Core: piccolo, sicuro, veloce
Tutto il meglio di Ubuntu in uno spazio nato per tutti i dispositivi
Aggiornamenti transizionali
Sistema di pacchetti semplice da creare, mantenere e fare il deploy
Sicurezza in primo piano
Mettiamolo a dieta quest’Ubuntu!
DIMENSIONE DELL’IMMAGINE
776 MB
Ubuntu Core CentOS Atomic Host 7
350 MB
Abbiamo gli snap!
Snap - pacchetti Linux universali
Distro supportate Snap / framework
Sicuri | Facili da creare | Transazionali | Appstore-friendly
Ubuntu classic Ubuntu Core
Kernel 4.4
Kernel 4.4
Applicazoini confinate come snap, senza dipendenze
OS minimale come snap
Kernel, anche questo uno snap
Pacchetto di Sistema
App B Libreria DriverApp A
Legenda
Interazione tra snap
app snapapp snap
app writable area
app writable area
Le app sono confinate ed isolate
app snap
app writable area
app snap
app writable area
Aggiornamenti Atomici: Apps, OS e kernel
DatiArea scrivibile
Snap originarioAggiornamento
Dati aggiornatiArea scrivibile
Snap aggiornato
Dati originariArea scrivibile
I dati precedenti vengono mantenuti
sul device
Snap orgiginario
Dati precedentiArea scrivibile
Snap precedente
Rollback in caso di fallimento
Un appstore per tutti i gusti...
… Con tutti i numeri alla mano
Dal codice al metallo...
Snapcraft → Build → Store → Deploy: Tutto in mano ai developers!
● Docker e LXC sono container○ Un unico processo con una gestione a sé○ Kernel condiviso, proprio filesystem
● Snap si occupa di confinare○ Le app nei pacchetti snap sono avviate e
gestite dal kernel come gli altri processi nel sistema
○ Kernel/rete condivisi, filesystem solo parzialmente proprio
○ Processi controllati dai tool classici○ Non c’è bisogno di fare routing○ I file sono accessibili direttamente (se
consentito)○ Multi-utente, un’unica istanza per app
LXD
snap
Contenere o Confinare, questo è il problema!
Perfetto per tutti i dispositivi
I Vendor controllano la distribuzione delle loro app direttamente
Platform condivise per estendere il sistema operativo con librerie riutilizzabili da più snap
Il sistema di base è Ubuntu: per sempre libero e gratuito.
Hardware alla mano...
Processori
Intel x86 or ARMv7/v8 (Cortex-A7)
Memoria
256MB+
Flash
4GB System storage
Connettività disponibile
WiFi, Ethernet, USB, BT4.0 BLE, …
Board supportate ufficialmente
Raspberry Pi, Dragonboard, Intel DUC e Joule, Artik, …
# Prerequisito: installa snapd nel sistema# http://snapcraft.io
# Installa ed esegui il tuo primo snap$ snap find hello$ sudo snap install hello$ hello$ snap list
# Snap può fornire servizi e diversi binari$ hello$ hello.universe
# Aggiorna gli snap nel sistema (automatico)$ sudo snap refresh
# Passa alla versione di “hello” di un altro# canale$ sudo snap refresh hello --beta$ hello
# Rimuove uno snap$ sudo snap remove hello