Le novità di Ubuntu 16.04 LTS
Introduzione
La più recente versione del sistema operativo Ubuntu Long Term Support, versione 16.04 (Xenial Xerus), è stata rilasciata il 21 aprile 2016.
Questa guida è intesa essere una breve panoramica sulle nuove funzionalità e sulle modifiche significative al sistema nel suo complesso, rispetto alla 14.04 LTS, dal punto di vista di un amministratore di sistema. Si ispira alle note ufficiali di rilascio di Xenial Xerus, assieme ad una varietà di altre fonti.
Che cos’è una release con supporto a lungo termine?
Mentre le nuove versioni di Ubuntu Desktop e Server escono ogni sei mesi, le versioni LTS vengono rilasciate ogni due anni, ed il loro supporto è garantito da Canonical per cinque anni dopo il rilascio. Ciò significa che costituiscono una piattaforma stabile per poter essere impiegata in sistemi di produzione e per ricevere gli aggiornamenti di sicurezza e correzioni di bug critici per una finestra di tempo considerevole. 16.04 continuerà ad essere aggiornata fino all’aprile del 2021.
Sul wiki di Ubuntu si può leggere un elenco dettagliato del ciclo di rilascio di Ubuntu LTS.
Il sistema di init systemd
Gli utenti di Ubuntu 15.10 o di Debian Jessie potrebbero avere già familiarità con systemd, che ora è il sistema di init di default per la maggior parte delle principali distribuzioni GNU/Linux. Su Ubuntu, systemd soppianta Upstart di Canonical.
Se fate uso di script di init personalizzati o se dovete configurare periodicamente dei servizi a lunga durata, è necessario conoscere le basi di systemd. Per una panoramica, leggete I fondamenti di systemd: lavorare con i Servizi, le Unità ed il Journal.
Il kernel
Ubuntu 16.04 è basato sulla serie 4.4 del kernel Linux , rilasciato nel mese di gennaio del 2016.
Su DigitalOcean, le nuove Droplet [le VPS di DigitalOcean, NdT] con la 16.04 e quelle aggiornate dalla 15.10 saranno in grado di gestire ed aggiornare i propri kernel. Questo non è il caso delle Droplet aggiornate da Ubuntu 14.04 LTS.
SSH
Ubuntu 16.04 usa di default OpenSSH 7.2p2, che disabilita la versione 1 del protocollo e non consente l’utilizzo di chiavi DSA (ssh-dss). Se state utilizzando una vecchia chiave o se dal vostro sistema siete obbligati a comunicare con un server SSH legacy, dovreste leggere le note di rilascio di SSH . Anche se sono ancora in uso relativamente poche chiavi DSA, c’è qualche possibilità che sia necessario generare nuove chiavi prima di effettuare un aggiornamento o la disabilitazione dell’autenticazione SSH basata su password, su un nuovo server Ubuntu 16.04.
Per una panoramica sulla generazione e sull’uso di nuove chiavi SSH, date un’occhiata a Come configurare l’autenticazione di SSH basata su chiavi su un server Linux .
I package, la distribuzione dei programmi ed i contenitori
Apt
Al suo interno, Ubuntu è ancora basata sul progetto Debian e, per estensione, i pacchetti .deb
sono gestiti da Apt, l’Advanced Package Tool.
Gli strumenti Apt non sono cambiati molto, anche se Ubuntu 16.04 ha aggiornato ad Apt 1.2 che include alcuni miglioramenti di sicurezza. Per molte delle operazioni di gestione dei pacchetti, gli utenti che migrano da versioni più vecchie possono anche prendere in considerazione l’uso del comando apt
al posto dei tradizionali apt-get
ed apt-cache
. Maggiori dettagli sul comando apt
possono essere trovati su Fondamenti sulla gestione dei pacchetti: apt, yum, dnf, pkg.
Pacchetti Snap
Anche se la maggior parte degli utenti di Ubuntu in ambienti server continuerà a fare affidamento su Apt per la gestione dei pacchetti, 16.04 include la disponibilità di un nuovo tipo di pacchetto chiamato snap, che nasce dagli sforzi per lo sviluppo di Ubuntu mobile e dall’Internet of Things. Benché sia improbabile che snap diventi un fattore importante per le implementazioni dei server nelle prime fasi del ciclo di vita di 16.04, Canonical ha ripetutamente indicato che snap rappresenta il futuro del packaging per Ubuntu; il suo sviluppo merita sicuramente di essere seguito.
LXD
LXD è un “container hypervisor” costruito intorno a LXC che a sua volta è un’interfaccia alle funzioni container del kernel Linux. Potete leggere una introduzione a LXC e una guida introduttiva a LXD su linuxcontainers.org.
ZFS
Ubuntu 16.04 include un modulo del kernel nativo per ZFS, un file system avanzato che nasce negli anni 2000 in Sun Microsystems ed attualmente sviluppato per i sistemi Open Source sotto l’ombrello del progetto OpenZFS. ZFS combina i ruoli tradizionali di un filesystem e di un volume manager ed offre molte caratteristiche interessanti.
La decisione di distribuire ZFS non è stata priva polemiche se guardiamo le critiche per i problemi di licenza della Software Conservancy e della Free Software Foundation. Tuttavia, ZFS è una tecnologia promettente con un lungo sviluppo alle spalle, con una considerazione particolarmente importante per i file system, che di solito richiedono anni di lavoro prima di essere considerati abbastanza maturi per un ampio utilizzo in produzione. Gli amministratori di sistema vorranno presumibilmente seguire la sua adozione nell’ecosistema Linux, sia da un punto di vista tecnico che da un punto di vista legale.
Potete leggere di più su ZFS su Ubuntu sul wiki di Ubuntu.
Runtime dei linguaggi e strumenti di sviluppo
Go 1.6
Go 1.6 è stato rilasciato all’inizio di quest’anno ed ha i package per Ubuntu 16.04.
PHP 7
I pacchetti PHP di Ubuntu 16.04 di default sono ora quelli della versione 7.0. PHP 7 offre importanti miglioramenti delle prestazioni rispetto ai suoi predecessori insieme a nuove funzionalità come le dichiarazioni del tipo degli scalari per i parametri delle funzioni e per i valori restituiti. Vengono anche deprecate alcune caratteristiche legacy e rimosse un certo numero di estensioni. Se si sta sviluppando o distribuendo del software PHP 5, prima di migrare l’applicazione possono essere necessarie modifiche al codice o aggiornamenti alle release più recenti.
Per un elenco dettagliato delle modifiche date un’occhiata a Prepararsi a PHP 7 e alla Guida ufficiale sulla migrazione a PHP.
Python 3.5
Ubuntu 16.04 viene fornito di default con Python 3.5.1 installato come binario con il nome di python3
. Python 2 è ancora installabile utilizzando il pacchetto python
:
$ sudo apt-get install python
Ciò può essere necessario per supportare il codice esistente di cui non è stato ancora realizzato il porting.
Gli utenti dell’editor Vim dovrebbero notare che la build di default di Vim ora utilizza Python 3; perciò i plugin che si basano su Python 2 potrebbero non funzionare.
Conclusioni
Anche se questa guida non è esaustiva, ora dovreste avere un’idea generale dei principali cambiamenti e delle nuove funzionalità di Ubuntu 16.04.
Il percorso più sicuro nella migrazione verso una nuova ed importante versione è di solito quello di installare la distribuzione da zero, configurare i servizi con un attento test in corso d’opera e migrare i dati delle applicazioni o degli utenti separatamente. Per alcune classiche configurazioni si consiglia di seguire uno o più di questi link:
- Configurazione iniziale del server con Ubuntu 16.04
- Come aggiungere ed eliminare utenti su Ubuntu 16.04
- Come installare lo stack Linux, Apache, MySQL, PHP (LAMP) su Ubuntu 16.04
- Come installare Nginx su Ubuntu 16.04
- Come installare Linux, Nginx, MySQL, PHP (lo stack LEMP) su Ubuntu 16.04
È inoltre possibile leggere Come aggiornare ad Ubuntu 16.04 LTS per i dettagli sul processo di aggiornamento di un sistema già esistente.