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. Cose da sapere quando si aggiorna a trixie
Questa sezione tratta le voci relative all'aggiornamento da bookworm a trixie.
5.1.1. Supporto ridotto per i386
A partire da trixie, i386 non è più supportata come architettura regolare; non c'è alcun kernel ufficiale o installatore Debian per i sistemi i386. Meno pacchetti sono disponibili per i386 perché molti progetti non la supportano più. L'unico scopo restante dell'architettura è quello di supportare l'esecuzione di codice obsoleto, per esempio utilizzando il multiarch o una chroot in un sistema a 64 bit (amd64).
L'architettura i386 è ora pensata solamente per l'uso su una CPU a 64 bit (amd64). I requisiti del suo insieme di istruzioni includono il supporto per SSE2, perciò non potrà essere eseguita con successo sulla maggior parte dei tipi di CPU a 32 bit che erano supportati da Debian 12.
Gli utenti che eseguono sistemi i386 non dovrebbero aggiornare a trixie. Debian raccomanda invece di reinstallarli come amd64, dove possibile, o di mettere in disuso l'hardware. Il Cross-grading senza una reinstallazione è un'alternativa tecnicamente possibile, ma rischiosa.
5.1.2. 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.3. 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.1.4. I comandi last, lastb e lastlog sono stati rimpiazzati
Il pacchetto util-linux non fornisce più i comandi last
e lastb
, e il pacchetto login non fornisce più lastlog
. Questi comandi fornivano informazioni sui tentativi di logi precedenti usando /var/log/wtmp
, /var/log/btmp
, /var/run/utmp
e /var/log/lastlog
, ma questi file non saranno usabili dopo il 2038 perché non allocano spazio sufficiente per l'orario di connessione (il Year 2038 Problem), e gli sviluppatori a monte non vogliono cambiare i formati dei file. La maggior parte degli utenti non avrà necessità di cambiare questi comandi con null'altro, ma il pacchetto util-linux fornisce un comando lslogins
che può dire quali account sono stati usati più recentemente.
Sono disponibili due sostituti diretti: last
può essere rimpiazzato da wtmpdb
dal pacchetto wtmpdb (deve essere installato anche il pacchetto libpam-wtmpdb) e lastlog
può essere rimpiazzato da lastlog2
dal pacchetto lastlog2 (deve essere installato anche libpam-lastlog2). Se si desidera usare uno di questi, è necessario installare i nuovi pacchetti dopo l'aggiornamento, vedere NEWS.Debian di util-linux per ulteriori informazioni. Il comando lslogins --failed
fornisce informazioni simili a lastb
.
Se si installa wtmpdb, allora è raccomandato rimuovere i vecchi file di log /var/log/wtmp*
. Se si installa wtmpdb, questo aggiorna /var/log/wtmp
e si possono leggere i vecchi file wtmp con wtmpdb import -f <dest>
. Non esiste uno strumento per leggere il file /var/log/lastlog*
o /var/log/btmp*
: questi possono essere rimossi dopo l'aggiornamento.
5.1.5. RabbitMQ non supporta più le code HA
A partire da trixie le code High-availability (HA) non sono più supportate da rabbitmq-server. Per continuare ad usare una configurazione HA, queste code devono essere convertite in "code quorum".
Se si ha una installazione OpenStack, cambiare le code a quorum prima dell'aggiornamento. Notare anche che a partire dal rilascio "Caracal" di OpenStack in trixie, OpenStack supporta solo code quorum.
5.1.6. RabbitMQ non può essere aggiornato direttamente da bookworm
Non esiste un percorso di aggiornamento facile e diretto per RabbitMQ da bookworm a trixie. I dettagli relativi a questo problema possono essere trovati nel bug 1100165.
Il percorso di aggiornamento raccomandato è quello di eliminare completamente il database di rabbitmq database e riavviare il servizio (dopo l'aggiornamento a trixie). Ciò può essere fatto eliminando /var/lib/rabbitmq/mnesia
e tutto il suo contenuto.
5.1.7. Gli aggiornamenti della versione principale di MariaDB funzionano in modo affidabile solo dopo uno spegnimento pulito.
MariaDB non supporta il ripristino da errori attraverso versioni maggiori diverse. Per esempio, se un server MariaDB 10.11 ha subito uno spegnimento improvviso a causa di una interruzione di alimentazione o di un problema software, il database deve essere riavviato con gli stessi binari MariaDB 10.11 in modo che possa fare il ripristino dagli errori con successo e possa riconciliare i file dei dati e i file di log per portare avanti o annullare le transazioni che sono state interrotte.
Se si cerca di fare il ripristino da un crash con MariaDB 11.8 usando la directory dei dati da un'istanza di MariaDB 10.11 andata in cash, il nuovo server MariaDB si rifiuterà di avviarsi.
Per assicurarsi che un server MariaDB venga spento in maniera pulita prima di fare un aggiornamento della versione principale, fermare il servizio con
# service mariadb stop
e in seguito controllare i log del server cercando Shutdown complete
per confermare che tutti i dati e i buffer siano stati svuotati su disco con pieno successo.
Se non è stato spento in modo pulito, riavviarlo per attivare il recupero dai crash, poi fermarlo di nuovo e controllare che il secondo spegnimento sia stato pulito.
Per informazioni aggiunti su come fare backup e altre informazioni correlate per gli amministratori di sistema, vedere /usr/share/doc/mariadb-server/README.Debian.gz.
5.1.8. Ping non viene più eseguito con privilegi elevati
La versione predefinita di ping (fornita da iputils-ping) non è più installata con accesso alla capacità Linux CAP_NET_RAW, ma usa invece socket datagram ICMP_PROTO
per la comunicazione di rete. L'accesso a questi socket è controllato sulla base dell'appartenenza a gruppi Unix dell'utente usando il sysctl net.ipv4.ping_group_range
. In installazioni normali, il pacchetto linux-sysctl-defaults imposta questo valore ad un valore molto permissivo, permettendo agli utenti non privilegiati di usare ping come atteso, ma alcuni scenari di aggiornamento possono non installare automaticamente questo pacchetto. Vedere /usr/lib/sysctl.d/50-default.conf
e la documentazione del kernel per maggiori informazioni sulle specifiche di questa variabile.
5.1.9. Modifiche alla configurazione di Dovecot
La suite per server di posta dovecot in trixie usa un formato di configurazione che è incompatibile con le versioni precedenti. Dettagli sulle modifiche alla configurazione sono disponibili su docs.dovecot.org.
Allo scopo di evitare un tempo di indisponibilità esteso, è caldamente incoraggiato fare la transizione della propria configurazione in un ambiente di prova prima di iniziare l'aggiornamento di un sistema di posta usato in produzione.
5.1.10. Modifiche importanti alla pacchettizzazione di libvirt
Il pacchetto libvirt-daemon, che fornisce un'API e un toolkit per gestire piattaforme di virtualizzazione, è stato ristrutturato in trixie. Ogni backend per archiviazione e driver viene ora fornito in un pacchetto binario distinto, il che fornisce una flessibilità molto maggiore.
Viene fatta attenzione durante gli aggiornamenti a bookworm a mantenere l'insieme esistente dei componenti, ma in alcuni casi può essere temporaneamente persa qualche funzionalità. È raccomandato rivedere con attenzione l'elenco dei pacchetti binari installati dopo l'aggiornamento, per assicurarsi che siano presenti tutti quelli attesi; questo è anche un ottimo momento per considerare la disinstallazione dei componenti non desiderati.
In aggiunta alcuni file di configurazione possono diventare contrassegnati come "obsoleti" dopo l'aggiornamento. Il file /usr/share/doc/libvirt-common/NEWS.Debian.gz
contiene informazioni aggiuntive su come verificare se il proprio sistema è affetto da questo problema e su come risolverlo.
5.1.11. Cose da fare 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. Cosa non limitate al processo di aggiornamento
5.2.1. Le directory /tmp e /var/tmp vengono ora pulite regolarmente
Nelle installazioni nuove, systemd-tmpfiles elimina regolarmente i vecchi file in /tmp
e /var/tmp
quando il sistema è in esecuzione. Questa modifica rende Debian coerente con altre distribuzioni. Dato che esiste un piccolo rischio di perdita di dati, è stato messo come messanismo "opt-in" (scelto attivamente): l'aggiornamento a trixie crea un file /etc/tmpfiles.d/tmp.conf che reimposta il vecchio comportamento. Questo file può essere cancellato per adottare il nuovo comportamento predefinito, oppure modificato per definire regole personalizzate. Il resto di questa sezione spiega il nuovo comportamento predefinito e come personalizzarlo.
Il nuovo comportamento predefinito prevede la cancellazione automatica dei file in /tmp
dopo 10 giorni dal momento in cui sono stati usati l'ultima volta (così come dopo un riavvio). I file /var/tmp
sono cancellati dopo 30 giorni (ma non dopo un riavvio).
Prima di adottare il nuovo comportamento predefinito, si dovrebbe adattare ogni programma locale che memorizza dati in /tmp
o /var/tmp
per lunghi periodi di tempo in modo che usi posizioni alternative quali ~/tmp/
, oppure dire a systemd-tmpfiles di escludere dalla cancellazione i file creando un file local-tmp-files.conf
in /etc/tmpfiles.d
contenente righe simili a:
x /var/tmp/my-precious-file.pdf
x /tmp/foo
Vedere systemd-tmpfiles(8) e tmpfiles.d(5) per maggiori informazioni.
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.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-gw-name è stato rimosso da trixie. Lo sviluppatore originale a monte suggerisce di usare invece libnss-myhostname.
Il pacchetto pcregrep è stato rimosso da trixie. Può essere sostituito con
grep -P
(--perl-regexp
) opcre2grep
(da pcre2-utils).
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à:
Il pacchetto sudo-ldap verrà rimosso in forky. Il Team Debian di sudo ha deciso di abbandonare il suo uso a causa di difficoltà nella manutenzione e del suo uso limitato. I sistemi nuovi e quelli esistenti dovrebbero usare invece libsss-sudo.
L'aggiornamento da trixie a forky senza che questa migrazione è stata completata può risultare in una perdita dell'atteso innalzamento di privilegi.
Per ulteriori dettagli fare riferimento al bug n. 1033728 e al file NEWS nel pacchetto sudo.
La funzionalità sudo_logsrvd, usata per il log dell'input/output di sudo, è possibile venga rimossa in Debian forky a meno che un manutentore non si faccia avanti. Questo comportamento ha un utilizzo limitato all'interno del contesto di Debian e mantenerlo aggiunge al pacchetto sudo di base una complessità non necessaria.
Per discussioni in corso sull'argomento, vedere il bug n. 1101451 e il file NEWS nel pacchetto sudo.
Il pacchetto libnss-docker non è più sviluppato a monte e richiede la versione 1.21 dell'API Docker. Quella versione deprecata dell'API è ancora supportata da Docker Engine v26 (fornito con Debian trixie), ma verrà rimossas in Docker Engine v27+ (fornito da Debian forky). A meno che lo sviluppo a monte non riprenda attività, il pacchetto verrà rimosso in Debian forky.
I pacchetti openssh-client e openssh-server attualmente supportano l'autenticazione e lo scambio di chiavi GSS-API, che sono solitamente utilizzati per l'autenticazione su servizi Kerberos . Ciò ha causato alcuni problemi, specialmente sul lato server dove aggiunge nuove superfici per attacchi di pre-autenticazione e i pacchetti principali per OpenSSH in Debian smetteranno perciò di supportarlo a partire da forky.
Se si sta usando l'autenticazione o lo scambio di chiavi GSS-API (cercare opzioni che iniziano con
GSSAPI
nei propri file di configurazione di OpenSSH) allora si dovrebbe installare subito il pacchetto openssh-client-gssapi (nei client) o openssh-server-gssapi (nei server). In trixie, questi sono pacchetti vuoti che dipendono da openssh-client e openssh-server rispettivamente; in forky, saranno creati separatamente.sbuild-debian-developer-setup è stato reso deprecato in favore di sbuild+unshare
sbuild, lo strumento per compilare i pacchetti Debian in un ambiente minimale, ha ricevuto un aggiornamento importante e dovrebbe ora funzionare non appena installato. Per questo il pacchetto sbuild-debian-developer-setup non è più necessario ed è stato reso deprecato. Si può provare la nuova versione con:
$ sbuild --chroot-mode=unshare --dist=unstable hello
Il pacchetto fcitx è stato reso deprecato in favore di fcitx5
L'infrastruttura per metodo di input fcitx, nota anche come fcitx4 o fcitx 4.x, non è più mantenuta a monte. Come risultato, tutti i pacchetti per metodo di input relativi sono ora deprecati. Il pacchetto fcitx e i pacchetti con nomi che iniziano con fcitx- verranno rimossi in Debian forky.
Gli utenti attuali di fcitx sono incoraggiati a passare a fcitx5 seguendo la guida alla migrazione degli autori originali di fcitx e la pagina del Wiki Debian.
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 binario) |
Descrizione |
---|---|---|
akonadi-backend-mysql |
L'avvio del server di akonadi fallisce dato che non può connettersi al database mysql |
|
faketime |
faketime non falsifica il tempo (su i386) |
|
src:fuse3 |
fornire percorso di aggiornamento fuse -> fuse3 per bookworm |
|
g++-12 |
tree-vectorize: codice sbagliato a livello O2 (-fno-tree-vectorize funziona) |
|
src:gluegen2 |
incorpora header non liberi |