Note di rilascio per Debian 13 (trixie) *************************************** Il Debian Documentation Project . Questo documento è software libero; è permesso ridistribuirlo e/o modificarlo nei termini della GNU General Public License versione 2, come pubblicato dalla Free Software Foundation. Questo programma è distribuito nella speranza di essere utile, ma SENZA ALCUNA GARANZIA; senza nemmeno garanzia implicita di COMMERCIABILITÀ o di IDONEITÀ PER UN PARTICOLARE SCOPO. Per maggiori dettagli consultare la GNU General Public License. Una copia della GNU General Public License dovrebbe essere stata ricevuta insieme al programma; in caso contrario, scrivere alla Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 (USA). Il testo della licenza può essere consultato anche presso https://www.gnu.org/licenses/gpl-2.0.html e "/usr/share/common- licenses/GPL-2" in sistemi Debian. * 1. Introduzione * 1.1. Segnalare errori in questo documento * 1.2. Fornire resoconti di aggiornamento * 1.3. Sorgenti di questo documento * 2. Cosa c'è di nuovo in Debian 13 * 2.1. Architetture supportate * 2.2. Aree dell'archivio * 2.3. Cosa c'è di nuovo nella distribuzione? * 2.3.1. Desktop e pacchetti noti * 2.3.2. Più pagine di manuale tradotte * 2.3.3. Novità dal Blend Debian Med * 2.3.4. Novità dal Blend Debian Astro * 2.3.5. Secure Boot su ARM64 * 3. Sistema d'installazione * 3.1. Cosa c'è di nuovo nel sistema di installazione? * 3.2. Installazioni cloud * 3.3. Immagini per contenitori e macchine virtuali * 4. Aggiornamenti da Debian 12 (bookworm) * 4.1. Preparazione all'aggiornamento * 4.1.1. Salvare i dati e le informazioni di configurazione * 4.1.2. Informare gli utenti in anticipo * 4.1.3. Preparazione all'indisponibilità dei servizi * 4.1.4. Preparazione per il ripristino * 4.1.5. Preparazione di un ambiente sicuro per l'aggiornamento * 4.2. Partire da una Debian "pura" * 4.2.1. Aggiornamento a Debian 12 (bookworm) * 4.2.2. Aggiornare all'ultimo rilascio minore * 4.2.3. Debian Backports * 4.2.4. Preparare il database dei pacchetti * 4.2.5. Rimuovere pacchetti obsoleti * 4.2.6. Rimozione dei pacchetti non Debian * 4.2.7. Ripulire i file di configurazione rimasti indietro * 4.2.8. Le componenti non-free e non-free-firmware * 4.2.9. La sezione "proposed-updates" (aggiornamenti proposti) * 4.2.10. Fonti non ufficiali * 4.2.11. Disattivare il pinning di APT * 4.2.12. Controllare che gpgv sia installato * 4.2.13. Verifica dello stato dei pacchetti * 4.3. Preparazione dei file source-list per APT * 4.3.1. Aggiunta di fonti internet per APT * 4.3.2. Aggiunta di fonti per APT da mirror locale * 4.3.3. Aggiunta di fonti per APT da supporti ottici * 4.4. Aggiornare i pacchetti * 4.4.1. Registrazione della sessione * 4.4.2. Aggiornamento della lista dei pacchetti * 4.4.3. Accertarsi di avere spazio disponibile a sufficienza per l'aggiornamento * 4.4.4. Fermare i sistemi di monitoraggio * 4.4.5. Aggiornamento minimo del sistema * 4.4.6. Aggiornamento del sistema * 4.5. Possibili problemi durante l'aggiornamento * 4.5.1. Full-upgrade fallisce con l'errore "Impossibile eseguire immediatamente la configurazione" * 4.5.2. Rimozioni attese * 4.5.3. Conflitti e pre-dipendenze cicliche * 4.5.4. Conflitti tra file * 4.5.5. Modifiche alla configurazione * 4.5.6. Cambiare la sessione sulla console * 4.6. Aggiornare il kernel e i pacchetti collegati * 4.6.1. Installazione di un metapacchetto del kernel * 4.7. Preparazione per il prossimo rilascio * 4.7.1. Eliminare completamente i pacchetti rimossi * 4.8. Pacchetti obsoleti * 4.8.1. Pacchetti fittizi di transizione * 5. Problemi di cui essere al corrente per trixie * 5.1. Aspetti specifici dell'aggiornamento a trixie * 5.1.1. Il firmware non libero è stato spostato in una sua propria componente dell'archivio * 5.1.2. Modifiche ai pacchetti che impostano l'orologio di sistema * 5.1.3. Sistema Puppet di gestione della configurazione aggiornato a 7 * 5.1.4. youtube-dl è stato rimpiazzato da yt-dlp * 5.1.5. Le versioni di Fcitx non possono più essere installate insieme * 5.1.6. I nomi dei pacchetti per MariaDB non includono più i numeri di versione * 5.1.7. Modifiche alla registrazione dei log di sistema * 5.1.8. Le modifiche a rsyslog hanno effetto sugli analizzatori di log come logcheck * 5.1.9. rsyslog crea meno file di log * 5.1.10. L'aggiornamento di slapd può richiedere un intervento manuale * 5.1.11. GRUB non esegue più os-prober in modo predefinito * 5.1.12. GNOME ha ridotto il supporto di accessibilità per i lettori dello schermo * 5.1.13. La base per PC a 32 bit ora è i686 * 5.1.14. Modifiche alla configurazione di polkit * 5.1.15. È ora necessaria una""/usr" unificata" * 5.1.16. Aggiornamenti non supportati da buster falliscono per "libcrypt1" * 5.1.17. openssh-server non legge più ~/.pam_environment * 5.1.18. OpenSSH non supporta più le chiavi DSA * 5.2. Cose da fare dopo l'aggiornamento prima di riavviare * 5.2.1. Cosa non limitate al processo di aggiornamento * 5.2.2. Limitazione nel supporto per la sicurezza * 5.2.3. Gli interpreti Python sono contrassegnati come gestiti esternamente * 5.2.4. Supporto limitato per codifica/decodifica video con accelerazione hardware in VLC * 5.2.5. systemd-resolved è stato separato in un pacchetto distinto * 5.2.6. systemd-boot è stato separato in un pacchetto distinto * 5.2.7. systemd-journal-remote no usa più GnuTLS * 5.2.8. Grandi modifiche in adduser per bookworm * 5.2.9. Assegnazione di nomi prevedibili per le interfacce di rete Xen * 5.2.10. Modifiche nella gestione di dash dell'accento circonflesso * 5.2.11. netcat-openbsd supporta socket astratti * 5.3. Obsolescenze e deprecazioni * 5.3.1. Pacchetti obsoleti degni di nota * 5.3.2. Componenti deprecati per trixie * 5.4. Bug importanti conosciuti * 6. Maggiori informazioni su Debian * 6.1. Ulteriori letture * 6.2. Ottenere aiuto * 6.2.1. Liste di messaggi * 6.2.2. Internet Relay Chat * 6.3. Segnalare i bug * 6.4. Contribuire a Debian * 7. Gestire il proprio sistema bookworm prima dell'avanzamento * 7.1. Aggiornare il proprio sistema bookworm * 7.2. Controllare i propri file source-list per APT * 7.3. Effettuare l'aggiornamento al rilascio bookworm più recente * 7.4. Rimuovere file di configurazione obsoleti * 8. Contributori delle note di rilascio 1. Introduzione *************** Questo documento fornisce informazioni agli utenti della distribuzione Debian sui cambiamenti principali nella versione 13 (nome in codice trixie). Le note di rilascio forniscono informazioni su come aggiornare in modo sicuro dalla versione 12 (nome in codice bookworm) alla versione attuale e informano gli utenti sui possibili problemi conosciuti in cui potrebbero incorrere durante tale processo. È possibile ottenere la versione più recente di questo documento da https://www.debian.org/releases/trixie/releasenotes. Attenzione: È impossibile elencare ogni possibile problema conosciuto, pertanto è stata fatta una selezione basata su probabili gravità e diffusione. Si noti anche che vengono forniti solo il supporto e la documentazione relativi all'aggiornamento dalla versione precedente di Debian (in questo caso l'aggiornamento da bookworm). Se si deve aggiornare il sistema da versioni antecedenti, si suggerisce di leggere le edizioni precedenti delle note di rilascio e di aggiornare dapprima a bookworm. 1.1. Segnalare errori in questo documento ========================================= Si è cercato di verificare tutti i vari passi dell'aggiornamento descritti in questo documento e si è anche cercato di anticipare ogni possibile problema nel quale si potrebbe incorrere. Ciononostante, se si ritiene di aver trovato un qualsiasi errore in questa documentazione (informazioni non corrette o mancanti), si invii una segnalazione al sistema di tracciamento dei bug per il pacchetto **release-notes**. Prima di inviare la segnalazione si dovrebbe verificare se tra le segnalazioni d'errore esistenti non sia già presente il problema trovato. Chiunque è libero di aggiungere delle informazioni alle segnalazioni esistenti in modo da contribuire al contenuto di questo documento. Le segnalazioni con correzioni per i sorgenti del documento sono apprezzate e incoraggiate. In Sorgenti di questo documento sono disponibili ulteriori informazioni su come ottenere i sorgenti di questo documento. 1.2. Fornire resoconti di aggiornamento ======================================= Ogni informazione dagli utenti inerente l'aggiornamento da bookworm a trixie è benvenuta. Se si desidera condividere informazioni, compilare una segnalazione nel sistema di tracciamento dei bug per il pacchetto **upgrade-reports** con i risultati ottenuti. È richiesto che ogni eventuale allegato venga compresso usando "gzip". Quando si invia un resoconto di aggiornamento è necessario includere le seguenti informazioni: * Lo stato del proprio database dei pacchetti prima e dopo l'aggiornamento: il database di **dpkg** dello stato dei pacchetti, disponibile in "/var/lib/dpkg/status" e le informazioni di **apt** sullo stato dei pacchetti, disponibili in "/var/lib/apt/extended_states" Prima di aggiornare si dovrebbe aver effettuato una copia di sicurezza, come descritto in Salvare i dati e le informazioni di configurazione, ma è anche possibile trovare copie di "/var/lib/dpkg/status" in "/var/backups". * Le trascrizioni delle sessioni al terminale, ottenute con "script", come descritto in Registrazione della sessione. * I registri di "apt", disponibili in "/var/log/apt/term.log", o i registri di "aptitude", disponibili in "/var/log/aptitude". Nota: Prima di inviare le informazioni contenute nei file di registro è opportuno verificare che non vi siano informazioni che si ritengono private, poiché tutta la segnalazione verrà inserita in un database pubblico. 1.3. Sorgenti di questo documento ================================= I sorgenti di questo documento sono in formato reStructuredText. La versione HTML viene generata usando *sphinx-build -b html*.. La versione in PDF viene generata usando *sphinx-build -b latex*. I sorgenti delle Note di rilascio sono disponibili nell'archivio Git del *Debian Documentation Project*. È possibile utilizzare l'interfaccia web per accedere ai singoli file tramite il web e vedere le rispettive modifiche. Per maggiori informazioni su come accedere a Git, consultare le pagine sul VCS del Debian Documentation Project. 2. Cosa c'è di nuovo in Debian 13 ********************************* Il Wiki contiene ulteriori informazioni su questo argomento. 2.1. Architetture supportate ============================ Le seguenti architetture sono ufficialmente supportate da Debian 13: * 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 little-endian ("mipsel") * MIPS little-endian a 64 bit ("mips64el") * PowerPC little-endian a 64 bit ("ppc64el") * IBM System z ("s390x") Salto in avanti della versione base per PC a 32 bit a i686 Il supporto per PC a 32 bit (noti come architettura Debian i386) richiede ora l'istruzione "long NOP". Fare riferimento a La base per PC a 32 bit ora è i686 per maggiori informazioni. 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. Aree dell'archivio ======================= Le seguenti aree dell'archivio sono menzionate nel Social Contract e nella Debian Policy ed esistono da molto tempo: * main: la distribuzione Debian; * contrib: pacchetti supplementari pensati per funzionare con la distribuzione Debian, ma che richiedono software al di fuori della distribuzione per essere compilati o per funzionare; * non-free: pacchetti supplementari pensati per funzionare con la distribuzione Debian che non sono aderenti alle DFSG o che hanno problemi che rendono problematica la loro distribuzione. Seguendo la General Resolution del 2022 sul firmware non-free, il 5° punto del Social Contract è stato esteso con la seguente frase: «The Debian official media may include firmware that is otherwise not part of the Debian system to enable use of Debian with hardware that requires such firmware» (I supporti ufficiali Debian possono includere firmware che non fa altrimenti parte del sistema Debian per permettere l'uso di Debian con hardware che richiede tale firmware). Sebbene non sia ancora esplicitamente menzionata né nel Social Contract né nella Debian Policy, è stata introdotta una nuova area dell'archivio permettendo di separare il firmware non libero dagli altri pacchetti non liberi: * non-free-firmware La maggior parte dei pacchetti di firmware non libero è stata spostata da "non-free" in "non-free-firmware" in preparazione per il rilascio di Debian 13. Questa separazione pulita rende possibile compilare immagini di installazione ufficiali con pacchetti da "main" e da "non- free-firmware", senza "contrib" o "non-free". A loro volta queste immagini di installazione rendono possibile installare sistemi con solo "main" e "non-free-firmware", senza "contrib" o "non-free". Vedere Le componenti non-free e non-free-firmware per gli aggiornamenti da bookworm. 2.3. Cosa c'è di nuovo nella distribuzione? =========================================== Ancora una volta la nuova versione di Debian contiene molto più software rispetto alla precedente, bookworm; la distribuzione include più di 11294 nuovi pacchetti, per un totale di oltre 59551 pacchetti. La maggior parte del software nella distribuzione è stata aggiornata: più di 42821 pacchetti software (corrispondenti al 72% di tutti i pacchetti in bookworm). Inoltre, un notevole numero di pacchetti (oltre 9519, il 16% dei pacchetti in bookworm) è 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 Pacchetti obsoleti. 2.3.1. Desktop e pacchetti noti ------------------------------- Debian viene ancora una volta fornita con molti ambienti e applicazioni desktop. Fra l'altro include ora gli ambienti desktop GNOME 43, KDE Plasma 5.27, LXDE 11, LXQt 1.2.0, MATE 1.26, and Xfce 4.18. Anche le applicazioni per la produttività sono state aggiornate, incluse le suite per l'ufficio: * LibreOffice viene aggiornato alla versione 7.4; * GNUcash viene aggiornato a 4.13; Fra i molti altri, questa versione include anche i seguenti aggiornamenti software: +------------------------+------------------------+------------------------+ | Pacchetto | Versione in 12 | Versione in 13 | | | (bookworm) | (trixie) | |========================|========================|========================| | Apache | 2.4.54 | 2.4.57 | +------------------------+------------------------+------------------------+ | Bash | 5.1 | 5.2.15 | +------------------------+------------------------+------------------------+ | Server DNS BIND | 9.16 | 9.18 | +------------------------+------------------------+------------------------+ | Cryptsetup | 2.3 | 2.6 | +------------------------+------------------------+------------------------+ | Emacs | 27.1 | 28.2 | +------------------------+------------------------+------------------------+ | Server di posta | 4.94 | 4.96 | | predefinito Exim | | | +------------------------+------------------------+------------------------+ | GNU Compiler | 10.2 | 12.2 | | Collection come | | | | compilatore | | | | predefinito | | | +------------------------+------------------------+------------------------+ | GIMP | 2.10.22 | 2.10.34 | +------------------------+------------------------+------------------------+ | GnuPG | 2.2.27 | 2.2.40 | +------------------------+------------------------+------------------------+ | Inkscape | 1.0.2 | 1.2.2 | +------------------------+------------------------+------------------------+ | la libreria GNU C | 2.31 | 2.36 | +------------------------+------------------------+------------------------+ | Immagine del kernel | serie 5.10 | serie 6.1 | | Linux | | | +------------------------+------------------------+------------------------+ | Insieme di strumenti | 9.0.1 e 11.0.1 | 13.0.1 e 14.0 | | LLVM/Clang | (predefinito) e 13.0.1 | (predefinito) e 15.0.6 | +------------------------+------------------------+------------------------+ | MariaDB | 10.5 | 10.11 | +------------------------+------------------------+------------------------+ | Nginx | 1.18 | 1.22 | +------------------------+------------------------+------------------------+ | OpenJDK | 11 | 17 | +------------------------+------------------------+------------------------+ | OpenLDAP | 2.4.57 | 2.5.13 | +------------------------+------------------------+------------------------+ | OpenSSH | 8.4p1 | 9.2p1 | +------------------------+------------------------+------------------------+ | OpenSSL | 1.1.1n | 3.0.8 | +------------------------+------------------------+------------------------+ | Perl | 5.32 | 5.36 | +------------------------+------------------------+------------------------+ | PHP | 7.4 | 8.2 | +------------------------+------------------------+------------------------+ | MTA Postfix | 3.5 | 3.7 | +------------------------+------------------------+------------------------+ | PostgreSQL | 13 | 15 | +------------------------+------------------------+------------------------+ | Python 3 | 3.9.2 | 3.11.2 | +------------------------+------------------------+------------------------+ | Rustc | 1.48 | 1.63 | +------------------------+------------------------+------------------------+ | Samba | 4.13 | 4.17 | +------------------------+------------------------+------------------------+ | Systemd | 247 | 252 | +------------------------+------------------------+------------------------+ | Vim | 8.2 | 9.0 | +------------------------+------------------------+------------------------+ 2.3.2. Più pagine di manuale tradotte ------------------------------------- Grazie ai nostri traduttori, è disponibile più documentazione in formato di pagine "man" in più lingue di quanto sia mai accaduto. Per esempio, sono ora disponibili molte pagine di manuale in ceco, danese, greco, finlandese, indonesiano, macedone, norvegese (bokmål), russo, serbo, svedese, ucraino e vietnamita, e tutte le pagine di manuale di **systemd** sono ora disponibili in tedesco. Per garantire che il comando "man" mostri la documentazione nella lingua dell'utente (quando possibile), installare il corretto pacchetto manpages-*lingua* e assicurarsi che la propria localizzazione sia configurata correttamente usando # dpkg-reconfigure locales . 2.3.3. Novità dal Blend Debian Med ---------------------------------- Come in ogni rilascio, sono stati aggiunti nuovi pacchetti relativi al campo della medicina e delle scienze della vita. Il nuovo pacchetto **shiny-server** può essere particolarmente degno di nota, dato che semplifica le applicazioni web scientifiche che usano "R". È stato anche continuato lo sforzo di fornire il supporto per l'integrazione continua per i pacchetti mantenuti dal team Debian Med. Il team Debian Med è sempre interessato ad ogni feedback degli utenti, specialmente in forma di richieste di pacchettizzazione di software libero non ancora pacchettizzato o di backport da nuovi pacchetti o versioni più recenti in testing. Per installare i pacchetti mantenuti dal team Debian Med, installare i metapacchetti chiamati "med-*" che sono alla versione 3.8.x per Debian bookworm. Visitare le pagine delle attività Debian Med per vedere l'intera gamma del software per biologia e medicina disponibile in Debian. 2.3.4. Novità dal Blend Debian Astro ------------------------------------ Debian bookworm viene fornito con la versione 4.0 di Debian Astro Pure Blend, che continua a rappresentare una ottima soluzione tutto in uno per gli astronomi professionisti, gli entusiasti e chiunque sia interessato all'astronomia. Quasti tutti i pacchetti in Debian Astro sono stati aggiornati a nuove versioni, ma ci sono anche diversi nuovi pacchetti software. Per i radioastronomi, è ora incluso il correlatore **openvlbi**. I nuovi pacchetti **astap** e **planetary-system-stacker** sono utili per lo stacking di immagini e la risoluzione astronomica. Un vasto numero di nuovi driver e librerie che supportano il protocollo INDI sono stati pacchettizzati e sono ora forniti con Debian. Sono inclusi i nuovi pacchetti **python3-extinction**, **python3-sncosmo**, **python3-specreduce** e **python3-synphot** affiliati con Astropy, oltre a pacchetti creati intorno a **python3-yt** e **python3-sunpy**. Il supporto Python per il formato ASDF è molto esteso, mentre l'ecosistema Java è esteso con librerie che gestiscono i formati di file ECSV e TFCAT, principalmente per l'uso con **topcat**. Controllare la pagina di Astro Blend page per un elenco completo e ulteriori informazioni. 2.3.5. Secure Boot su ARM64 --------------------------- Il supporto per il Secure Boot su ARM64 è stato reintrodotto in trixie. Gli utenti con hardware ARM64 con capacità UEFI possono avviare con la modalità Secure Boot abilitata e sfruttare a pieno la funzionalità di sicurezza. Assicurarsi che siano installati i pacchetti **grub-efi-arm64-signed** e **shim-signed**, abilitare Secure Boot nell'interfaccia firmware del proprio dispositivo e riavviare per usare il proprio sistema con il Secure Boot abilitato. Il Wiki ha ulteriori informazioni su come usare e fare il debug di Secure Boot. 3. Sistema d'installazione ************************** L'installatore Debian è il sistema d'installazione ufficiale per Debian. Offre molti metodi d'installazione. I metodi disponibili per l'installazione in un sistema dipendono dalla sua architettura. Le immagini dell'installatore per trixie possono essere trovate, insieme alla Guida all'installazione, nel sito web di Debian (https://www.debian.org/releases/trixie/debian-installer/). La guida all'installazione è inclusa anche nel primo elemento dei set ufficiali dei DVD (CD/blu-ray) Debian, in: /doc/install/manual/language/index.html Si possono anche verificare le errata corrige (all'indirizzo https://www.debian.org/releases/trixie/debian-installer#errata) dell'installatore Debian per un elenco di problematiche note. 3.1. Cosa c'è di nuovo nel sistema di installazione? ==================================================== L'installatore Debian ha fatto molti passi avanti dalla precedente versione rilasciata ufficialmente con Debian 12, raggiungendo un migliore supporto all'hardware e alcune nuove e interessanti funzionalità e migliorie. Se si è interessati ad una panoramica delle modifiche rispetto a bookworm, controllare gli annunci di rilascio per i rilasci trixie beta e RC disponibili nella cronologia delle notizie dell'Installatore Debian. 3.2. Installazioni cloud ======================== Il Team cloud pubblica Debian trixie per diversi servizi popolari di cloud computing, inclusi: * Amazon Web Services * Microsoft Azure * OpenStack * VM semplice Le immagini cloud forniscono agganci di automazione tramite "cloud- init" e danno priorità ad avvi veloci di istanza usando pacchetti kernel e configurazioni grub specificatamente ottimizzati. Sono fornite, dove appropriato, immagini che supportano diverse architetture e il Team cloud cerca di supportare tutte le funzionalità offerte dal servizio cloud. Il Team Cloud fornisce immagini aggiornate fino alla fine del periodo LTS di trixie. Vengono tipicamente rilasciate nuove immagini per ogni rilascio minore e dopo risoluzioni di problemi di sicurezza per i pacchetti critici. La politica di supporto completa del Team Cloud può essere trovata qui. Ulteriori dettagli sono disponibili su https://cloud.debian.org/ e nel wiki. 3.3. Immagini per contenitori e macchine virtuali ================================================= Immagini contenitore per Debian trixie multi-architettura sono disponibili su Docker Hub. In aggiunta alle immagini standard è disponibile una variante "slim" che riduce l'uso del disco. Immagini di macchine virtuali per il gestore di VM Hashicorp Vagrant sono pubblicate nel Vagrant Cloud. 4. Aggiornamenti da Debian 12 (bookworm) **************************************** 4.1. Preparazione all'aggiornamento =================================== Prima dell'aggiornamento è consigliato anche leggere le informazioni in Problemi di cui essere al corrente per trixie. Tale capitolo copre i potenziali problemi che non sono direttamente correlati al processo di aggiornamento, ma che potrebbe comunque essere importante conoscere prima di iniziare. 4.1.1. Salvare i dati e le informazioni di configurazione --------------------------------------------------------- Prima di aggiornare il proprio sistema si raccomanda di effettuare un salvataggio completo o quantomeno una copia di sicurezza di tutti quei dati e quelle informazioni di configurazione che non ci si può permettere di perdere. Gli strumenti e i processi di aggiornamento sono abbastanza affidabili, ma un problema dell'hardware durante l'aggiornamento potrebbe generare un sistema fortemente danneggiato. Le cose principali di cui si può voler fare il backup sono il contenuto di "/etc", "/var/lib/dpkg", "/var/lib/apt/extended_states" e l'output di: $ dpkg --get-selections '*' # (the quotes are important) Se si usa "aptitude" per gestire i pacchetti nel proprio sistema, si vorrà anche fare il backup di "/var/lib/aptitude/pkgstates". Il processo di aggiornamento in quanto tale non modifica nulla nelle directory "/home", tuttavia alcune applicazioni (come ad esempio alcune parti della suite Mozilla e gli ambienti desktop GNOME e KDE) sovrascrivono le impostazioni dell'utente preesistenti con i nuovi valori predefiniti quando un utente avvia per la prima volta la nuova versione dell'applicazione. Per precauzione si potrebbe quindi voler fare una copia di sicurezza dei file e delle directory nascosti ("dotfile", cioè file i cui nomi iniziano con un punto) che si trovano nelle directory "home" degli utenti. Tale copia potrebbe aiutare a ripristinare o a ricreare le vecchie impostazioni. Potrebbe anche essere il caso di informare gli utenti su questo argomento. Tutte le installazioni di pacchetti devono essere eseguite con i privilegi di superutente, per cui è necessario effettuare il login come utente "root", oppure usare "su" o "sudo", per ottenere i diritti d'accesso necessari. L'aggiornamento ha alcune condizioni preliminari; prima di eseguirlo si dovrebbe verificarle. 4.1.2. Informare gli utenti in anticipo --------------------------------------- È saggio informare in anticipo tutti gli utenti di qualunque aggiornamento si stia pianificando, anche se gli utenti che accedono al sistema tramite una connessione "ssh" non dovrebbero notare granché durante l'aggiornamento e dovrebbero poter continuare a lavorare. Se si desidera prendere delle precauzioni supplementari, si esegua un salvataggio delle partizioni degli utenti ("/home") o le si smonti prima di aggiornare il sistema. Con l'aggiornamento a trixie si dovrà anche fare un aggiornamento del kernel, per cui sarà necessario riavviare il sistema. Tipicamente ciò verrà fatto dopo che l'aggiornamento è terminato. 4.1.3. Preparazione all'indisponibilità dei servizi --------------------------------------------------- Tra i pacchetti interessati all'aggiornamento ce ne potrebbero essere alcuni a cui sono associati dei servizi. In questo caso, tali servizi saranno fermati mentre è in corso la sostituzione o la configurazione dei pacchetti. In questo periodo di tempo i servizi non saranno disponibili. La durata del disservizio varia a seconda del numero di pacchetti da aggiornare sul sistema e comprende anche il tempo che occorre all'amministratore di sistema per rispondere alle domande sulla configurazione poste dall'aggiornamento dei pacchetti. Notare che se l'aggiornamento non è presidiato e il sistema richiede una risposta per andare avanti è probabile che i servizi rimangano non disponibili [1] per un periodo di tempo considerevole. Se il sistema in fase di aggiornamento fornisce servizi critici per gli utenti o la rete [2], è possibile ridurre il tempo di disservizio facendo un aggiornamento minimo del sistema, come descritto in Aggiornamento minimo del sistema, seguito da un aggiornamento del kernel, un riavvio e poi l'aggiornamento dei pacchetti associati ai servizi critici. Fare l'aggiornamento di questi pacchetti prima di fare l'aggiornamento completo descritto in Aggiornamento del sistema. Questo metodo assicura che i servizi critici restino in funzione mentre è in corso l'aggiornamento completo del sistema e che il periodo di disservizio sia breve. 4.1.4. Preparazione per il ripristino ------------------------------------- Sebbene Debian cerchi di garantire che il sistema rimanga sempre in uno stato avviabile, c'è sempre la possibilità che si abbiano problemi a riavviare il sistema dopo l'aggiornamento. I potenziali problemi che sono noti sono documentati in questo e nei prossimi capitoli delle presenti note di rilascio. Pertanto è sensato assicurarsi di essere in grado di ripristinare il proprio sistema se questo non riesce a riavviarsi o a tirare su la rete, se è gestito da remoto. Se si sta aggiornando da remoto tramite una connessione "ssh" è fortemente raccomandato prendere tutte le precauzioni necessarie per essere in grado di accedere al server tramite un terminale seriale remoto. È possibile che, dopo l'aggiornamento del kernel e il riavvio del sistema, si debba sistemare la configurazione del sistema tramite una console locale. Analogamente, se il sistema viene accidentalmente riavviato nel mezzo di un aggiornamento è possibile che lo si debba ripristinare usando una console locale. Per il ripristino d'emergenza generalmente viene raccomandato di usare la *modalità di ripristino* dell'installatore di Debian trixie. Il vantaggio di usare l'installatore consiste nel fatto che è possibile scegliere fra i suoi numerosi metodi per trovare quello che meglio corrisponde alla propria situazione. Per maggiori informazioni si consulti la sezione "Recupero di un sistema danneggiato" nel capitolo 8 della Guida all'installazione (all'indirizzo https://www.debian.org/releases/trixie/installmanual) e le FAQ dell'installatore di Debian. Se questa operazione non riesce, sarà necessario trovare un modo alternativo per avviare il proprio sistema in modo da potervi accedere per ripararlo. Una possibilità è l'utilizzo di un'immagine di ripristino speciale o di installazione live. Dopo aver avviato in tal modo, si dovrebbe essere in grado di montare il proprio file system radice ed entrarvi con "chroot" per trovare e correggere il problema. 4.1.4.1. Shell di debug durante l'avvio con initrd ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Il pacchetto **initramfs-tools** include una shell di debug [3] negli initrd che genera. Per esempio, se initrd non è in grado di montare il file system radice si verrà rimandati in questa shell di debug, la quale mette a disposizione i comandi di base per trovare il problema e, se possibile, risolverlo. Le cose di base da controllare sono: la presenza dei file device corretti in "/dev", quali moduli vengono caricati ("cat /proc/modules") e l'output di "dmesg" per gli errori durante il caricamento dei driver. L'output di "dmesg" mostra inoltre quali file device sono stati assegnati a quali dischi; questi risultati andranno confrontati con l'output di "echo $ROOT", per assicurarsi che il file system radice sia sul device atteso. Se si è riusciti a risolvere il problema, digitando "exit" si uscirà dalla shell di debug e si continuerà il processo di avvio a partire dal punto in cui il problema si è verificato. Naturalmente sarà anche necessario risolvere il problema sottostante e rigenerare initrd in modo che il prossimo avvio non fallisca nuovamente. 4.1.4.2. Shell di debug durante l'avvio con systemd ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Se l'avvio fallisce con systemd è possibile ottenere una shell root di debug cambiando la riga di comando del kernel. Se l'avvio di base ha successo, ma l'avvio di alcuni servizi fallisce, può essere utile aggiungere "systemd.unit=rescue.target" ai parametri del kernel. Atrimenti il parametro "systemd.unit=emergency.target" del kernel fornirà una shell di root non appena possibile. Tuttavia ciò viene fatto prima del montaggio del file system radice con permessi in lettura e scrittura. Sarà necessario farlo manualmente con: # mount -o remount,rw / Un altro approccio è quello di abilitare la "shell precoce di debug" di systemd attraverso il "debug-shell.service". Al successivo avvio il servizio apre una shell di login per root sulla tty9 nei primi momenti del processo di avvio. Può essere abilitata con il parametro di avvio del kernel "systemd.debug-shell=1" oppure essere resa persistente con "systemctl enable debug-shell", nel qual csaso dovrebbe essere nuovamente disabilitata quando il debug è completato. Ulteriori informazioni su come fare il debug di un avvio non funzionante con systemd possono essere trovate nell'articolo Diagnosing Boot Problems di Freedesktop.org. 4.1.5. Preparazione di un ambiente sicuro per l'aggiornamento ------------------------------------------------------------- Importante: Se si stanno usando alcuni servizi VPN (come **tinc**) tenere a mente che potrebbero non essere disponibili durante l'aggiornamento. Consultare Preparazione all'indisponibilità dei servizi. Per ottenere un margine supplementare di sicurezza durante l'aggiornamento da remoto si suggerisce di eseguire i processi di aggiornamento nella console virtuale fornita dal programma "screen", che consente la riconnessione sicura e garantisce che il processo di aggiornamento non venga interrotto nemmeno nel caso in cui il processo di connessione remota si interrompa temporaneamente. Gli utenti del demone watchdog fornito nel pacchetto **micro-evtd** dovrebbero fermare il demone e disabilitare il timer di watchdog prima dell'aggiornamento, per evitare un riavvio spurio nel bel mezzo del processo di aggiornamento: # service micro-evtd stop # /usr/sbin/microapl -a system_set_watchdog off 4.2. Partire da una Debian "pura" ================================= Il processo di aggiornamento descritto in questo capitolo è stato progettato per sistemi Debian stable "puri". APT controlla ciò che è installato nel sistema. Se la propria configurazione di APT fa riferimento a fonti aggiuntive oltre a bookworm o se si sono installati pacchetti da altri rilasci o da terze parti, allora per assicurare un processo di aggiornamento affidabile si potrebbe voler iniziare rimuovendo tali fattori di complicazione. Il file di configurazione principale che APT utilizza per decidere da quali fonti scaricare i pacchetti è "/etc/apt/sources.list", ma può anche utilizzare i file nella directory "/etc/apt/sources.list.d/"; per i dettagli vedere sources.list(5). Se il proprio sistema sta utilizzando più file source-list allora sarà necessario assicurarsi che rimangano coerenti. 4.2.1. Aggiornamento a Debian 12 (bookworm) ------------------------------------------- Sono supportati solo gli aggiornamenti da Debian 12 (bookworm). Si può visualizzare la propria versione di Debian con: $ cat /etc/debian_version Seguire le istruzioni nelle Note di rilascio per Debian 12 all'indirizzo https://www.debian.org/releases/bookworm/releasenotes per aggiornare prima a Debian 12, se necessario. 4.2.2. Aggiornare all'ultimo rilascio minore -------------------------------------------- Questa procedura presume che il proprio sistema sia stato aggiornato fino all'ultimo aggiornamento disponibile per bookworm. Se non è così o non si è sicuri, seguire le istruzioni contenute in Aggiornare il proprio sistema bookworm. 4.2.3. Debian Backports ----------------------- Debian Backports permette agli utenti di Debian stable di eseguire versioni più aggiornate dei pacchetti (con alcuni compromessi rispetto ai test e al supporto di sicurezza). Il Team Debian per Backports mantiene un sottoinsieme di pacchetti dal successivo rilascio di Debian, adattato e ricompilato per l'uso sull'attuale rilascio stabile di Debian. I pacchetti da bookworm-backports hanno numeri di versione più bassi della versione in trixie, perciò dovrebbero aggiornarsi normalmente a trixie nello stesso modo dei pacchetti bookworm "puri" durante l'aggiornamento della distribuzione. Sebbene non ci siano problemi potenziali noti, i percorsi di aggiornamento da backports sono meno testati e di conseguenza incorrono in più rischi. Attenzione: Mentre i regolari Debian Backports sono supportati, non c'è un percorso di aggiornamento pulito da backports sloppy (che usano voci per fonti di APT che fanno riferimento a bookworm-backports-sloppy). Come per le Fonti non ufficiali, si consiglia agli utenti di rimuovere voci "bookworm-backports" dai loro file sources-list di APT prima dell'aggiornamento. Dopo che è completato, possono considerare l'aggiunta di "trixie-backports" (vedere https://backports.debian.org/Instructions/). Per maggiori informazioni consultare la pagina su Backports del Wiki. 4.2.4. Preparare il database dei pacchetti ------------------------------------------ Si dovrebbe controllare che il database dei pacchetti sia a posto prima di procedere con l'aggiornamento. Se si usa un altro gestore di pacchetti come **aptitude** e **synaptic** controllare ogni azione in sospeso. Un pacchetto per cui è programmata l'installazione o la rimozione potrebbe interferire con il processo di aggiornamento. Si noti che la correzione di questa situazione è possibile solo se i propri file source-list per APT puntano tuttora a "bookworm" e non a "stable" o a "trixie". A tale proposito vedere Controllare i propri file source-list per APT. 4.2.5. Rimuovere pacchetti obsoleti ----------------------------------- È una buona idea rimuovere i pacchetti obsoleti dal proprio sistema prima dell'aggiornamento. Possono introdurre complicazioni durante il processo di aggiornamento e possono rappresentare rischi di sicurezza dato che non sono più mantenuti. 4.2.6. Rimozione dei pacchetti non Debian ----------------------------------------- Di seguito vengono indicati due metodi per trovare pacchetti installati che non provengono da Debian, usando "apt" o "apt- forktracer". Notare che nessuno dei due è accurato al 100% (per esempio, quello con apt elenca i pacchetti che erano una volta forniti da Debian ma che non lo sono più, come i vecchi pacchetti del kernel). $ apt list '?narrow(?installed, ?not(?origin(Debian)))' $ apt-forktracer | sort 4.2.7. Ripulire i file di configurazione rimasti indietro --------------------------------------------------------- Un aggiornamento precedente può aver lasciato indietro copie inutilizzate dei file di configurazione: vecchie versioni di file di configurazione, versioni fornite dai manutentori dei pacchetti, ecc. La rimozione dei file lasciati da precedenti aggiornamenti può evitare confusioni. Trovare questi file rimasti indietro con: # find /etc -name '*.dpkg-*' -o -name '*.ucf-*' -o -name '*.merge-error' 4.2.8. Le componenti non-free e non-free-firmware ------------------------------------------------- Se si ha firmware non libero installato è raccomandato aggiungere "non-free-firmware" al propriot sources-list di APT. Per i dettagli vedere Aree dell'archivio e Il firmware non libero è stato spostato in una sua propria componente dell'archivio. 4.2.9. La sezione "proposed-updates" (aggiornamenti proposti) ------------------------------------------------------------- Se la sezione "proposed-updates" è elencata nei propri file source- list per APT, la si dovrebbe rimuovere prima di tentare l'aggiornamento del sistema. Questa precauzione serve per ridurre il rischio di conflitti. 4.2.10. Fonti non ufficiali --------------------------- Se si ha un qualsiasi pacchetto non-Debian nel proprio sistema, si presti attenzione al fatto che questi possono essere rimossi durante l'aggiornamento a causa di conflitti di dipendenze. Se questi pacchetti sono stati installati aggiungendo un archivio di pacchetti supplementare nei propri file source-list per APT, si dovrebbe controllare che tale archivio offra anche pacchetti compilati per trixie e modificare di conseguenza la riga della fonte contemporaneamente alle righe delle fonti per i pacchetti Debian. Alcuni utenti potrebbero avere installate nel proprio sistema bookworm versioni *non ufficiali* "più recenti" da backport di pacchetti che *sono* in Debian. Tali pacchetti sono i candidati più probabili a causare problemi durante un aggiornamento, in quanto potrebbero generare conflitti fra file [4]. Possibili problemi durante l'aggiornamento contiene alcune informazioni su come gestire i conflitti tra file nel caso si verifichino. 4.2.11. Disattivare il pinning di APT ------------------------------------- Se si è configurato APT in modo da installare taluni pacchetti da una distribuzione diversa da stable (ad esempio da testing), si potrebbe dover modificare la configurazione del pinning del proprio APT (memorizzata in "/etc/apt/preferences" e "/etc/apt/preferences.d/") in modo da consentire l'aggiornamento dei pacchetti alle versioni nel nuovo rilascio stable. Maggiori informazioni sul pinning di APT sono disponibili in apt_preferences(5). 4.2.12. Controllare che gpgv sia installato ------------------------------------------- APT necessita della versione 2 o successiva di "gpgv" per verificare le chiavi usate per firmare il rilascio di trixie. Dato che **gpgv1** tecnicamente soddisfa le dipendenze, ma è utile solo in circostanze speciali, gli utenti possono volere verificare che sia installata la versione corretta con: # apt install gpgv 4.2.13. Verifica dello stato dei pacchetti ------------------------------------------ Si raccomanda di controllare dapprima lo stato di tutti i pacchetti e di verificare che tutti siano in uno stato aggiornabile, indipendentemente dal metodo usato per l'aggiornamento. Il comando seguente mostrerà tutti i pacchetti con uno stato "Half-Installed" o "Failed-Config" e quelli con un qualsiasi stato di errore. $ dpkg --audit È anche possibile controllare lo stato di tutti i pacchetti sul proprio sistema usando "aptitude" o con comandi come ad esempio $ dpkg -l | pager o # dpkg --get-selections '*' > ~/curr-pkgs.txt In alternativa si può anche usare "apt". # apt list --installed > ~/curr-pkgs.txt È auspicabile la rimozione di qualsiasi blocco prima dell'aggiornamento. Se qualsiasi pacchetto essenziale per l'aggiornamento è bloccato ("on hold") l'aggiornamento fallirà. $ apt-mark showhold Se un pacchetto è stato modificato e ricompilato localmente, e non lo si è rinominato né vi si è aggiunto un numero di epoca nella versione, è necessario bloccarlo per impedire che venga aggiornato. Lo stato "hold" (bloccato) di un pacchetto per "apt" può essere modificato eseguendo il comando: # apt-mark hold package_name Sostituire "hold" con "unhold" per disattivare lo stato "hold". Se c'è bisogno di sistemare qualcosa è meglio controllare che i propri file source-list per APT puntino sempre a bookworm come illustrato in Controllare i propri file source-list per APT. 4.3. Preparazione dei file source-list per APT ============================================== Prima di iniziare l'aggiornamento è necessario riconfigurare i file source-list di APT ("/etc/apt/sources.list" e i file in "/etc/apt/sources.list.d/") per aggiungere fonti per trixie e tipicamente per rimuovere le fonti per bookworm. APT prenderà in considerazione tutti i pacchetti che possono essere trovati tramite qualsiasi archivio configurato e installerà il pacchetto con il numero di versione più alto, dando la priorità alle righe menzionate per prime. Perciò, nel caso in cui siano presenti più posizioni di mirror, elencare per prime quelle sull'hard disc locale, poi i CD-ROM e infine i mirror remoti. Si fa spesso riferimento a un rilascio sia tramite il suo nome in codice (ad esempio "bookworm", "trixie"), sia tramite la denominazione del suo stato (cioè "oldstable", "stable", "testing", "unstable"). Fare riferimento ad un rilascio attraverso il suo nome in codice presenta il vantaggio che non si sarà mai sorpresi da un nuovo rilascio, pertanto è il metodo qui adottato. Questo naturalmente significa che si dovrà prestare attenzione agli annunci di rilascio. Se invece si utilizza la denominazione dello stato, si vedrà una grande quantità di aggiornamenti disponibili per i propri pacchetti non appena avviene un rilascio. Debian fornisce due mailing-list per gli annunci che aiutano a rimanere aggiornati sulle informazioni importanti relative ai rilasci di Debian: * Iscrivendosi alla mailing-list degli annunci Debian si riceverà una notifica ogni volta che Debian fa un nuovo rilascio, ad esempio come quando "trixie" passa da "testing" a "stable". * Iscrivendosi alla mailing-list degli annunci di sicurezza di Debian si riceverà una notifica ogni volta che Debian pubblica un annuncio di sicurezza. 4.3.1. Aggiunta di fonti internet per APT ----------------------------------------- Nelle nuove installazioni APT viene impostato in modo predefinito per utilizzare il servizio APT CDN di Debian che dovrebbe assicurare che i pacchetti vengano automaticamente scaricati da un server vicino in termini di rete. Dato che questo è un servizio relativamente nuovo le installazioni più vecchie possono avere configurazioni che puntano ancora ad uno dei server Internet principali di Debian o uno dei mirror. Se ancora non lo si è fatto, è raccomandato passare all'utilizzo del servizio CDN nella propria configurazione di APT. Per utilizzare il servizio CDN aggiungere una riga come quella seguente alla propria configurazione delle fonti per APT (presupponendo di usare "main" e "contrib"): deb https://deb.debian.org/debian trixie main contrib Dopo aver aggiunto le nuove fonti, disabilitare le righe ""deb"" preesistenti ponendovi davanti un simbolo cancelletto ("#"). Tuttavia se si hanno risultati migliori usando un mirror specifico che è vicino in termini di rete, tale opzione è ancora disponibile. Gli indirizzi dei mirror di Debian sono reperibili in https://www.debian.org/distrib/ftplist (guardare la sezione "Elenco dei mirror Debian"). Per esempio, si supponga che il proprio mirror Debian più vicino sia "http://mirrors.kernel.org". Ispezionandolo con un browser web si noterà che le directory principali sono organizzate nel modo seguente: http://mirrors.kernel.org/debian/dists/trixie/main/... http://mirrors.kernel.org/debian/dists/trixie/contrib/... Per configurare APT per l'utilizzo di un determinato mirror aggiungere una riga come la seguente (ancora una volta presumendo di utilizzare "main" e "contrib"): deb http://mirrors.kernel.org/debian trixie main contrib Si noti che ""dists"" è aggiunto implicitamente e che gli argomenti che seguono il nome del rilascio sono utilizzati per espandere il percorso su directory multiple. Di nuovo, dopo aver aggiunto le nuove fonti disabilitare le voci di archivio precedentemente esistenti. 4.3.2. Aggiunta di fonti per APT da mirror locale ------------------------------------------------- Anziché usare mirror remoti dei pacchetti, si potrebbe voler modificare i file source-list di APT in modo da usare un mirror su un disco locale (eventualmente montato su NFS). Per esempio, il proprio mirror dei pacchetti potrebbe essere in "/var/local/debian/" e avere le directory principali come segue: /var/local/debian/dists/trixie/main/... /var/local/debian/dists/trixie/contrib/... Per poter utilizzare questo mirror con **apt**, si aggiunga questa riga al proprio "sources.list": deb file:/var/local/debian trixie main contrib Si noti che ""dists"" è aggiunto implicitamente e che gli argomenti che seguono il nome del rilascio sono utilizzati per espandere il percorso su directory multiple. Dopo aver aggiunto le nuove fonti, disabilitare le voci di archivio preesistenti nei file source-list di APT, ponendovi davanti un simbolo cancelletto ("#"). 4.3.3. Aggiunta di fonti per APT da supporti ottici --------------------------------------------------- Se si vogliono utilizzare *soltanto* DVD (o CD o dischi Blu-ray) si disabilitino, commentandole, le voci esistenti in tutti i file source- list di APT ponendovi davanti un simbolo cancelletto ("#"). Ci si accerti che in "/etc/fstab" ci sia una riga che abiliti la possibilità di montare la propria unità CD-ROM nel punto di montaggio "/media/cdrom". Per esempio, se l'unità del CD-ROM è "/dev/sr0", "/etc/fstab" dovrebbe contenere una riga come la seguente: /dev/sr0 /media/cdrom auto noauto,ro 0 0 Si noti che *non ci devono essere spazi* fra le parole "noauto,ro" nel quarto campo. Per verificare il funzionamento, inserire un CD e provare a eseguire # mount /media/cdrom # this will mount the CD to the mount point # ls -alF /media/cdrom # this should show the CD's root directory # umount /media/cdrom # this will unmount the CD Poi, si esegua: # apt-cdrom add per ciascun CD-ROM di binari di Debian che si possiede, al fine di aggiungere i dati di ciascun CD al database di APT. 4.4. Aggiornare i pacchetti =========================== Il modo raccomandato per aggiornare da rilasci di Debian precedenti è quello di usare lo strumento do gestione dei pacchetti "apt". Nota: "apt" è pensato per l'uso interattivo e non dovrebbe essere utilizzato in script. Negli script si dovrebbe usare "apt-get" che ha un output stabile più adatto per l'analisi semantica. Non ci si dimentichi di montare tutte le partizioni necessarie (in particolare le partizioni radice e "/usr") in modalità di lettura e scrittura, con un comando del tipo: # mount -o remount,rw /mountpoint Si dovrebbe poi controllare molto attentamente che le voci sulle fonti di APT (in "/etc/apt/sources.list" e nei file in "/etc/apt/sources.list.d/") facciano riferimento a "trixie" o a "stable". Non ci dovrebbero essere voci per fonti che puntano a bookworm. Nota: Qualche volta le righe delle fonti per un CD-ROM potrebbero fare riferimento a ""unstable""; sebbene ciò possa generare confusione *non* le si dovrebbe modificare. 4.4.1. Registrazione della sessione ----------------------------------- È fortemente raccomandato l'utilizzo del programma "/usr/bin/script" per registrare una trascrizione della sessione di aggiornamento. In tal modo, se si verificasse un problema si disporrà di una registrazione di quanto accaduto e, se necessario, si potranno fornire le informazioni esatte in un'eventuale segnalazione di errori. Per avviare la registrazione, si digiti: # script -t 2>~/upgrade-trixie-step.time -a ~/upgrade-trixie-step.script o un comando simile. Se fosse necessario fare la trascrizione di un'altra sessione (perché, per esempio, è necessario riavviare il sistema), usare valori diversi per *step* in modo da indicare anche la fase dell'aggiornamento che si sta registrando. Non si collochi il file della registrazione in una directory temporanea come "/tmp" o "/var/tmp", in quanto i file in queste directory potrebbero venir cancellati durante l'aggiornamento o durante un qualunque riavvio. La trascrizione permetterà anche di rileggere le informazioni scorse fuori dalla schermata. Se si usa la console di sistema, basterà passare a VT2 (con "Alt+F2") e, dopo aver effettuato l'accesso, utilizzare il comando # less -R ~root/upgrade-trixie.script per visualizzare il file. Dopo aver completato l'aggiornamento si può arrestare "script", digitando "exit" al prompt. "apt" mantiene anche un registro ("log") in "/var/log/apt/history.log" dei cambiamenti di stato dei pacchetti e dell'output del terminale in "/var/log/apt/term.log". "dpkg", in aggiunta, registra tutti i cambiamenti di stato dei pacchetti in "/var/log/dpkg.log". Se si usa "aptitude", anch'esso registra cambiamenti di stato in "/var/log/aptitude". Se si è utilizzato il parametro *-t* per "script", si può utilizzare il programma "scriptreplay" per replicare l'intera sessione: # scriptreplay ~/upgrade-trixie-step.time ~/upgrade-trixie-step.script 4.4.2. Aggiornamento della lista dei pacchetti ---------------------------------------------- Anzitutto deve essere recuperata la lista dei pacchetti disponibili per la nuova versione. Lo si fa eseguendo: # apt update Nota: Gli utenti di apt-secure possono incontrare problemi quando usano "aptitude" o "apt-get". Per apt-get si può utilizzare "apt-get update --allow-releaseinfo-change". 4.4.3. Accertarsi di avere spazio disponibile a sufficienza per l'aggiornamento ------------------------------------------------------------------------------- Prima di aggiornare il proprio sistema ci si deve accertare di avere uno spazio disponibile sufficiente sul proprio disco fisso al momento di far partire l'aggiornamento completo del sistema, come descritto in Aggiornamento del sistema. Per prima cosa, poiché ogni pacchetto necessario per l'installazione prelevato dalla rete è archiviato in "/var/cache/apt/archives" (e nella sottodirectory "partial/", durante lo scaricamento), perciò ci si dovrebbe assicurare di avere spazio a sufficienza nella partizione del file system che contiene "/var" per il temporaneo scaricamento dei pacchetti che saranno installati nel sistema. Dopo lo scaricamento sarà probabilmente necessario avere ulteriore spazio disponibile in altre partizioni del file system per poter installare sia i pacchetti aggiornati (che potrebbero contenere file binari più grossi o più dati), sia i nuovi pacchetti che saranno introdotti con l'aggiornamento. Se il sistema non ha spazio libero a sufficienza, ci si potrebbe ritrovare con un aggiornamento incompleto dal quale è difficile effettuare un ripristino. "apt" può mostrare informazioni dettagliate sullo spazio su disco necessario per l'installazione. È possibile visualizzare questa stima prima di eseguire effettivamente l'aggiornamento, eseguendo: # apt -o APT::Get::Trivial-Only=true full-upgrade [ ... ] XXX upgraded, XXX newly installed, XXX to remove and XXX not upgraded. Need to get xx.xMB of archives. After this operation, AAAMB of additional disk space will be used. Nota: L'esecuzione di questo comando all'inizio del processo di aggiornamento potrebbe restituire un errore, per le ragioni descritte nelle sezioni seguenti. In tal caso sarà necessario attendere finché non sarà stato eseguito l'aggiornamento minimo del sistema come descritto in Aggiornamento minimo del sistema prima di eseguire il comando per avere una stima dello spazio necessario su disco. Se lo spazio disponibile è insufficiente per l'aggiornamento, "apt" avverte con un messaggio come questo: E: You don't have enough free space in /var/cache/apt/archives/. In questo caso, accertarsi di liberare prima uno spazio sufficiente. È possibile: * Rimuovere i pacchetti che sono stati precedentemente scaricati per l'installazione (in "/var/cache/apt/archives"). Pulire la cache dei pacchetti eseguendo "apt clean" rimuoverà tutti i file dei pacchetti scaricati in precedenza. * Rimuovere i pacchetti dimenticati. Se si è usato "aptitude" o "apt" per installare manualmente dei pacchetti in bookworm, questi avranno tenuto traccia dei pacchetti installati manualmente e saranno capaci di marcare come obsoleti quei pacchetti installati solo per soddisfare delle dipendenze e che non sono più necessari se un pacchetto viene rimosso. Non marcheranno per la rimozione i pacchetti che sono stati installati manualmente dall'utente. Per rimuovere i pacchetti installati automaticamente che non sono più usati, eseguire: # apt autoremove Si può anche utilizzare "deborphan", "debfoster" o "cruft" per trovare i pacchetti ridondanti. Non si rimuovano alla cieca i pacchetti presentati dagli strumenti, soprattutto se si usano opzioni aggressive non predefinite che possono produrre dei falsi positivi. È altamente raccomandato controllare manualmente i pacchetti suggeriti per la rimozione (ossia il loro contenuto, la loro dimensione e la descrizione) prima di rimuoverli. * Rimuovere i pacchetti che occupano molto spazio sul disco e non sono al momento necessari (possono sempre essere reinstallati dopo l'aggiornamento). Se si ha **popularity-contest** installato, si può usare "popcon-largest-unused" per elencare i pacchetti che non si usano e che occupano più spazio. I pacchetti che occupano più spazio possono essere trovati con "dpigs" (disponibile nel pacchetto **debian-goodies**) oppure con "wajig" (eseguendo "wajig size"). Possono anche essere trovati con **aptitude**. Avviare "aptitude" in modalità a tutto terminale, selezionare "Viste > Nuovo elenco unito dei pacchetti", premere "l" e inserire "~i", premere "S" e inserire "~installsize", a quel punto si dovrebbe ottenere un bell'elenco con cui lavorare. * Eliminare i file di traduzioni e localizzazioni dal sistema se non sono necessari. È possibile installare il pacchetto **localepurge** e configurarlo in modo che solo poche localizzazioni selezionate vengano mantenute sul sistema. Questo ridurrà lo spazio su disco occupato da "/usr/share/locale". * Spostare temporaneamente su un altro sistema o rimuovere in modo permanente i log di sistema che si trovano in "/var/log". * Usare un "/var/cache/apt/archives" temporaneo: è possibile usare una directory di cache temporanea da un altro file system (periferiche di memorizzazione USB, dischi fissi temporanei, file system già in uso, ecc.). Nota: Non si usi una partizione montata via NFS, in quanto la connessione di rete potrebbe essere interrotta durante l'aggiornamento. Per esempio, se si possiede un disco o una penna USB montato in "/media/usbkey": 1. si rimuovano i pacchetti precedentemente scaricati per l'installazione: # apt clean 2. si copi la directory "/var/cache/apt/archives" nella periferica USB: # cp -ax /var/cache/apt/archives /media/usbkey/ 3. si monti la directory della cache temporanea su quella attuale: # mount --bind /media/usbkey/archives /var/cache/apt/archives 4. dopo l'aggiornamento, si ripristini la directory "/var/cache/apt/archives" originale: # umount /var/cache/apt/archives 5. si rimuova il restante "/media/usbkey/archives". È possibile creare la cache temporanea su qualsiasi file system montato sul proprio sistema. * Effettuare un aggiornamento minimo del sistema (vedere Aggiornamento minimo del sistema) oppure degli aggiornamenti parziali seguiti da un aggiornamento completo. Questo permette l'aggiornamento parziale del sistema e permette di pulire la cache dei pacchetti prima dell'aggiornamento completo. Si noti che per rimuovere pacchetti in modo sicuro è preferibile tornare a far puntare i propri file source-list di APT a bookworm, come descritto in Controllare i propri file source-list per APT. 4.4.4. Fermare i sistemi di monitoraggio ---------------------------------------- Dato che "apt" può avere necessità di fermare temporaneamente servizi in esecuzione sul computer, è probabilmente una buona idea fermare i servizi di monitoraggio che possono riavviare altri servizi terminati durante l'aggiornamento. In Debian, un esempio di tale servizio è **monit**. 4.4.5. Aggiornamento minimo del sistema --------------------------------------- In alcuni casi, eseguire direttamente un aggiornamento completo (come descritto più avanti) potrebbe rimuovere un gran numero di pacchetti che si potrebbe voler mantenere. È quindi raccomandato un processo di aggiornamento in due parti: prima un aggiornamento minimo che risolva questi conflitti, poi un aggiornamento completo come descritto in Aggiornamento del sistema. Per farlo eseguire: # apt upgrade --without-new-pkgs Questo consentirà l'aggiornamento di quei pacchetti che possono essere aggiornati senza richiedere l'installazione o la rimozione di altri pacchetti. L'aggiornamento minimo può essere utile anche quando non è possibile effettuare un aggiornamento completo perché sul sistema c'è poco spazio libero. Se è installato il pacchetto **apt-listchanges**, esso mostrerà (con la sua configurazione predefinita) all'interno di un paginatore informazioni importanti sui pacchetti aggiornati dopo lo scaricamento dei pacchetti. Premere "q" dopo averle lette, per uscire dal paginatore e continuare l'aggiornamento. 4.4.6. Aggiornamento del sistema -------------------------------- Una volta completati i passaggi descritti in precedenza, si è pronti per continuare con la parte principale dell'aggiornamento. Si esegua: # apt full-upgrade Questo comando eseguirà un aggiornamento completo del sistema, installando le versioni più recenti disponibili di tutti i pacchetti e risolvendo i possibili cambiamenti di dipendenze fra i pacchetti dei diversi rilasci. Se necessario, esso installerà taluni nuovi pacchetti (normalmente nuove versioni di librerie o pacchetti rinominati) e rimuoverà i pacchetti resi obsoleti in conflitto. In caso di aggiornamento da una serie di CD/DVD/BD, probabilmente verrà chiesto di inserire uno specifico disco in diversi momenti dell'aggiornamento. Potrebbe capitare di dover inserire più volte lo stesso disco: ciò è dovuto a pacchetti correlati tra loro che sono stati distribuiti su diversi dischi. Nuove versioni di pacchetti attualmente installati che non possono essere aggiornati senza modificare lo stato d'installazione di un altro pacchetto saranno lasciate alla loro attuale versione (contrassegnati come "held back";, "bloccati"). Ciò può essere risolto o utilizzando "aptitude", per designare tali pacchetti per l'installazione, o provando con "apt install pacchetto". 4.5. Possibili problemi durante l'aggiornamento =============================================== Nelle prossime sezioni sono descritti i problemi noti che potrebbero verificarsi durante l'aggiornamento a trixie. 4.5.1. Full-upgrade fallisce con l'errore "Impossibile eseguire immediatamente la configurazione" ------------------------------------------------------------------------------------------------- In alcuni casi il passo "apt full-upgrade" può fallire dopo aver scaricato i pacchetti, con l'errore: E: Could not perform immediate configuration on 'package'. Please see man 5 apt.conf under APT::Immediate-Configure for details. Se ciò si verifica, l'esecuzione invece di "apt full-upgrade -o APT ::Immediate-Configure=0" dovrebbe permettere all'aggiornamento di continuare. Un altro possibile modo di aggirare questo problema è di aggiungere entrambe le fonti bookworm e trixie ai propri file source-list di APT ed eseguire "apt update". 4.5.2. Rimozioni attese ----------------------- Il processo d'aggiornamento a trixie potrebbe richiedere la rimozione di pacchetti dal sistema. L'elenco preciso dei pacchetti varia in base ai pacchetti installati. Queste note di rilascio forniscono un suggerimento generico riguardo le rimozioni di pacchetti, ma, nel dubbio, prima di proseguire si raccomanda di esaminare le rimozioni dei pacchetti che vengono proposte. Per maggiori informazioni sui pacchetti obsoleti in trixie vedere Pacchetti obsoleti. 4.5.3. Conflitti e pre-dipendenze cicliche ------------------------------------------ Talvolta è necessario abilitare l'opzione "APT::Force-LoopBreak" affinché APT possa rimuovere temporaneamente un pacchetto essenziale, a causa di un circolo "è in conflitto con"/"pre-dipende da". Di norma "apt" emette un avviso e cessa l'aggiornamento. Si può evitare questa situazione specificando l'opzione "-o APT::Force-LoopBreak=1" nella riga di comando di "apt". È possibile che la struttura di dipendenze di un sistema sia talmente compromessa da richiedere un intervento manuale; ciò normalmente significa l'uso di "apt" o di # dpkg --remove package_name per eliminare alcuni dei pacchetti che generano il problema, o # apt -f install # dpkg --configure --pending In casi estremi potrebbe essere necessario forzare la re-installazione con un comando del tipo di # dpkg --install /path/to/package_name.deb 4.5.4. Conflitti tra file ------------------------- Non si dovrebbero verificare conflitti tra file se si aggiorna da un sistema bookworm "puro", ma potrebbero verificarsi se sono stati installati backport non ufficiali. Un conflitto tra file causerà un errore simile al seguente: Unpacking (from ) ... dpkg: error processing (--install): trying to overwrite `', which is also in package dpkg-deb: subprocess paste killed by signal (Broken pipe) Errors were encountered while processing: Si può tentare di risolvere un conflitto fra file rimuovendo forzatamente il pacchetto menzionato nell'*ultima* riga del messaggio d'errore: # dpkg -r --force-depends package_name Dopo aver risolto questo problema, si dovrebbe poter riprendere l'aggiornamento ripetendo i comandi "apt" descritti in precedenza. 4.5.5. Modifiche alla configurazione ------------------------------------ Durante l'aggiornamento verranno poste domande riguardanti la configurazione o la riconfigurazione di parecchi pacchetti. Quando viene chiesto se un qualsiasi file nella directory "/etc/init.d" o il file "/etc/manpath.config" deve essere sostituito con quello fornito dal manutentore del pacchetto, di solito è necessario rispondere affermativamente, per garantire la coerenza del sistema. Si può sempre ritornare alle versioni precedenti, dal momento che queste verranno salvate con l'estensione ".dpkg-old". Se non si è sicuri sul da farsi, ci si annoti il nome del pacchetto o del file e si sistemino le cose in un momento successivo. Le informazioni presentate sullo schermo durante l'aggiornamento possono essere riesaminate dopo essere state cercate nel file generato durante l'aggiornamento. 4.5.6. Cambiare la sessione sulla console ----------------------------------------- Quando si usa la console locale del sistema per fare l'aggiornamento, potrebbe accadere che durante l'aggiornamento la console sia spostata su una vista diversa e che si perda la visibilità del processo d'aggiornamento. Questo può accadere, per esempio, sui sistemi con un'interfaccia grafica quando viene riavviato il display manager. Per recuperare la console su cui era in corso l'aggiornamento, usare "Ctrl+Alt+F1", se si è nella schermata di avvio grafico, oppure usare "Alt+F1" se si è in una console testuale locale, per tornare al terminale virtuale 1. Al posto di "F1" usare il tasto funzione con lo stesso numero del terminale virtuale su cui era in corso l'aggiornamento. Per scorrere i diversi terminali in modalità testuale è possibile usare "Alt+Freccia-sinistra" o "Alt+Freccia-destra". 4.6. Aggiornare il kernel e i pacchetti collegati ================================================= Questa sezione spiega come aggiornare il kernel e identifica le relative potenziali problematiche. Si può o installare uno dei pacchetti **linux-image-*** forniti da Debian, oppure compilare un kernel personalizzato dai sorgenti. Si noti che molte informazioni in questa sezione sono basate sull'assunzione che si utilizzerà uno dei kernel modulari di Debian, insieme con **initramfs-tools** e **udev**. Se si sceglie di utilizzare un kernel personalizzato che non richiede un initrd, o se si utilizza un generatore di initrd differente, alcune delle informazioni potrebbero non essere attinenti al proprio caso specifico. 4.6.1. Installazione di un metapacchetto del kernel --------------------------------------------------- Quando si effettua il full-upgrade da bookworm a trixie è fortemente raccomandata, se non è ancora stata fatta, l'installazione di un metapacchetto linux-image-*. Questi metapacchetti richiamano automaticamente una nuova versione del kernel durante gli aggiornamenti. si può verificare se ne è installato uno eseguendo: $ dpkg -l 'linux-image*' | grep ^ii | grep -i meta Se non si vede alcun output, si dovrà installare manualmente un nuovo pacchetto linux-image oppure installare un metapacchetto linux-image. Per vedere un elenco dei metapacchetti linux-image disponibili eseguire: $ apt-cache search linux-image- | grep -i meta | grep -v transition Se non si è sicuri sul pacchetto da selezionare, si esegua "uname -r" e si cerchi un pacchetto con un nome simile. Ad esempio, se si vede ""4.9.0-8-amd64"" è raccomandata l'installazione di **linux-image- amd64**. Si può anche utilizzare "apt" per vedere una lunga descrizione di ciascun pacchetto che aiuti a scegliere il migliore disponibile. Ad esempio: $ apt show linux-image-amd64 Si dovrebbe quindi utilizzare "apt install" per installarlo. Una volta che questo nuovo kernel è installato si dovrebbe riavviare alla prossima opportunità disponibile per poter godere dei benefici offerti dalla nuova versione del kernel. Tuttavia guardare Cose da fare dopo l'aggiornamento prima di riavviare prima di effettuare il primo riavvio dopo l'aggiornamento. Per i più avventurosi esiste un modo agevole per compilare il proprio kernel personalizzato su Debian. Si installino i sorgenti del kernel forniti nel pacchetto **linux-source**. Per compilare un pacchetto binario si può usare il target "deb-pkg" disponibile nel makefile dei sorgenti. Ulteriori informazioni possono essere trovate nel Debian Linux Kernel Handbook, che può a sua volta essere trovato anche nel pacchetto **debian-kernel-handbook**. Se possibile, è preferibile aggiornare il pacchetto del kernel separatamente dall'aggiornamento "full-upgrade" principale, per ridurre i rischi di trovarsi con un sistema temporaneamente non avviabile. Si noti che questo dovrebbe essere fatto soltanto dopo il processo di aggiornamento minimo descritto in Aggiornamento minimo del sistema. 4.7. Preparazione per il prossimo rilascio ========================================== Dopo l'aggiornamento ci sono molte cose che si possono fare per prepararsi per il prossimo rilascio. * Si rimuovano i pacchetti ora obsoleti o ridondanti come descritto in Accertarsi di avere spazio disponibile a sufficienza per l'aggiornamento e Pacchetti obsoleti. Si dovrebbe controllare quali file di configurazione questi usano e considerare l'eliminazione completa dei pacchetti per rimuovere i loro file di configurazione. Vedere anche Eliminare completamente i pacchetti rimossi. 4.7.1. Eliminare completamente i pacchetti rimossi -------------------------------------------------- È generalmente consigliabile eliminare completamenti i pacchetti rimossi. Questo è particolarmente vero se i pacchetti sono stati rimossi in aggiornamenti a rilasci precedenti (es. nell'aggiornamento a bookworm) o se sono stati forniti da produttori esterni. In particolare è noto che i vecchi script init.d possono causare problemi. Attenzione: L'eliminazione completa di un pacchetto in genere elimina anche i suoi file di log, perciò può essere desiderabile farne prima un backup. Il comando seguente mostra un elenco di tutti i pacchetti rimossi che potrebbero avere dei file di configurazione rimasti nel sistema: $ apt list '~c' I pacchetti possono essere rimossi usando "apt purge". Ipotizzando di volerli eliminare completamente tutti in una volta, si può usare il comando seguente: # apt purge '~c' 4.8. Pacchetti obsoleti ======================= trixie introduce moltissimi nuovi pacchetti, ma nel contempo ritira e manca di alcuni vecchi pacchetti che erano presenti in bookworm. Non viene fornito alcun percorso di aggiornamento per questi pacchetti obsoleti. Nulla impedisce di continuare a usare pacchetti obsoleti, se così si desidera, ma il progetto Debian terminerà solitamente il supporto di sicurezza per essi un anno dopo il rilascio di trixie [5] e normalmente non fornirà altro supporto oltre a quello nel frattempo. È raccomandata la loro sostituzione con le alternative disponibili, se ve ne sono. Vi sono molte ragioni per cui i pacchetti possono essere stati rimossi dalla distribuzione: non sono più mantenuti a monte, non vi sono più sviluppatori Debian interessati alla manutenzione dei pacchetti, le funzionalità fornite sono state superate da altri software o da una nuova versione, oppure non sono più considerati adatti per trixie a causa di errori. In quest'ultimo caso, i pacchetti potrebbero continuare a essere presenti nella distribuzione "unstable". I "Pacchetti obsoleti o creati localmente" possono essere elencati ed eliminati completamente usando la riga di comando con: $ apt list '~o' # apt purge '~o' Il Sistema di tracciamento dei bug (BTS) di Debian fornisce spesso informazioni aggiuntive sul perché un determinato pacchetto è stato rimosso. Si dovrebbero visionare sia i rapporti per il pacchetto stesso, sia i rapporti archiviati dei bug per lo pseudo-pacchetto ftp.debian.org. Per un elenco dei pacchetto obsoleti per trixie fare riferimento a Pacchetti obsoleti degni di nota. 4.8.1. Pacchetti fittizi di transizione --------------------------------------- Alcuni pacchetti da bookworm possono essere stati sostituiti in trixie da pacchetti fittizi di transizione, che sono segnaposti vuoti progettati per semplificare gli aggiornamenti. Se, per esempio, un'applicazione che era precedentemente in un singolo pacchetto è stata suddivisa in diversi, può essere fornito un pacchetto di transizione con lo stesso nome del vecchio pacchetto e con le dipendenze appropriate per far sì che siano installati i nuovi. Dopo che ciò è avvenuto il pacchetto fittizio ridondante può essere rimosso senza problemi. Le descrizioni dei pacchetti fittizi di transizione solitamente indicano il loro scopo. Tuttavia non sono uniformi; in particolare alcuni pacchetti "fittizi" sono progettati per rimanere installati allo scopo di richiamare una suite software completa o per tracciare l'attuale versione più recente di un certo programma. Si può anche trovare utile "deborphan" con le opzioni "--guess-*" (per esempio "-- guess-dummy") per identificare i pacchetti fittizi di transizione nel proprio sistema. [1] Se la priorità di debconf è impostata ad un valore molto alto potrebbe bloccare i prompt di configurazione quindi i servizi che si basano su risposte predefinite che non sono appropriate per il proprio sistema non partiranno. [2] Per esempio i servizi DNS e DHCP, in modo particolare se non c'è ridondanza o failover. Nel caso del DHCP gli utenti finali potrebbero essere disconnessi dalla rete se il lease time è inferiore al tempo necessario per la conclusione dell'aggiornamento. [3] Questa funzionalità può essere disabilitata aggiungendo il parametro "panic=0" ai parametri di avvio del proprio sistema. [4] Normalmente il sistema di gestione di pacchetti di Debian non consente a un pacchetto di rimuovere o sostituire un file controllato da un altro pacchetto, a meno che non sia stato definito che il primo pacchetto sostituisce il secondo. [5] O per tutto il tempo in cui non uscirà un altro rilascio. Tipicamente solo due rilasci stabili sono supportati contemporaneamente. 5. Problemi di cui essere al corrente per trixie ************************************************ A volte i cambiamenti introdotti da un nuovo rilascio comportano effetti collaterali che non si possono ragionevolmente evitare o che espongono errori da altre parti. In questa sezione sono documentati i problemi noti. Si leggano anche le errata corrige, la documentazione dei pacchetti interessati, le segnalazioni di errori e altre informazioni riportate in Ulteriori letture. 5.1. Aspetti specifici dell'aggiornamento a trixie ================================================== Questa sezione tratta le voci relative all'aggiornamento da bookworm a trixie. 5.1.1. Il firmware non libero è stato spostato in una sua propria componente dell'archivio ------------------------------------------------------------------------------------------ Come descritto in Aree dell'archivio, i pacchetti del firmware non liberi vengono ora serviti da una componente dedicata dell'archivio chiamata "non-free-firmware". Per garantire che i pacchetti con firmware non libero ricevano gli aggiornamenti appropriati sono necessarie modifiche alla configurazione di APT. Assumento che la componente "non-free" sia stata aggiunta a sources-list di APT per installare il firmware, la voce aggiornata per sources-list di APT potrebbe essere simile a: deb https://deb.debian.org/debian bookworm main non-free-firmware Se si è stati indirizzati a questo capitolo da "apt", si può evitare che dia continuamente notifiche riguardo a questo cambiamento creando un file apt.conf(5) chiamato "/etc/apt/apt.conf.d/no-bookworm- firmware.conf" con il contenuto seguente: APT::Get::Update::SourceListWarnings::NonFreeFirmware "false"; 5.1.2. Modifiche ai pacchetti che impostano l'orologio di sistema ----------------------------------------------------------------- Il pacchetto **ntp**, che era in passato il modo predefinito per impostare l'orologio di sistema da un server NTP (Network Time Protocol), è stato rimpiazzato da **ntpsec**. La maggior parte degli utenti non dovrà fare alcuna azione specifica per fare la transione da **ntp** a **ntpsec**. In bookworm ci sono anche diversi altri pacchetti che forniscono un servizio simile. Quello predefinito in Debian è attualmente **systemd- timesyncd**, che può essere adatto per gli utenti che hanno bisogno di un client "ntp" per impostare il loro orologio. bookworm include anche **chrony** e **openntpd** che supportano funzionalità più avanzate, come mettere in funzione un proprio server NTP. 5.1.3. Sistema Puppet di gestione della configurazione aggiornato a 7 --------------------------------------------------------------------- Puppet è stato aggiornato da 5 a 7, saltando del tutto la serie Puppet 6. Questo introduce cambiamenti importanti nell'ecosistema Puppet. L'applicazione classica Puppet Master 5.5.x basata su Ruby è diventata deprecata dagli autori originali e non è più disponibile in Debian. È stata rimpiazzata da Puppet Server 7.x, fornito dal pacchetto **puppetserver**. Il pacchetto viene installato automaticamente come dipendenza del pacchetto di transizione **puppet-master**. In alcuni casi Puppet Server è un rimpiazzo diretto per Puppet Master, ma si dovrebbero controllare i file di configurazione disponibili in "/etc/puppet/puppetserver" per assicurarsi che i nuovi valori predefiniti siano adatti per l'utilizzo che se ne fa. In particolare il formato obsoleto per il file "auth.conf" è deprecato, per i dettagli vedere la documentazione per auth.conf. L'approccio raccomandato è quello di aggiornare il server prima dei client. Il server Puppet 7 è compatibile all'indietro con i client più vecchi; un server Puppet 5 può ancora gestire gli agenti aggiornati, ma non può registrare nuovi agenti Puppet 7. Perciò se si mettono in uso nuovi agenti Puppet 7 prima di aver aggiornato il server, non si potrà aggiungerli alla flotta. Il pacchetto **puppet** è stato rimpiazzato dal pacchetto **puppet- agent** ed è ora un pacchetto di transizione per assicurare un aggiornamento senza problemi. Da ultimo, il pacchetto **puppetdb** è stato rimosso in bullseye ma è stato reintrodotto in bookworm. 5.1.4. youtube-dl è stato rimpiazzato da yt-dlp ----------------------------------------------- Il popolare strumento **youtube-dl**, che può scaricare video da una grande varietà di siti web (incluso YouTube, ma non solo quello) non è più incluso in Debian. È stato invece rimpiazzato da un pacchetto vuoto di transizione che richiama il pacchetto **yt-dlp**. **yt-dlp** è un fork di **youtube-dl** su cui è attualmente attivo il nuovo sviluppo. Non vengono forniti wrapper di compatibilità, perciò sarà necessario modificare i propri script e le proprie abitudini per chiamare "yt- dlp" invece di "youtube-dl". Le funzionalità dovrebbero essere per lo più le stesse, anche se alcune opzioni e dettagli del comportamento sono state modificate. Assicurarsi di controllare la yt-dlp.1 di "yt- dlp" per i dettagli e in particolare la sezione sulle yt- dlp.1.html#Differences_in_default_behavior. 5.1.5. Le versioni di Fcitx non possono più essere installate insieme --------------------------------------------------------------------- I pacchetti **fcitx** e **fcitx5** forniscono la versione 4 e la versione 5 della popolare infrastruttura per metodo di input Fcitx. Seguendo la raccomandazione degli autori originali, non possono più essere installate insieme nello stesso sistema operativo. Gli utenti dovrebbero determinare quale sia la versione di Fcitx deve essere mantenuta se avevano in precedenza installato insieme **fcitx** e **fcitx5**. Prima dell'aggiornamento, è fortemente consigliato di eliminare definitivamente tutti i pacchetti relativi alla versione di Fcitx non desiderata ("fcitx-*" per Fcitx 4 e "fcitx5-*" per Fcitx 5). Quando l'aggiornamento è completato, considerare di ripetere l'esecuzione di "im-config" per selezionare l'infrastruttura per metodo di input desiderata da utilizzare nel sistema. Ulteriori informazioni in merito possono essere trovate nell'annuncio inviato nella mailing-list (testo scritto in cinese semplificato). 5.1.6. I nomi dei pacchetti per MariaDB non includono più i numeri di versione ------------------------------------------------------------------------------ A differenza di bullseye che aveva la versione di MariaDB nei nomi di pacchetto (es. **mariadb-server-10.5** e **mariadb-client-10.5**), in bookworm i nomi dei pacchetti corrispondenti per MariaDB 10.11 sono completamente privi di versione (es. **mariadb-server** o **mariadb- client**). La versione di MariaDB è sempre visibile nei metadati relativi alla versione del pacchetto. Esiste almeno uno scenario di aggiornamento noto (Bug #1035949) in cui la transizione ai nomi di pacchetto fallisce; l'esecuzione di # apt-get install default-mysql-server può fallire quando **mariadb-client-10.5** e il file "/usr/bin /mariadb-admin" in esso sono rimossi prima che il servizio di init SysV per il server MariaDB abbia attivato uno spegnimento che usa "mariadb-admin". La soluzione è quella di eseguire # apt upgrade prima di eseguire # apt full-upgrade . Per maggiori informazioni sul cambiamento relativo ai nomi di pacchetto in MariaDB, vedere /usr/share/doc/mariadb- server/NEWS.Debian.gz. 5.1.7. Modifiche alla registrazione dei log di sistema ------------------------------------------------------ Il pacchetto **rsyslog** non è più necessario nella maggior parte dei sistemi e può essere possibile rimuoverlo. Molti programmi producono messaggi di log per informare l'utente di ciò che stanno facendo. Questi messaggi possono essere gestiti dal "giornale" di systemd o da un "demone per log di sistema" come "rsyslog". In bookworm, **rsyslog** era installato in modo predefinito e il giornale di sistema era configurato per inoltrare i messaggi di log a rsyslog che scrive i messaggi in vari file di testo come "/var/log/syslog". A partire da trixie, **rsyslog** non è più installato in modo predefinito. Se non si desidera continuare ad utilizzare "rsyslog", dopo l'aggiornamento lo si può contrassegnare come installato automaticamente con # apt-mark auto rsyslog e poi un # apt autoremove lo rimuoverà, se è possibile. Se si è fatto aggiornamenti da versioni più vecchie di Debian e non si sono accettate le impostazioni predefinite di configurazione, il giornale potrebbe non essere stato configurato per salvare i messaggi in un archiviazione persistente: le istruzioni per abilitare questo comportamento sono in journald.conf(5). Se si decide di non usare più **rsyslog**, si può usare il comando "journalctl" per leggere i messaggi di log che vengono memorizzati in un formato binario sotto a "/var/log/journal". Per esempio # journalctl -e mostra i messaggi di log più recenti nel giornale e # journalctl -ef mostra i nuovi messaggi mentre vengono scritti (in modo simile all'esecuzione di # tail -f /var/log/syslog ). 5.1.8. Le modifiche a rsyslog hanno effetto sugli analizzatori di log come logcheck ----------------------------------------------------------------------------------- **rsyslog** ora usa in modo predefinito "marcature temporali ad alta precisione" che possono avere effetto su altri programmi che analizzano i log di sistema. Ulteriori informazioni su come configurare questa impostazione possono essere trovate in rsyslog.conf(5). La modifica alle marcature temporali può richiedere l'aggiornamento di regole di **logcheck** create localmente. "logcheck" controlla i messaggi nel log di sistema (prodotti da "systemd-journald" o "rsyslog") rispetto ad un database personalizzabile di espressioni regolari note come regole. Le regole che indicano una corrispondenza con l'ora in cui un messaggio è stato prodotto devono essere aggiornate per corrispondere al nuovo formato di "rsyslog". Le regole predefinite, che vengono fornite dal pacchetto **logcheck-database**, sono state aggiornate ma può essere necessario aggiornare altre regole, incluse quelle create localmente, affinché riconoscando il nuovo formato. Vedere /usr/share/doc/logcheck-database/NEWS.Debian.gz per uno script che aiuta ad aggiornare le regole "logcheck" locali. 5.1.9. rsyslog crea meno file di log ------------------------------------ **rsyslog** ha modificato quali file crea e alcuni file in "/var/log" possono essere cancellati. Se si continua ad usare **rsyslog** (vedere Modifiche alla registrazione dei log di sistema), alcuni file di log in "/var/log" non verranno più creati in modo predefinito. I messaggi che venivano scritti in tali file sono anche in "/var/log/syslog" ma non vengono più creati in modo predefinito. Tutto ciò che era prima scritto in questi file sarà sempre disponibile in "/var/log/syslog". I file che non vengono più creati sono: * "/var/log/mail.{info,warn,err}" Questi file contenevano messaggi dall'agente di trasporto della posta locale (MTA), suddivisi per priorità. Dato che "/var/log/mail.log" contiene tutti i messaggi relativi alla posta, questi file (e le loro controparti ruotate) possono essere eliminati senza problemi. Se si usano questi file per monitorare le anomalie, un'alternativa adatta può essere qualcosa come logcheck. * "/var/log/lpr.log" Questi file contenevano messaggi di log relativi alla stampa. Il sistema di stampa predefinito in Debian è **cups** che non usa tali file perciò, a meno che non è stato installato un diverso sistema di stampa, questi file (e le loro controparti ruotate) possono essere eliminati. * "/var/log/{messages,debug,daemon.log}" Questi file (e le loro controparti ruotate) possono essere eliminati. Tutto ciò che veniva scritto in tali file sarà sempre in "/var/log/syslog". 5.1.10. L'aggiornamento di slapd può richiedere un intervento manuale --------------------------------------------------------------------- OpenLDAP 2.5 è un nuovo rilascio principale e include diverse modifiche incompatibili, come descritto nell'annuncio di rilascio degli autori originali. A seconda della configurazione, il servizio "slapd" può rimanere in arresto dopo l'aggiornamento, fino a che non sono completati i necessari aggiornamenti alla configurazione. Quelle che seguono sono alcune delle modifiche incompatibili note: * I backend per database slapd-bdb(5) e slapd-hdb(5) sono stati rimossi. Se si usa uno di questi backend in bookworm, è caldamente raccomandato migrare al backend slapd-mdb(5) *prima* di aggiornare a trixie. * Il backend per database slapd-shell(5) è stato rimosso. * L'overlay slapo-ppolicy(5) ora include il proprio schema compilato nel modulo. Lo schema esterno vecchio, se presente, va in conflitto con quello nuovo incorporato. * Il modulo contribuito per password slapd-pw-argon2.5 è stato rinominato in argon2. Le istruzioni per completare l'aggiornamento e riprendere il servizio "slapd" possono essere trovate in /usr/share/doc/slapd/README.Debian.gz. Si dovrebbero anche consultare le note di aggiornamento degli autori originali. 5.1.11. GRUB non esegue più os-prober in modo predefinito --------------------------------------------------------- Per molto tempo **grub** ha usato il pacchetto **os-prober** per rilevare gli altri sistemi operativi installati su un computer, in modo da poterli aggiungere al menu di avvio. Sfortunatamente ciò può essere problematico in alcuni casi (es. quando sono in esecuzioni macchine virtuali ospitate), perciò è stato disabilitato in modo predefinito nell'ultimo rilascio a monte. Se si usa GRUB per avviare il sistema e si desidera che continui ad elencare gli altri sistemi operativi nel menu di avvio, si può modificare questo comportamento. Modificare il file "/etc/default/grub", assicurandosi di avere l'impostazione "GRUB_DISABLE_OS_PROBER=false" ed eseguire nuovamente "update-grub", oppure eseguire # dpkg-reconfigure per modificare questa ed altre impostazioni di GRUB in un modo più amichevole. 5.1.12. GNOME ha ridotto il supporto di accessibilità per i lettori dello schermo --------------------------------------------------------------------------------- Molte applicazioni "GNOME" sono passate dal toolkit grafico "GTK3" a "GTK4". Purtroppo questo ha fatto sì che molte applicazioni siano molto meno usabili con i lettori dello schermo, come **orca**. Se si dipende da un lettore dello schermo, si dovrebbe considerare il passaggio ad un desktop diverso, come Mate, che ha un migliore supporto per l'accessibilità. Lo si può fare installando il pacchetto **mate-desktop-environment**. Informazioni su come usare Orca in Mate sono disponibili qui. 5.1.13. La base per PC a 32 bit ora è i686 ------------------------------------------ Il supporto Debian per PC a 32 bit (noti come architettura Debian i386) non copre più alcun processore i586. Il nuovo requisito minimo è i686. Questo significa che l'architettura i386 ora richiede l'istruzione "long NOP" (NOPL) , mentre bullseye supportava ancora alcuni processori i586 senza quella istruzione (es. "AMD Geode"). Se la propria macchina non è compatibile con questo requisito, è raccomandato rimanere con bullseye per tutto il resto del suo ciclo di vita supportato. 5.1.14. Modifiche alla configurazione di polkit ----------------------------------------------- Per coerenza con la distribuzione a monte e altre distribuzioni, il servizio "polkit" (in precedenza noto come "PolicyKit", che permette a programmi non privilegiati di accedere a servizi di sistema con privilegi, ha cambiato la sintassi e la posizione delle regole delle politiche locali. Si dovrebbero ora scrivere regole locali per personalizzare la politica di sicurezza in JavaScript e posizionarle in "/etc/polkit-1/rules.d/*.rules". Esempi di regole che usano questo nuovo formato possono essere trovati in "/usr/share/doc/polkitd/examples/" e polkit.8.html#AUTHORIZATION_RULES ha ulteriori informazioni. In precedenza le regole potevano essere scritte nel formato "pkla" e messe in sottodirectory di "/etc/polkit-1/localauthority" o "/var/lib/polkit-1/localauthority". Tuttavia i file ".pkla" ora dovrebbero essere considerati come deprecati e continueranno a funzionare solo se è installato il pacchetto **polkitd-pkla**. Questo pacchetto viene solitamente installato automaticamente quando si fa l'aggiornamento a bookworm, ma è probabile che non venga incluso nei rilasci futuri di Debian, perciò ogni modifica alla politica locale dovrà essere migrata nel formato JavaScript. 5.1.15. È ora necessaria una""/usr" unificata" ---------------------------------------------- Debian ha adottato una organizzazione del file system, chiamata ""/usr" unificata", che non include più le vecchie directory "/bin", "/sbin", "/lib" o varianti opzionali come "/lib64". Nella nuova organizzazione le vecchie directory sono sostituite da collegamenti simbolici alle corrispondenti posizioni "/usr/bin", "/usr/sbin", "/usr/lib" e "/usr/lib64". Ciò significa che, ad esempio, sia "/bin/bash" sia "/usr/bin/bash" lanciano "bash". Per i sistemi installati come buster o bullseye non ci saranno modifiche, dato che la nuova organizzazione del file system era già quella predefinita in tali rilasci. Tuttavia, l'organizzazione più vecchia non è più supportata e i sistemi che la usano verranno convertiti alla nuova organizzazione quando vengono aggiornati a bookworm. La conversione alla nuova organizzazione non dovrebbe avere alcun impatto per la maggior parte degli utenti. Tutti i file sono spostati automaticamente nelle loro nuove posizioni, anche se erano stati installati localmente o se provengono da pacchetti non forniti in Debian, e percorsi definiti in maniera fissa come "/bin/sh" continuano a funzionare. Ci sono, tuttavia, alcuni problemi potenziali: * # dpkg --search darà risposte sbagliate per i file spostati nelle nuove posizioni. # dpkg --search /usr/bin/bash non identificherà il fatto che "bash" proviene da un pacchetto. (Ma # dpkg --search /bin/bash continua a funzionare come atteso.) * Il software locale, non fornito da Debian, può non supportare la nuova organizzazione e può, ad esempio, fare affidamento sul fatto che "/usr/bin/name" e "/bin/name" siano due file differenti. Ciò non è supportato nei sistemi unificati (incluse le nuove installazioni a partire da buster), perciò ogni software di quel tipo deve essere corretto o rimosso prima dell'aggiornamento. * I sistemi che si appoggiano su on "livello di base" che non è direttamente scrivibile (come immagini WSL1 o sistemi contenitore che usano file system overlayfs multilivello) non possono essere convertiti in modo sicuro e dovrebbero essere rimpiazzati (es., installando una nuova immagine WSL1 dall'archivio) oppure si dovrebbe fare l'aggiornamento di ogni singolo livello (es., aggiornando il livello Debian di base dell'overlayfs in modo indipendente) piuttosto che usare dist-upgraded. Per ulteriori informazioni vedere The Case for the /usr merge e la risoluzione del Debian Technical Committee. 5.1.16. Aggiornamenti non supportati da buster falliscono per "libcrypt1" ------------------------------------------------------------------------- Debian supporta ufficialmente gli aggiornamenti solo da un rilascio stabile al successivo, ad esempio da bullseye a bookworm. Gli aggiornamenti da buster a bookworm non sono supportati e falliscono a causa del Bug n.993755 con il seguente errore: Setting up libc6:ARCH (2.36-9) ... /usr/bin/perl: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory dpkg: error processing package libc6:ARCH (--configure): installed libc6:ARCH package post-installation script subprocess returned error exit status 127 È tuttavia possibile risolvere manualmente questa particolare situazione installando forzatamente il nuovo libcrypt1: # cd $(mktemp -d) # apt download libcrypt1 # dpkg-deb -x libcrypt1_*.deb . # cp -ra lib/* /lib/ # apt --fix-broken install 5.1.17. openssh-server non legge più ~/.pam_environment ------------------------------------------------------- Il demone Secure Shell (SSH) fornito nel pacchetto **openssh-server**, che permette il login da sistemi remoti, non legge più in modo predefinito il file "~/.pam_environment" degli utenti; questa funzionalità ha problemi storici di sicurezza ed è stata deprecata nelle attuali versioni della libreria Pluggable Authentication Modules (PAM) library. Se si usava questa funzionalità, si dovrebbe passare dall'impostare le variabili in "~/.pam_environment" all'impostarle invece nei propri file di inizializzazione della shell (es. "~/.bash_profile" o "~/.bashrc") o qualche altro meccanismo simile. La cosa non ha effetto sulle connessioni SSH esistenti, ma le nuove connessioni possono comportarsi in modo diverso dopo l'aggiornamento. Se si sta facendo l'aggiornamento da remoto, è normalmente una buona idea assicurarsi di avere un qualche altro modo per fare il login nel sistema prima di avviare l'aggiornamento; vedere Preparazione per il ripristino. 5.1.18. OpenSSH non supporta più le chiavi DSA ---------------------------------------------- Le chiavi Digital Signature Algorithm (DSA), come specificate nel protocollo Secure Shell (SSH), sono intrinsecamente deboli: sono limitate a chiavi private a 160 bit e a SHA-1 digest. L'implementazione di SSH fornita dai pacchetti **openssh-client** e **openssh-server** ha il supporto per le chiavi DSA disabilitato a partire da OpenSSH 7.0p1 nel 2015, rilasciato con Debian 9 ("stretch"), sebbene potesse ancora essere abilitato usando le opzioni di configurazione "HostKeyAlgorithms" e "PubkeyAcceptedAlgorithms", rispettivamente per le chiavi dell'host e dell'utente. A questo punto l'unico uso restante di DSA dovrebbe essere quello di connettersi a un qualche dispositivo molto vecchio. Per tutti gli altri usi, gli altri tipi di chiave supportati da OpenSSH (RSA, ECDSA e Ed25519) sono migliori. A partire da OpenSSH 9.8p1 in trixie, le chiavi DSA non sono più supportate neanche con le opzioni di configurazione descritte sopra. Se si ha un dispositivo a cui ci si può connettere solo usando DSA, allora per farlo si può usare il comando "ssh1" fornito dal pacchetto **openssh-client-ssh1**. Nella remota eventualità che si stia ancora usando chiavi DSA per connettersi ad un server Debian (se non si è sicuri si può controllare aggiungendo l'opzione "-v" alla riga di comando di "ssh" utilizzata per connettersi a quel server e cercare la riga "Server accepts key:"), si devono generare chiavi sostitutive prima di fare l'aggiornamento. Per esempio, per generare una nuova chiave Ed25519 e abilitare il login ad un server usando quella, eseguire quanto segue nel client, sostituendo ad "username@server" i nomi appropriati per utente e host: $ ssh-keygen -t ed25519 $ ssh-copy-id username@server 5.2. Cose da fare dopo l'aggiornamento prima di riavviare ========================================================= Quando "apt full-upgrade" ha terminato, l'aggiornamento è "formalmente" completo. Per l'aggiornamento a trixie non ci sono azioni speciali necessarie prima di effettuare un riavvio. 5.2.1. Cosa non limitate al processo di aggiornamento ----------------------------------------------------- 5.2.2. Limitazione nel supporto per la sicurezza ------------------------------------------------ Ci sono alcuni pacchetti per i quali Debian non può garantire di fornire i backport minimi per ragioni di sicurezza. Questi verranno trattati nelle sottosezioni che seguono. Nota: Il pacchetto **debian-security-support** aiuta a tenere traccia dello stato del supporto di sicurezza per i pacchetti installati. 5.2.2.1. Stato della sicurezza dei browser web e dei loro motori di rendering ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Debian 13 contiene diversi motori per browser che sono affetti da varie vulnerabilità di sicurezza. L'alto tasso di vulnerabilità e la parziale mancanza di supporto a lungo termine da parte degli autori originali complica l'attività di supporto di questi browser e motori tramite il backport delle correzioni di sicurezza alle versioni precedenti. Inoltre la dipendenza reciproca delle librerie rende estremamente difficile aggiornare a una nuova versione a monte. Le applicazioni che usano il pacchetto sorgente **webkit2gtk** (es. **epiphany**) sono coperte dal supporto di sicurezza, ma le applicazioni che usano qtwebkit (pacchetto sorgente **qtwebkit- opensource-src**) non lo sono. Per un browser web di uso generico vengono raccomandati Firefox o Chromium. Verranno mantenuti aggiornati ricompilando gli attuali rilasci ESR per stable. La stessa strategia verrà seguita per Thunderbird. Una volta che un rilascio diventa "oldstable", i browser ufficialmente supportati possono non continuare a ricevere aggiornamenti per il periodo di copertura ufficiale. Per esempio, Chromium riceverà solo 6 mesi di supporto di sicurezza in "oldstable" invece dei tipici 12 mesi. 5.2.2.2. Pacchetti basati su Go e Rust ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ L'infrastruttura Debian attualmente ha problemi con la ricompilazione di pacchetti del tipo che usa sistematicamente link statici. Con la crescita degli ecosistemi Go e Rust ciò significa che questi pacchetti saranno coperti da un supporto di sicurezza limitato, fino a che l'infrastruttura non sarà migliorata per poter lavorare con essi in modo mantenibile. Nella maggior parte dei casi, se sono necessari aggiornamenti alle librerie di sviluppo di Go e Rust, questi verranno rilasciati solamente attraverso i regolari rilasci minori. 5.2.3. Gli interpreti Python sono contrassegnati come gestiti esternamente -------------------------------------------------------------------------- I pacchetti per gli interpreti python3 forniti da Debian (**python3.11** e **pypy3**) sono ora contrassegnati come gestiti esternamente, seguendo PEP-668. La versione di python3-pip fornita in Debian segue questo fatto e si rifiuta di installare manualmente pacchetti sugli interpreti Python di Debian a meno che non venga specificata l'opzione "--break-system-packages". Se si ha necessità di installare un'applicazione (o una versione) Python che non è pacchettizzata in Debian, è raccomandata l'installazione con "pipx" (nel pacchetto Debian **pipx**). "pipx" imposterà un ambiente isolato dalle altre applicazioni e moduli Python di sistema e vi installerà l'applicazione e le sue dipendenze. Se si ha la necessità di installare un modulo di libreria (o una versione) Python che non è pacchettizzata in Debian, è raccomandata l'installazione in un ambiente virtuale, quando possibile. Si possono creare ambienti virtuali con il modulo stdlib Python "venv" (nel pacchetto Debian **python3-venv**) o lo strumento Python di terze parti "virtualenv" (nel pacchetto Debian **virtualenv**). Per esempio, invece di eseguire "pip install --user pippo", eseguire: `` mkdir -p ~/.venvs && python3 -m venv ~/.venvs/pippo && ~/.venvs/pippo/bin/python -m pip install pippo`` per installarlo in un ambiente virtuale dedicato. Per maggiori dettagli vedere "/usr/share/doc/python3.11/README.venv". 5.2.4. Supporto limitato per codifica/decodifica video con accelerazione hardware in VLC ---------------------------------------------------------------------------------------- Il riproduttore di video VLC gestisce la codifica e decodifica di video con accelerazione hardware attraverso VA-API e VDPAU. Tuttavia il supporto di VLC per VA-API è strettamente correlato alla versione di FFmpeg. Dato che FFmpeg è stato aggiornato al ramo 5.x, il supporto per VA-API di VLC è stato disabilitato. Gli utenti con GPU con supporto nativo per VA-API (es. GPU Intel e AMD) possono riscontrare un elevato uso della CPU durante la riproduzione e la codifica di video. Gli utenti di GPU che offrono un supporto nativo per VDPAU (es. NVIDIA con i driver non liberi) non sono affetti da questo problema. Il supporto per VA-API e VDPAU può essere controllato con "vainfo" e "vdpauinfo" (ciascuno fornito in un pacchetto Debian con lo stesso nome). 5.2.5. systemd-resolved è stato separato in un pacchetto distinto ----------------------------------------------------------------- Il nuovo pacchetto **systemd-resolved** non viene installato automaticamente con l'aggiornamento. Se si usava il servizio di sistema "systemd-resolved", installare manualmente il nuovo pacchetto dopo l'aggiornamento e notare che, fino a che non è stato installato, la risoluzione di DNS può non funzionare più, dato che il servizio non sarà presente nel sistema. Installare questo pacchetto darà automaticamente a systemd-resolved il controllo di "/etc/resolv.conf". Per maggiori informazioni su systemd-resolved, consultare la documentazione ufficiale. Notare che systemd-resolved non era, e continua a non essere, il risolutore DNS predefinito in Debian. Se non si è configurata la propria macchina per usare systemd-resolved come risolutore per DNS, non è necessaria alcuna azione. 5.2.6. systemd-boot è stato separato in un pacchetto distinto ------------------------------------------------------------- Il nuovo pacchetto **systemd-boot** non viene installato automaticamente con l'aggiornamento. Se si usava "systemd-boot", installare questo nuovo pacchetto manualmente e notare che, fino a che non è stato fatto, la vecchia versione di systemd-boot verrà usata come bootloader. L'installazione di questo pacchetto configura automaticamente systemd-boot come bootloader per la macchina. Il bootloader predefinito in Debian continua ad essere GRUB. Se non si è ancora configurata la macchina per usare systemd-boot come bootloader, non è richiesta alcuna azione. 5.2.7. systemd-journal-remote no usa più GnuTLS ----------------------------------------------- I servizi opzionali systemd-journal-gatewayd e systemd-journal-remote sono ora compilati senza il supporto per GnuTLS, il che significa che l'opzione "--trust" non è più fornita da nessuno dei due programmi, e verrà generato un errore se viene specificata. 5.2.8. Grandi modifiche in adduser per bookworm ----------------------------------------------- Ci sono state diverse modifiche in **adduser**. La modifica più evidente è che "--disabled-password" e "--disabled-login" sono ora funzionalmente identiche. Per ulteriori dettagli leggere "/usr/share/doc/adduser/NEWS.Debian.gz". 5.2.9. Assegnazione di nomi prevedibili per le interfacce di rete Xen --------------------------------------------------------------------- La logica di assegnazione di nomi prevedibili in **systemd** per le interfacce di rete è stata estesa per generare nomi stabili dalle informazioni sui dispositivi netfront di Xen. Ciò significa che, invece del sistema precedente di nomi assegnati dal kernel, le interfacce hanno ora nomi stabili nella forma "enX#". Adattare il proprio sistema prima di riavviare dopo l'aggiornamento. Alcune informazioni in più possono essere trovate nella pagina NetworkInterfaceNames del wiki. 5.2.10. Modifiche nella gestione di dash dell'accento circonflesso ------------------------------------------------------------------ "dash", che fornisce in modo predefinito la shell di sistema "/bin/sh" in Debian, è passata a trattare l'accento circonflesso ("^") come carattere letterale, che è sempre stato il comportamento conforme a POSIX previsto. Ciò significa che in bookworm "[^0-9]" non significa più "non da 0 a 9" ma "da 0 a 9 e ^". 5.2.11. netcat-openbsd supporta socket astratti ----------------------------------------------- L'utilità "netcat" per leggere e scrivere dati attraverso connessioni di rete supporta unix.7.html#Abstract_sockets e li usa in modo predefinito in alcune circostanze. In modo predefinito "netcat" viene fornito da **netcat-traditional**. Tuttavia, se "netcat" è fornito dal pacchetto **netcat-openbsd** e si sta usando un socket "AF_UNIX", allora ha effetto questo nuovo comportamento predefinito ha effetto. In questo caso l'opzione "-U" per "nc" interpreta ora un argomento che inizia con un "@" come una richiesta di un socket astratto invece che come un nome di file che inizia con "@" nella directory corrente. Questo può avere implicazioni di sicurezza poiché i permessi del file system non possono più essere utilizzati per controllare l'accesso ad un socket astratto. Si può continuare ad usare un nome di file che inizia con "@" facendo precedere il nome da "./" o specificando un percorso assoluto. 5.3. Obsolescenze e deprecazioni ================================ 5.3.1. Pacchetti obsoleti degni di nota --------------------------------------- Quello che segue è un elenco di pacchetti obsoleti noti e degni di nota (vedere Pacchetti obsoleti per una descrizione). L'elenco dei pacchetti obsoleti comprende: * Il pacchetto **libnss-ldap** è stato rimosso da trixie. Le sue funzionalità sono ora coperte da **libnss-ldapd** e **libnss-sss**. * Il pacchetto **libpam-ldap** è stato rimosso da trixie. Il suo sostituto è **libpam-ldapd**. * Il pacchetto **fdflush** è stato rimosso da trixie. Al suo posto usare "blockdev --flushbufs" da **util-linux**. * Il pacchetto **libgdal-perl** è stato rimosso da trixie, perché il collegamento Perl per GDAL non è più supportato a monte. Se si ha necessità del supporto Perl per GDAL, si può migrare all'interfaccia FFI fornita dal pacchetto **Geo::GDAL::FFI** disponibile su CPAN. Si dovranno compilare binari propri, come documentato nella pagina BookwormGdalPerl del Wiki. 5.3.2. Componenti deprecati per trixie -------------------------------------- Con il prossimo rilascio di Debian 14 (nome in codice forky) alcune funzionalità diventeranno deprecate. Gli utenti dovranno migrare ad altre alternative per evitare problemi nell'aggiornamento a Debian 14. Ciò include le seguenti funzionalità: * Lo sviluppo del servizio "gw_name" è terminato nel 2015. Il pacchetto associato **libnss-gw-name** potrebbe essere rimosso nei rilasci Debian futuri. Lo sviluppatore originale a monte suggerisce di usare invece **libnss-myhostname**. * **dmraid** non ha ricevuto alcun lavoro dagli autori originali sin dalla fine del 2010 ed è stato mantenuto in vita in Debian. bookworm sarà l'ultimo rilascio a fornirlo, perciò pianificare di conseguenza per il futuro, se si usa **dmraid**. * **request-tracker4** è stato sorpassato da **request-tracker5** in questo rilascio e verrà rimosso dai rilasci futuri. È raccomandato pianificare la migrazione da **request-tracker4** a **request- tracker5** durante il tempo di vita di questo rilascio. * La suite **isc-dhcp** è stata deprecata da ISC. Il Wiki Debian ha una lista di implementazioni alternative, vedere le pagine DHCP Client e DHCP Server per esse. Se si sta usando NetworkManager o systemd-networkd, si può rimuovereil pacchetto **isc-dhcp-client** senza problemi, dato che entrambi forniscono la propria implementazione. Se si sta usando il pacchetto **ifupdown**, si può sperimentare con udhcpc come rimpiazzo. ISC raccomanda il pacchetto **Kea** come rimpiazzo per i server DHCP. Il Team della sicurezza supporterà il pacchetto **isc-dhcp** durante il ciclo di vita di bookworm, ma il pacchetto diventerà probabilmente non supportato nel prossimo rilascio stabile, vedere bug n.1035972 (isc-dhcp EOL'ed) per maggiori dettagli. 5.4. Bug importanti conosciuti ============================== Sebbene Debian venga rilasciata quando è pronta, ciò sfortunatamente non significa che non vi siano bug noti. Come parte del processo di rilascio tutti i bug di gravità seria o superiore sono tracciati attivamente dal Team di Rilascio, perciò una panoramica di tali bug che sono stati etichettati come da ignorare nell'ultima parte del rilascio di trixie può essere trovata nel Sistema di tracciamento dei bug di (BTS). Al momento del rilascio, trixie era affetta dai seguenti bug degni di nota: +------------------------+-----------------------------+--------------------------------+ | Numero di bug | Pacchetto (sorgente o | Descrizione | | | binario) | | |========================|=============================|================================| | 1032240 | **akonadi-backend-mysql** | L'avvio del server di akonadi | | | | fallisce dato che non può | | | | connettersi al database mysql | +------------------------+-----------------------------+--------------------------------+ | 1032177 | **faketime** | faketime non falsifica il | | | | tempo (su i386) | +------------------------+-----------------------------+--------------------------------+ | 918984 | **src:fuse3** | fornire percorso di | | | | aggiornamento fuse -> fuse3 | | | | per bookworm | +------------------------+-----------------------------+--------------------------------+ | 1016903 | **g++-12** | tree-vectorize: codice | | | | sbagliato a livello O2 (-fno- | | | | tree-vectorize funziona) | +------------------------+-----------------------------+--------------------------------+ | 1020284 | **git-daemon-run** | fallisce il purge: deluser -f: | | | | Unknown option: f | +------------------------+-----------------------------+--------------------------------+ | 919296 | **git-daemon-run** | fallisce con messaggio | | | | "warning: git-daemon: unable | | | | to open supervise/ok: file | | | | does not exist" | +------------------------+-----------------------------+--------------------------------+ | 1034752 | **src:gluegen2** | incorpora header non liberi | +------------------------+-----------------------------+--------------------------------+ 6. Maggiori informazioni su Debian ********************************** 6.1. Ulteriori letture ====================== Oltre alle presenti note di rilascio e alla guida all'installazione (all'indirizzo https://www.debian.org/releases/trixie/installmanual), ulteriore documentazione su Debian è disponibile presso il Progetto di Documentazione di Debian (DDP - Debian Documentation Project), il cui scopo è creare documentazione di alta qualità per gli utenti e gli sviluppatori di Debian, quale la Debian Reference, la Guida per i nuovi manutentori Debian, le FAQ Debian e molti altri documenti. Per dettagli completi sulle risorse disponibili si consulti il sito web della documentazione Debian e il Wiki Debian. La documentazione per i singoli pacchetti viene installata in "/usr/share/doc/pacchetto". Questa potrebbe includere anche informazioni sul copyright, dettagli specifici inerenti Debian e ogni altra documentazione dell'autore. 6.2. Ottenere aiuto =================== Ci sono molte fonti disponibili per l'aiuto, le informazioni e il supporto agli utenti di Debian, ma queste dovrebbero essere prese in considerazione solo dopo aver cercato il problema nella documentazione disponibile. Questa sezione fornisce una breve panoramica delle risorse che potrebbero essere d'aiuto ai nuovi utenti di Debian. 6.2.1. Liste di messaggi ------------------------ Le liste di messaggi di maggior interesse per gli utenti di Debian sono debian-user (in inglese), debian-italian (in italiano) e le liste debian-user-lingua (per le altre lingue). Per informazioni su queste liste e dettagli sulle modalità di sottoscrizione si veda https://lists.debian.org/. Si raccomanda di cercare la risposta alla propria domanda negli archivi prima di inviarla e di osservare la «netiquette» standard delle liste. 6.2.2. Internet Relay Chat -------------------------- Debian ha un canale IRC dedicato al supporto e all'aiuto agli utenti Debian, che si trova sulla rete IRC OFTC. Per accedere a tale canale si indirizzi il proprio client IRC preferito su irc.debian.org e si acceda a "#debian". Il canale italiano di supporto è sulla rete IRC OFTC, "#debian-it". Si prega di seguire le linee guida del canale, nel pieno rispetto degli altri utenti. Queste sono disponibili nel wiki di Debian. Per maggiori informazioni su OFTC si visiti il sito web. 6.3. Segnalare i bug ==================== Viene fatto ogni sforzo per rendere Debian un sistema operativo di alta qualità, ma questo non significa che i pacchetti forniti siano totalmente esenti da problemi. Coerentemente con la filosofia dello "sviluppo aperto" di Debian e come servizio per gli utenti forniamo sul sistema di tracciamento dei bug (BTS, Bug Tracking System) tutte le informazioni disponibili sugli errori scoperti. Il BTS è consultabile all'indirizzo https://bugs.debian.org/. Se si trova un errore nella distribuzione o in un software pacchettizzato che ne fa parte si è pregati di segnalarlo, in modo che possa essere opportunamente risolto per i rilasci futuri. Per la segnalazione degli errori è richiesto un indirizzo di posta elettronica valido, per poter tenere traccia degli errori e in modo che gli sviluppatori possano mettersi in contatto con gli autori delle segnalazioni qualora fossero necessarie maggiori informazioni. Si può segnalare un errore utilizzando il programma "reportbug" o manualmente utilizzando la posta elettronica. Si possono ottenere maggiori informazioni sul sistema di tracciamento dei bug e su come utilizzarlo leggendo la documentazione di riferimento (disponibile in "/usr/share/doc/debian", se si ha installato **doc-debian**) o in linea presso il Bug Tracking System. 6.4. Contribuire a Debian ========================= Non è necessario essere degli esperti per contribuire a Debian. Assistendo gli utenti con i problemi che espongono sulle varie liste di supporto per gli utenti si fornisce un contributo alla comunità. Identificare (e anche risolvere) problemi relativi allo sviluppo della distribuzione tramite la partecipazione alle liste per lo sviluppo è un'altra attività estremamente utile. Per mantenere l'alta qualità della distribuzione Debian si possono segnalare errori, in modo da aiutare gli sviluppatori a trovarli e a correggerli. Lo strumento "how-can-i-help" aiuta a trovare dei bug segnalati adatti su cui lavorare. Se si è portati per la scrittura si potrebbe voler fornire più attivamente un contributo aiutando a scrivere la documentazione o a tradurre nella propria lingua la documentazione esistente. Se si ha più tempo da dedicare, si può provvedere alla gestione di una parte della raccolta di software libero contenuta in Debian. È particolarmente utile che delle persone adottino o mantengano elementi che altre persone hanno richiesto di includere in Debian. I dettagli a tal proposito si trovano nel database Work Needing and Prospective Packages. Se si ha un interesse verso qualche area specifica, si potrebbe trovare piacevole fornire un contributo a qualcuno fra i sottoprogetti di Debian, che comprendono port verso architetture particolari e, fra i molti altri, Debian Pure Blends per specifici gruppi di utenti. In ogni caso, se si sta lavorando all'interno della comunità del software libero in un qualunque ambito come utente, programmatore, scrittore o traduttore, si sta già dando un contributo alla causa del software libero. Contribuire è gratificante e divertente e, oltre a permettere di incontrare nuove persone, dà quella certa sensazione interiore di benessere. 7. Gestire il proprio sistema bookworm prima dell'avanzamento ************************************************************* Questa appendice contiene informazioni su come accertarsi di poter aggiornare o installare i pacchetti di bookworm prima di aggiornare a trixie. 7.1. Aggiornare il proprio sistema bookworm =========================================== In linea di principio non vi è alcuna differenza rispetto a qualsiasi altro aggiornamento effettuato in precedenza per bookworm. L'unica differenza è che dapprima sarà necessario accertarsi che il proprio elenco dei pacchetti contenga ancora i riferimenti a bookworm come illustrato in Controllare i propri file source-list per APT. Se si aggiorna il proprio sistema utilizzando un mirror Debian, esso sarà aggiornato automaticamente all'ultimo point release (rilascio minore) di bookworm. 7.2. Controllare i propri file source-list per APT ================================================== Se qualsiasi riga nei propri file source-list di APT (vedere sources.list(5)) contiene riferimenti a "stable", in effetti sta già puntando a trixie. Ciò potrebbe non essere quello che si vuole se non si è ancora pronti per l'avanzamento. Se si è già eseguito "apt update", si può ancora tornare indietro senza problemi seguendo la procedura illustrata in seguito. Se sono già stati installati pacchetti anche da trixie, probabilmente non ha più molto senso installare pacchetti da bookworm. In questo caso si dovrà decidere se si desidera continuare o meno. È possibile il "downgrade" dei pacchetti, ma non è un argomento trattato qui. Da root, aprire il file sources-list rilevante di APT (come ad esempio "/etc/apt/sources.list") con il proprio editor preferito e si esaminino tutte le righe che cominciano con * "deb http:" * "deb https:" * "deb tor+http:" * "deb tor+https:" * "URIs: http:" * "URIs: https:" * "URIs: tor+http:" * "URIs: tor+https:" cercando un riferimento a "stable". Se ve n'è qualcuno, si cambi "stable" in "bookworm". Se vi sono righe che cominciano con "deb file:" o "URIs: file:", si deve controllare da sé se gli indirizzi cui si riferiscono contengono un archivio di bookworm o di trixie. Importante: Non si modifichi alcuna riga che inizia con "deb cdrom:" o "URIs: cdrom:", in quanto in tal caso si invaliderebbe la riga e si dovrebbe eseguire nuovamente "apt-cdrom". Non ci si allarmi se una fonte "cdrom:" fa riferimento a "unstable": sebbene sia motivo di confusione, questo è normale. Se si sono fatte delle modifiche, si salvi il file e si esegua # apt update per aggiornare la lista dei pacchetti. 7.3. Effettuare l'aggiornamento al rilascio bookworm più recente ================================================================ Per aggiornare tutti i pacchetti allo stato nel più recente rilascio minore di bookworm, eseguire # apt full-upgrade 7.4. Rimuovere file di configurazione obsoleti ============================================== Prima di aggiornare il proprio sistema a trixie, è raccomandata la rimozione dei vecchi file di configurazione (come i file "*.dpkg-{new,old}" in "/etc") dal sistema. 8. Contributori delle note di rilascio ************************************** Molte persone hanno aiutato per le note di rilascio, inclusi, ma non solo, * Adam D. Barrat (varie correzioni nel 2013), * Adam Di Carlo (rilasci precedenti), * Andreas Barth aba (rilasci precedenti: 2005 - 2007), * Andrei Popescu (vari contributi), * Anne Bezemer (rilascio precedente), * Bob Hilliard (rilascio precedente), * Charles Plessy (descrizione del problema GM965), * Christian Perrier bubulle (Installazione di Lenny), * Christoph Berg (Problemi specifici con PostgreSQL), * Daniel Baumann (Debian Live), * David Prévot taffit (rilascio di Wheezy), * Eddy Petrișor (vari contributi), * Emmanuel Kasper (backport), * Esko Arajärvi (rifacimento dell'aggiornamento X11), * Frans Pop fjp (rilascio precedente Etch), * Giovanni Rapagnani (innumerevoli contributi), * Gordon Farquharson (problemi del port ARM), * Hideki Yamane henrich (ha contribuito e contribuisce dal 2006), * Holger Wansing holgerw (ha contribuito e contribuisce dal 2009), * Javier Fernández-Sanguino Peña jfs (rilascio di Etch, rilascio di Squeeze), * Jens Seidel (Traduzione in tedesco, innumerevoli contributi), * Jonas Meurer (problemi di syslog), * Jonathan Nieder (rilascio di Squeeze, rilascio di Wheezy), * Joost van Baal-Ilić joostvb (rilascio di Wheezy, rilascio di Jessie), * Josip Rodin (rilasci precedenti), * Julien Cristau jcristau (rilascio di Squeeze, rilascio di Wheezy), * Justin B Rye (correzioni in inglese), * LaMont Jones (descrizione dei problemi di NFS), * Luk Claes (motivatore dei redattori), * Martin Michlmayr (problemi del port ARM), * Michael Biebl (problemi di syslog), * Moritz Mühlenhoff (vari contributi), * Niels Thykier nthykier (rilascio di Jessie), * Noah Meyerhans (innumerevoli contributi), * Noritada Kobayashi (traduzione in giapponese (coordinamento), innumerevoli contributi), * Osamu Aoki (vari contributi), * Paul Gevers elbrus (rilascio di Buster), * Peter Green (nota relativa alla versione del kernel), * Rob Bradford (rilascio di Etch), * Samuel Thibault (descrizione del supporto per Braille), * Simon Bienlein (descrizione del supporto per Braille), * Simon Paillard spaillar-guest (innumerevoli contributi), * Stefan Fritsch (descrizione dei problemi di Apache), * Steve Langasek (rilascio di Etch), * Steve McIntyre (Debian CDs), * Tobias Scherer (descrizione di "proposed-update"), * victory victory-guest (correzioni dei markup, ha contribuito e contribuisce dal 2006), * Vincent McIntyre (descrizione di "proposed-update"), * W. Martin Borgert (modifiche alle note di rilascio di Lenny e passaggio a DocBook XML). Questo documento è stato tradotto in molte lingue. Molte grazie ai traduttori.