1 14/04/2026 8 min

Su Debian 12 l’errore del repository cdrom non è un problema del supporto ottico in sé: è quasi sempre un residuo di configurazione lasciato da installazioni fatte da ISO, chiavetta o media di rete. Il sintomo tipico è un apt update che si ferma con un messaggio del tipo “Please use apt-cdrom to make this CD-ROM recognized by APT” oppure “The repository 'cdrom://...' does not have a Release file”. In pratica APT sta ancora cercando un’origine locale che oggi non è più disponibile o non è più la fonte corretta dei pacchetti.

La correzione giusta non è forzare APT a “capire” il cdrom, ma rimuovere o disabilitare quella sorgente e riportare il sistema su repository Debian firmati e raggiungibili. In un ambiente sano, il repository cdrom non dovrebbe essere necessario dopo il primo bootstrap, salvo casi molto particolari di installazioni offline o ambienti air-gapped.

Perché compare l’errore del repository cdrom

Debian salva le origini dei pacchetti nei file sotto /etc/apt/sources.list e, nelle installazioni più recenti, anche nei file sotto /etc/apt/sources.list.d/. Se durante l’installazione è stata selezionata una sorgente da CD/DVD/ISO, APT può mantenere una riga simile a questa:

deb cdrom:[Debian GNU/Linux 12 _Bookworm_ - Official amd64 NETINST with firmware 2024...]/ bookworm main

Quella riga dice ad APT di cercare pacchetti sul supporto locale. Se il supporto non è montato, è stato espulso, o semplicemente non è più la sorgente desiderata, l’update fallisce. Su server e VM è frequente trovare questa riga come residuo di installazioni iniziali fatte da immagine ISO, poi migrate a mirror HTTP/HTTPS.

Il punto chiave è questo: il repository cdrom non va “riparato” quasi mai; va sostituito con una sorgente online corretta, o rimosso se non serve. Questo evita anche effetti collaterali come liste pacchetti incoerenti, warning continui in apt update e confusione durante gli aggiornamenti di sicurezza.

Verifica rapida: capire se il problema è davvero il cdrom

Prima di toccare la configurazione, conviene verificare quale riga sta causando l’errore e in quale file si trova. La verifica minima è questa:

grep -RIn --color=auto 'cdrom:' /etc/apt/sources.list /etc/apt/sources.list.d/

Se il comando restituisce una o più righe, hai trovato il punto. Se non restituisce nulla ma apt update continua a parlare di cdrom, allora il riferimento può essere in un file gestito da un tool esterno, oppure in una configurazione non standard. In quel caso controlla anche:

apt-cache policy | sed -n '1,120p'

e cerca la sezione 500 cdrom: o una voce equivalente. Se compare, il sistema sta ancora considerando quella origine come valida o almeno presente nella configurazione.

Un altro controllo utile è il contenuto del file principale:

sed -n '1,120p' /etc/apt/sources.list

Su Debian 12 è possibile che il file sia quasi vuoto e che le sorgenti siano distribuite in /etc/apt/sources.list.d/. Non dare per scontato che il problema stia nel file classico: molti ambienti moderni hanno una configurazione spezzata in più frammenti.

Soluzione pratica: disabilitare il repository cdrom

La correzione più pulita è commentare la riga deb cdrom: oppure rimuoverla dal file in cui compare. Se vuoi un approccio reversibile, fai prima un backup del file interessato.

cp -a /etc/apt/sources.list /etc/apt/sources.list.bak.$(date +%F_%H%M%S)

Se il riferimento si trova in un file sotto /etc/apt/sources.list.d/, fai backup di quel file specifico. Per esempio:

cp -a /etc/apt/sources.list.d/nome-file.list /etc/apt/sources.list.d/nome-file.list.bak.$(date +%F_%H%M%S)

Poi apri il file con un editor e commenta la riga incriminata. Con nano:

nano /etc/apt/sources.list

oppure, se sai già che la riga è nel file principale e vuoi un intervento minimale, puoi usare una sostituzione mirata. Questo resta reversibile grazie al backup fatto prima:

sed -i 's|^deb cdrom:|# deb cdrom:|g' /etc/apt/sources.list

Se la riga è in un file diverso, sostituisci il percorso. Il punto non è il metodo, ma il risultato: APT non deve più considerare il cdrom come sorgente attiva.

Dopo la modifica, rilancia l’aggiornamento della cache pacchetti:

apt update

Se il problema era davvero quello, l’errore sul cdrom sparisce e APT inizia a interrogare i mirror configurati. Se invece l’update fallisce ancora, il cdrom era solo un sintomo secondario e bisogna guardare il messaggio successivo: DNS, mirror non raggiungibile, firma GPG, proxy, orologio di sistema o repository di terze parti.

Repository corretti per Debian 12

Una volta disabilitato il cdrom, verifica che il sistema punti a sorgenti sane. Su Debian 12 una configurazione minima tipica usa bookworm, bookworm-updates e bookworm-security. Un esempio essenziale, da adattare alla tua politica di mirror, è il seguente:

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

Se il sistema usa componenti aggiuntivi come contrib o non-free-firmware, ha senso mantenerli solo se servono davvero. Non ampliare la superficie di pacchetti senza motivo: meno componenti, meno rumore, meno dipendenze inutili.

Su sistemi che devono restare il più possibile stabili, conviene usare un mirror interno o un repo aziendale, ma il principio non cambia: il cdrom non deve restare come prima voce attiva se non è il flusso operativo abituale.

Casi in cui il cdrom può essere legittimo

Ci sono casi in cui il repository cdrom ha senso, ma sono casi di nicchia. Per esempio:

  • installazioni offline senza accesso a Internet;
  • ambienti segregati con repository portati su supporti fisici controllati;
  • procedure di bootstrap temporanee, poi migrate a mirror interni;
  • laboratori didattici o sistemi di test che usano ISO come fonte locale.

In questi scenari, però, la gestione va fatta in modo esplicito e documentato. Se il supporto non è sempre montato o disponibile, APT produrrà errori intermittenti e confusi. Perciò, anche quando il cdrom è voluto, va trattato come sorgente eccezionale, non come repository primario permanente.

Se stai amministrando una macchina che deve essere ripristinabile, la scelta migliore è spesso mantenere il cdrom commentato e usare una procedura separata per l’eventuale bootstrap offline. In questo modo eviti che un banale apt update si trasformi in un blocco operativo a ogni manutenzione.

Diagnostica quando l’errore non sparisce

Se dopo aver rimosso il cdrom apt update continua a fallire, il problema è in un altro layer. La sequenza utile è questa:

  1. verifica che la configurazione non contenga ancora riferimenti a cdrom: con grep -RIn;
  2. controlla che i mirror siano risolvibili e raggiungibili con curl -I o ping se ammesso dalla tua policy;
  3. verifica la validità delle chiavi e delle firme dei repository;
  4. controlla l’orario del sistema, perché certificati e firme possono fallire se il clock è fuori scala;
  5. esamina l’output completo di apt update per il primo errore reale, non per il messaggio finale.

Un esempio utile per distinguere il problema del cdrom da un problema di rete è questo:

apt update 2>&1 | tee /tmp/apt-update.log

poi cerca l’errore dominante:

grep -nE 'cdrom|Release file|NO_PUBKEY|Temporary failure|Could not resolve|Failed to fetch' /tmp/apt-update.log

Se il primo errore è ancora il cdrom, la riga non è stata rimossa o è stata rimossa nel file sbagliato. Se invece il primo errore cambia, hai già superato il punto iniziale e puoi concentrarti sul nuovo guasto.

Gestione con strumenti grafici o pannelli

Su un desktop Debian con strumenti grafici, la logica è la stessa: apri la gestione delle sorgenti software e rimuovi la voce legata al supporto ottico. Però in ambiente server la via CLI resta più affidabile, perché ti fa vedere subito il file e la riga esatta. Se usi un pannello o un front-end per APT, controlla che non riscriva automaticamente il file dopo il salvataggio: in alcuni casi la modifica manuale viene sovrascritta da un tool di provisioning o da una policy locale.

Se il nodo è gestito da automazione, verifica anche eventuali template in /etc/apt/, script di bootstrap, cloud-init o configurazioni di immagine golden. Il sintomo può ripresentarsi a ogni rebuild se la sorgente cdrom è stata codificata nel provisioning iniziale.

Procedura consigliata in ordine operativo

Se vuoi un percorso breve e sicuro, usa questo ordine:

  1. identifica il file con grep -RIn 'cdrom:' /etc/apt/sources.list /etc/apt/sources.list.d/;
  2. fai un backup del file coinvolto con cp -a;
  3. commenta o rimuovi la riga deb cdrom:;
  4. esegui apt update e verifica che l’errore sparisca;
  5. controlla che restino solo repository Debian validi e firmati;
  6. se serve, correggi anche mirror, release o componenti mancanti.

Questo approccio ha un blast radius basso: stai toccando solo la sorgente pacchetti, non i pacchetti installati né i servizi in esecuzione. Il rollback è semplice: ripristini il backup del file e rilanci apt update. Se hai usato un editor, conserva sempre la copia originale prima di salvare.

Verifica finale dopo la correzione

Il controllo finale non è solo “APT non dà più errori”. Conviene verificare tre cose concrete:

  1. apt update termina senza errori legati a cdrom;
  2. apt-cache policy mostra solo repository attesi;
  3. i file in /etc/apt/sources.list e /etc/apt/sources.list.d/ non contengono più sorgenti obsolete o duplicate.

Se vuoi essere più rigoroso, conserva anche l’output di apt update prima e dopo la modifica: in caso di audit o manutenzione successiva, ti fa vedere subito che il problema era una sorgente locale non più valida e non un guasto del sistema di pacchettizzazione.

Assunzione: stai lavorando su una installazione Debian 12 standard, con APT classico e accesso shell con privilegi amministrativi sufficienti a modificare i file sotto /etc/apt/.