I manutentori di Debian hanno identificato un problema nel kernel 6.1 che può causare corruzione nei volumi ext4. Di conseguenza, il rilascio pianificato di Debian 12.3 non avrà luogo.
Il problema è identificato come bug Debian #1057843, ed è stato classificato con un livello di gravità “grave” – peggiore di “serio” e solo un gradino sotto “critico.”
Sfortunatamente, il problema è stato identificato mentre il rollout di Debian 12.3 ai vari server mirror era già in corso. Di conseguenza, il rollout della versione 12.3 è stato annullato. Verrà sostituito con la versione 12.4.
Quello che è successo è un po’ complicato. Al momento della scrittura, sembra che una piccola modifica per migliorare le prestazioni, effettuata il 1° novembre, sia stata retroportata alla versione a lungo termine del kernel 6.1. Lo sviluppatore di kernel di SUSE, Jan Kara, ha isolato il problema e lo ha segnalato alla mailing list del kernel.
Si è scoperto che la modifica del 1° novembre richiedeva un’altra modifica diversa, effettuata il 10 giugno, che non era stata retroportata con essa. Con la modifica del 10 giugno, quella dell’1 novembre è corretta, quindi non si tratta di un bug di per sé – non c’è nulla di sbagliato in essa, a meno che la modifica precedente non sia stata effettuata.
Il problema sembra riguardare solo le versioni del kernel 6.1.64 e 6.1.65 – è stato risolto nel kernel 6.1.66. Tuttavia, il 6.1.66 ha introdotto un nuovo problema, anch’esso causato dallo stesso tipo di problema: una correzione minore è stata retroportata senza la modifica precedente necessaria.
Questa modifica è stata annullata l’11 dicembre, risultando nel kernel 6.1.67, che al momento della scrittura è la versione corrente del 6.1 e risolve entrambi i problemi.
Speriamo che sia chiaro.
Questi problemi di dipendenza ci ricordano i brutti vecchi tempi di Linux alla fine degli anni ’90. Durante quel periodo, strumenti di gestione dei pacchetti come il comando RPM di Red Hat non erano abbastanza intelligenti da tracciare quando un pacchetto ne richiedeva un altro e capire da soli quali altri pacchetti erano necessari per far funzionare qualcosa. Installare piccoli programmi – come un editor di testo – poteva comportare tracciare manualmente tutte le sue dipendenze, prendendo appunti su carta o in un file di testo e installandole tutte. Ma ovviamente le dipendenze potrebbero avere dipendenze proprie, rendendo questo un processo ricorsivo. Potresti dover scaricare una dozzina di pacchetti solo per farne funzionare uno.
La scrivania FOSS di Reg ricorda ancora il terrore causato dall’aggiornamento di KDE 1.x a KDE 2.x su una versione precoce di Red Hat Linux, che richiedeva più di 200 pacchetti da identificare manualmente, scaricare individualmente e installare manualmente – nell’ordine giusto, ovviamente.
La prima distribuzione a risolvere questo processo orribile fu Debian nel 1999, quando la versione 2.1 “Slink” arrivò con il nuovo Advanced Package Tool – o apt – che poteva farlo automaticamente. Francamente, mentre Debian allora era ancora molto intimidatorio, guadagnò immediatamente un enorme vantaggio tecnico su Red Hat.
Red Hat alla fine adottò il gestore di pacchetti yum da Yellow Dog Linux specifico per PowerPC e recuperò una sorta di parità. Pensiamo che potrebbe essere stato incluso in Red Hat Linux 8 nel 2002 – ma se così fosse, non è stato menzionato nell’annuncio di rilascio.
Ci sono voluti quasi un decennio perché la risoluzione automatica delle dipendenze arrivasse alle distribuzioni Linux e, fino a quel momento, questo sembrava essere un problema insolvibilmente complesso. Forse è giunto il momento che qualcuno inventi una sorta di meccanismo automatico di tracciamento e risoluzione delle dipendenze per le modifiche al codice del kernel Linux.