Capitolo 2. Cosa c'è di nuovo in Debian 9

Indice

2.1. Architetture supportate
2.2. Cosa c'è di nuovo nella distribuzione?
2.2.1. CD, DVD e BD
2.2.2. Sicurezza
2.2.3. GCC versions
2.2.4. MariaDB sostituisce MySQL
2.2.5. Migliorie ad APT e alla struttura degli archivi
2.2.6. Nuovo mirror deb.debian.org
2.2.7. Passaggio a GnuPG «moderno»
2.2.8. Un nuovo archivio per i simboli di debug
2.2.9. Nuovo metodo per assegnare nomi alle interfacce di rete
2.2.10. Novità dal Blend Debian Med
2.2.11. Il server Xorg non richiede più di essere root

Il Wiki contiene ulteriori informazioni su questo argomento.

2.1. Architetture supportate

Debian 9 introduce una nuova architettura:

  • MIPS little-endian a 64 bit (mips64el)

Debian 9 purtroppo rimuove il supporto per le seguenti architetture:

  • PowerPC (powerpc)

Le seguenti architetture sono ufficialmente supportate da Debian 9:

  • PC a 32 bit (i386) e PC a 64 bit (amd64)

  • ARM a 64 bit (arm64)

  • ARM EABI (armel)

  • ARMv7 (EABI hard-float ABI, armhf)

  • MIPS (mips (big-endian) e mipsel (little-endian))

  • MIPS little-endian a 64 bit (mips64el)

  • PowerPC little-endian a 64 bit (ppc64el)

  • IBM System z (s390x)

Maggiori informazioni sullo stato dei port e informazioni specifiche sul port per la propria architettura sono disponibili nelle pagine web relative ai port di Debian.

2.2. Cosa c'è di nuovo nella distribuzione?

Ancora una volta la nuova versione di Debian contiene molto più software rispetto alla precedente, jessie; la distribuzione include più di 15346 nuovi pacchetti, per un totale di oltre 51687 pacchetti. La maggior parte del software nella distribuzione è stata aggiornata: più di 29859 pacchetti software (corrispondenti al 57% di tutti i pacchetti in jessie). Inoltre, un notevole numero di pacchetti (oltre 6739, il 13% dei pacchetti in jessie) è stato rimosso dalla distribuzione per diversi motivi. Non ci saranno aggiornamenti per questi pacchetti ed essi saranno marcati come «obsoleti» nelle interfacce dei programmi di gestione dei pacchetti; vedere Sezione 4.8, «Pacchetti obsoleti».

Debian viene ancora una volta fornita con molti ambienti e applicazioni desktop. Fra l'altro include ora gli ambienti desktop GNOME 3.22, KDE Plasma 5.8, LXDE, LXQt 0.11, MATE 1.16 e Xfce 4.12.

Anche le applicazioni per la produttività sono state aggiornate, incluse le suite per l'ufficio:

  • LibreOffice viene aggiornato alla versione 5.2;

  • Calligra viene aggiornato a 2.9.

Tra gli aggiornamenti di altre applicazioni per il desktop è incluso l'aggiornamento di Evolution a 3.22.

Fra i molti altri, questa versione include anche i seguenti aggiornamenti software:

PacchettoVersione in 8 (jessie)Versione in 9 (stretch)
BIND Server DNS9.99.10
Emacs24.424.5 e 25.1
Exim, server predefinito per la posta elettronica4.844.88
GNU Compiler Collection come compilatore predefinito4.96.3
GnuPG1.42.1
Inkscape0.480.91
la libreria C GNU2.192.24
Immagine del kernel Linuxserie 3.16serie 4.9
MariaDB10.010.1
Nginx1.61.10
OpenJDK78
OpenSSH6.7p17.4p1
Perl5.205.24
PHP5.67.0
MTA Postfix2.113.1
PostgreSQL9.49.6
Python 33.43.5
Samba4.14.5
Vim78

2.2.1. CD, DVD e BD

La distribuzione ufficiale Debian richiede un numero variabile fra 12 e 14 DVD di binari (secondo l'architettura) e 12 DVD di sorgenti. Inoltre vi è un DVD multi-architettura, con un sottoinsieme del rilascio per le architetture amd64 e i386 e il codice sorgente. Debian è anche rilasciata come immagini Blu-ray (BD) e Blu-ray a doppio strato (DLBD) per le architetture amd64 e i386 e anche per il codice sorgente. Debian veniva in passato rilasciata anche come un grande insieme di CD per ciascuna architettura, ma con il rilascio stretch questi sono stati abbandonati.

2.2.2. Sicurezza

Per il rilascio stretch la versione Debian del compilatore GNU GCC 6 ora compila in modo predefinito «eseguibili indipendenti dalla posizione» (PIE, Position Independet Executable). Di conseguenza la stragrande maggioranza di tutti gli eseguibili ora ha il supporto per la ASLR («Address Space Layout Randomization», randomizzazione della disposizione degli spazi di indirizzo) che alleggerisce svariati attacchi che sono ora probabilistici invece che deterministici.

2.2.3. GCC versions

Debian stretch includes only version 6 of the GNU GCC compiler, which may impact users expecting version 4.x or 5.x to be available. See the GCC5 and GCC6 wiki pages for more information about the transition.

2.2.4. MariaDB sostituisce MySQL

MariaDB è ora la variante predefinita di MySQL in Debian, nella versione 10.1. Il rilascio stretch introduce un nuovo meccanismo per cambiare la variante predefinita, usando i metapacchetti creati dal paccheto sorgente di mysql-defaults. Per esempio, l'installazione del metapacchetto default-mysql-server installa mariadb-server-10.1. Per gli utenti che avevano mysql-server-5.5 o mysql-server-5.6, questi vengono rimossi e sostituiti con l'equivalente di MariaDB. In modo simile l'installazione di default-mysql-client installa mariadb-client--10.1.

[Importante]Importante

Notare che i formati di file dei dati binari del database non sono compatibili all'indietro, perciò una volta fatto l'aggiornamento a MariaDB 10.1 non si potrà tornare indietro a una versione precedente di MariaDB o MySQL a meno di non avere un dump appropriato del database. Perciò, prima dell'aggiornamento, creare backup di tutti i database importanti usando uno strumento appropriato come mysqldump.

I pacchetti virtual-mysql-* e default-mysql-* continueranno ad esistere. MySQL continua ad essere mantenuto in Debian, nel rilascio unstable. Vedere la pagina del wiki del Team Debian di MySQL per informazioni aggiornate sul software relativo a mysql disponibile in Debian.

2.2.5. Migliorie ad APT e alla struttura degli archivi

Il gestore di pacchetti apt ha visto diversi miglioramenti da jessie in poi. La maggior parte di essi valgono anche per aptitude. Quella che segue è una selezione di alcuni dei principali:

Sul fronte della sicurezza, APT ora rifiuta in modo predefinito i codici di controllo più deboli (es. SHA1) e cerca di scaricare come utente non privilegiato. Per maggiori informazioni fare riferimento a Sezione 5.3.2.3, «Nuovi requisiti per repository APT» e Sezione 5.3.2.1, «APT ora recupera i file con un utente non privilegiato (_apt.

Anche i gestori di pacchetti basati su APT hanno avuto svariati miglioramenti che rimuovono il noioso avvertimento «hash sum mismatch» che si verifica quando si esegue apt durante una sincronizzazione del mirror. Ciò grazie alla nuova struttura by-hash che permette ad APT di scaricare i file dei metadati in base all'hash del loro contenuto.

Se si usano repository di terze parti si potrebbero comunque avere saltuariamente questi problemi, se il produttore non fornisce la struttura by-hash. È consigliato raccomandargli di adottare questa modifica della struttura. Una breve descrizione tecnica è disponibile nella descrizione del formato dei repository.

Sebbene possa essere interessante soprattutto per gli amministratori di mirror, APT in stretch può usare record DNS (SRV) per localizzare un backend HTTP. Ciò è utile per fornire un semplice nome DNS e poi gestire backend attraverso DNS invece che usare un servizio «redirector». Questa funzionalità è usata anche dal nuovo mirror Debian descritto in Sezione 2.2.6, «Nuovo mirror deb.debian.org».

2.2.6. Nuovo mirror deb.debian.org

Debian fornisce ora un nuovo servizio aggiuntivo chiamato deb.debian.org. Fornisce il contenuto dell'archivio principale, dell'archivio di sicurezza, dei port e anche il nostro nuovo archivio debug (vedere Sezione 2.2.8, «Un nuovo archivio per i simboli di debug») in un unico nome host facile da ricordare.

Questo servizio si basa sul nuovo supporto per DNS in APT, ma ripiega sull'uso di una regolare redirezione per l'accesso HTTPS o per versioni più vecchie di APT. Ulteriori dettagli sono forniti su deb.debian.org.

Grazie a Fastly e ad Amazon CloudFront per aver sponsorizzato i backend CDN dietro a questo servizio.

2.2.7. Passaggio a GnuPG «moderno»

Il rilascio stretch è la prima versione di Debian ad avere il ramo «Modern» di GnuPG nel pacchetto gnupg. Ciò fornisce la crittografia a curva ellittica, migliori valori predefiniti, un'architettura più modulare e un supporto migliorato per smartcard. Il ramo moderno inoltre non supporta esplicitamente alcuni formati più vecchi noti come difettosi (come PGPv3). Per maggiori informazioni vedere /usr/share/doc/gnupg/README.Debian.

Il ramo «classico» di GnuPG continuerà ad essere fornito come gnupg1 per coloro che ne hanno bisogno ma è ora deprecato.

2.2.8. Un nuovo archivio per i simboli di debug

[Nota]Nota

Questa sezione è interessante soprattutto per gli sviluppatori o se si desidera allegare uno stack trace completo ad una segnalazione di crash.

In passato l'archivio principale Debian includeva i pacchetti contenenti i simboli di debug per librerie e programmi selezionati. Con stretch, la maggior parte di essi è stata spostata in un archivio separato chiamato archivio debian-debug. Questo archivio contiene i pacchetti dei simboli di debug per la stragrande maggioranza di tutti i pacchetti forniti in Debian.

Se si desidera scaricare tali pacchetti di debug includere la riga seguente nelle proprie fonti di APT:

deb http://debug.mirrors.debian.org/debian-debug/ stretch-debug main

In alternativa si possono anche ottenere da snapshot.debian.org.

Una volta abilitati si possono ottenere i simboli di debug per un determinato pacchetto installando pacchetto-dbgsym. Notare che singoli pacchetti potrebbero ancora fornire un pacchetto pacchetto-dbg nell'archivio principale invece che nel nuovo dbgsym.

2.2.9. Nuovo metodo per assegnare nomi alle interfacce di rete

L'installatore e i sistemi di nuova installazione usano un nuovo schema standard per assegnare nomi alle interfacce di rete, invece di eth0, eth1, ecc. Il vecchio metodo di assegnazione dei nomi era affetto da race condition sull'enumerazione che faceva sì che i nomi delle interfacce potessero cambiare in modo inaspettato ed è incompatibile con il montaggio del file system radice in sola lettura. Il nuovo metodo di numerazione si base su più fonti di informazioni, per produrre un risultato più ripetibile. Utilizza numeri di indici forniti da firmware/BIOS e poi cerca i numeri di slot delle schede PCI, producendo nomi come ens0 o enp1s1 (Ethernet) oppure wlp3s0 (wlan). I dispositivi USB, che possono essere aggiunti al sistema in qualsiasi momento, hanno nomi basati sul loro indirizzo MAC Ethernet.

Questa modifica non si applica agli aggiornamenti dei sistemi jessie; l'assegnazione dei nomi continuerà ad essere decisa da /etc/udev/rules.d/70-persistent-net.rules. Per maggiori informazioni vedere /usr/share/doc/udev/README.Debian.gz o la documentazione a monte.

2.2.10. Novità dal Blend Debian Med

Oltre a svariati nuovi pacchetti e aggiornamenti per il software pensato per le scienze della vita e la medicina, il team Debian Med ha nuovamente focalizzato l'impegno sulla qualità dei pacchetti forniti. In un progetto GSoC e un progetto Outreachy due studenti hanno lavorato sodo per aggiungere il supporto per Integrazione Continua (CI) ai pacchetti con le statistiche popularity-contest d'uso più alte. Anche il recente sprint Debian Med in Bucarest si è concentrato sul test dei pacchetti.

Per installare i pacchetti mantenuti dal team Debian Med, installare i metapacchetti chiamati med-* che sono alla versione 3.0.1 per Debian stretch. Visitare le pagine delle attività Debian Med per vedere l'intera gamma del software per biologia e medicina disponibile in Debian.

2.2.11. Il server Xorg non richiede più di essere root

Nella versione di Xorg in stretch è possibile eseguire il server Xorg come utente regolare, invece di root. Ciò riduce il rischio della scalata di privilegi («privilege escalation») usando bug nel server X. Tuttavia per funzionare ha alcuni requisiti:

  • Necessita di logind e libpam-systemd.

  • Il sistema deve avere il supporto per il Kernel Mode Setting (KMS). Perciò può non funzionare in alcuni ambienti di virtualizzazione (ad esempio virtualbox) o se il kernel non ha un driver che supporti la scheda grafica in uso.

  • Necessita di essere eseguito nella console virtuale da cui è stato avviato.

  • Solo il display manager gdm3 supporta l'esecuzione di X come utente non privilegiato in stretch. Gli altri display manager continueranno sempre a eseguire X come root. In alternativa si può anche avviare X manualmente come utente non root in un terminale virtuale usando startx.

Quando in esecuzione come utente regolare, il file di log di Xorg sarà disponibile in ~/.local/share/xorg/.