Ricerca nel sito web

Come risolvere l'errore 404 Not Found durante l'aggiornamento con apt-get su Debian


L'errore “404 Not Found” durante l'aggiornamento si verifica quando il sistema tenta di scaricare pacchetti da sorgenti di repository che non esistono più o sono state spostate, cosa che avviene tipicamente con le versioni più vecchie di Debian che hanno raggiunto lo stato di fine vita e i cui pacchetti sono stati trasferiti ai server di archivio.

Poiché Debian mantiene cicli di rilascio rigorosi, le versioni più vecchie vengono eventualmente spostate dai mirror attivi a uno storage di archivio dedicato. Quando ciò accade, la configurazione del repository esistente diventa obsoleta e le operazioni del gestore di pacchetti falliscono.

Comprendere gli errori 404 durante l'aggiornamento

Quando esegui apt-get update o apt-get upgrade, il sistema legge la tua lista delle sorgenti da /etc/apt/sources.list e tenta di recuperare le informazioni sui pacchetti dagli URL specificati lì. Se quegli URL puntano a repository che sono stati spostati o rimossi, ricevi errori 404.

La soluzione consiste nell'aggiornare la lista delle sorgenti per puntare ai corretti repository. Poiché diverse versioni di Debian richiedono URL dei repository differenti, identificheremo prima la tua versione attuale, quindi modificheremo la configurazione di conseguenza.

Verifica della versione di Debian

Prima di apportare qualsiasi modifica, è necessario determinare quale versione di Debian si sta utilizzando.

lsb_release -a

Il comando sopra mostra le informazioni sulla tua distribuzione, incluso il numero di versione e il nome in codice.

  • Bookworm → Debian 12
  • Bullseye → Debian 11
  • Buster → Debian 10

Annota il tuo nome in codice, poiché ti servirà nei passaggi successivi.

Configurazione del file di backup delle fonti

Poiché modificherai i file di sistema, creare un backup garantisce di poter ripristinare la configurazione originale se necessario.

sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup

Questo crea una copia della tua lista di sorgenti nella stessa directory; se qualcosa va storto, puoi ripristinarla invertendo la sorgente e la destinazione nel comando sopra.

Aggiornamento delle fonti del repository

Successivamente, è necessario modificare l'elenco delle sorgenti per puntare ai repository corretti. Per le versioni più vecchie di Debian che hanno raggiunto la fine del supporto, è necessario passare ai server di archivio.

Apri il file con un editor di testo:

sudo nano /etc/apt/sources.list

Per le versioni Debian obsolete

Se la tua versione di Debian non è più supportata (ad esempio, Jessie, Stretch o versioni precedenti), sostituisci il contenuto del file con:

deb http://archive.debian.org/debian/ CODENAME main contrib non-free
deb http://archive.debian.org/debian-security/ CODENAME/updates main contrib non-free

Sostituisci CODENAME con il nome in codice della tua Debian (per esempio, stretch per Debian 9).

Per le versioni attualmente supportate

Se la tua versione di Debian è ancora supportata ma ricevi errori 404 (problemi con i mirror), usa invece i repository principali di Debian:

deb http://deb.debian.org/debian/ CODENAME main contrib non-free
deb http://deb.debian.org/debian/ CODENAME-updates main contrib non-free
deb http://security.debian.org/debian-security CODENAME-security main contrib non-free

Sostituisci CODENAME con la tua versione:

  • Debian 12 → bookworm
  • Debian 11 → bullseye
  • Debian 10 → buster

Dopo aver apportato queste modifiche, salva il file premendo Ctrl+O, poi Invio, ed esci con Ctrl+X.

Gestione della convalida del repository degli archivi

I repository d'archivio per le versioni Debian non più supportate non ricevono aggiornamenti di sicurezza, il che significa che i loro file di rilascio non sono più firmati con chiavi valide. Per evitare che il comando apt fallisca a causa di firme scadute, è necessario disabilitare i controlli di validazione per questi repository.

Apri o crea il seguente file di configurazione:

sudo nano /etc/apt/apt.conf.d/99allow-unauthenticated

Aggiungi questa singola riga:

Acquire::Check-Valid-Until "false";

Questa impostazione indica a apt di ignorare il periodo di validità dei file di rilascio, il che è necessario per i repository archiviati che non ricevono più aggiornamenti.

Aggiornamento delle informazioni del pacchetto

Con le sorgenti del tuo repository ora configurate correttamente, aggiorna le liste dei pacchetti, il che recupererà le ultime informazioni sui pacchetti dai repository appena configurati. Se tutto è impostato correttamente, dovrebbe completarsi senza errori 404.

sudo apt-get update

Una volta aggiornate le liste dei pacchetti, puoi aggiornare i pacchetti installati, il che scaricherà e installerà gli aggiornamenti disponibili per il tuo sistema attuale. Per le versioni archiviate, potresti scoprire che pochi o nessun pacchetto viene aggiornato poiché non ricevono più aggiornamenti.

sudo apt-get upgrade

Considerando un Aggiornamento della Distribuzione

Sebbene risolvere gli errori 404 permetta al tuo sistema attuale di funzionare, utilizzare una versione Debian giunta a fine vita significa che non riceverai più aggiornamenti di sicurezza, il che comporta rischi significativi in ambienti di produzione o accessibili da Internet.

Dovresti considerare di aggiornare a una versione di Debian attualmente supportata.

sudo apt-get dist-upgrade

Tuttavia, l'aggiornamento tra le principali versioni di Debian richiede una pianificazione accurata e non dovrebbe essere fatto alla leggera, poiché potrebbe compromettere le configurazioni esistenti o il software installato. Consulta le note di rilascio ufficiali di Debian per la versione di destinazione prima di tentare un aggiornamento importante.

Riepilogo

Gli errori 404 durante apt-get upgrade derivano da URL dei repository obsoleti nella configurazione delle tue fonti. Identificando la versione di Debian, aggiornando la lista delle fonti per puntare ai repository appropriati e regolando le impostazioni di verifica puoi ripristinare la funzionalità della gestione dei pacchetti.

Poiché eseguire versioni non supportate comporta implicazioni per la sicurezza, pianificare un aggiornamento a una versione Debian attuale rimane la soluzione consigliata a lungo termine.