The authoritative copy of the mirror list can always be found at: http://www.debian.org/mirror/list-non-US.
Per vedere se una gerarchia è disponibile, puntare un browser all'indirizzo HTTP riportato sotto, aggiungendo dists/
come percorso. In tale directory si deve trovare una sottodirectory con il nome della distribuzione (ad esempio woody/non-US
).
deb http://ftp.uk.debian.org/debian/ woody main contrib non-free deb http://ftp.uk.debian.org/debian-non-US/ woody/non-US main contrib non-free deb http://security.debian.org/ woody/updates main contrib non-free deb-src http://ftp.uk.debian.org/debian/ woody main contrib non-free deb-src http://ftp.uk.debian.org/debian-non-US/ woody/non-US main contrib non-free
deb http://ftp.uk.debian.org/debian/ sarge main contrib non-free deb http://ftp.uk.debian.org/debian-non-US/ sarge/non-US main contrib non-free deb http://security.debian.org/ sarge/updates main contrib non-free deb-src http://ftp.uk.debian.org/debian/ sarge main contrib non-free deb-src http://ftp.uk.debian.org/debian-non-US/ sarge/non-US main contrib non-free
Per fortuna la legge americana è cambiata, quindi è stata definitivamente abbandonata la sezione non-US
. Dovrebbero esistere mirror per nei vari paesi, sostituire il codice us con il proprio codice nazionale (ad es. it per l'Italia).
deb http://ftp.us.debian.org/debian/ etch main contrib non-free deb http://security.debian.org/ etch/updates main contrib non-free deb-src http://ftp.us.debian.org/debian/ etch main contrib non-free
Normalmente si configurano tre sezioni. La prima sezione contiene i pacchetti predefiniti Debian. La seconda sezione contiene i pacchetti rilasciati dal team Security, sotto la directory debian-security, che include gli aggiornamenti di sicurezza urgenti. La terza sezione è una distribuzione con nome speciale buster-updates, che include i pacchetti aggiornati in attesa che entrino a far parte della successiva point release (ad esempio le versioni aggiornate di un antivirus, ecc.).
# Default Debian packages. deb http://deb.debian.org/debian buster main contrib non-free deb-src http://deb.debian.org/debian buster main contrib non-free # Debian security: urgent security patches. deb http://deb.debian.org/debian-security/ buster/updates main contrib non-free deb-src http://deb.debian.org/debian-security/ buster/updates main contrib non-free # Debian updates: scheduled for the next point release (antivirus updates, etc.). deb http://deb.debian.org/debian buster-updates main contrib non-free deb-src http://deb.debian.org/debian buster-updates main contrib non-free
Con la versione 11 Bullseye troviamo ancora le tre sezioni (rilascio base, security e updates), ma cambia il modo di rilasciare i pacchetti security: non vengono più inclusi come sottodirectory della distribuzione (come era ad esempio con buster/updates
), ma costituiscono una distribuzione con il proprio nome bullseye-security:
deb http://deb.debian.org/debian bullseye main contrib non-free deb-src http://deb.debian.org/debian bullseye main contrib non-free deb http://deb.debian.org/debian-security bullseye-security main contrib non-free deb-src http://deb.debian.org/debian-security bullseye-security main contrib non-free deb http://deb.debian.org/debian bullseye-updates main contrib non-free deb-src http://deb.debian.org/debian bullseye-updates main contrib non-free
È stata aggiunta la componente non-free-firmware:
deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware deb-src http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware deb-src http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware deb http://security.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware deb-src http://security.debian.org/debian-security/ bookworm-security main contrib non-free non-free-firmware
Eccezionale collezione di pacchetti multimediali: codec audio e video, software di editing ecc. È possibile specificare la release sia per nome (es. squeeze) che per status (es. stable).
deb http://www.deb-multimedia.org/ squeeze main non-free deb-src http://www.deb-multimedia.org/ squeeze main
Per installare la chiave con cui sono firmati i pacchetti:
apt-get install deb-multimedia-keyring
ATTENZIONE: Il repository Debian Volatile è stato dismesso a partire da Debian 6.0 Squeeze. Viene rimpiazzato dalla suite squeeze-updates che ha un URL del tipo:
deb http://deb.debian.org/debian squeeze-updates main
OBSOLETO Debian Volatile non sostituisce Debian Security, è destinato a ricevere pacchetti urgenti ma non relativi alla sicurezza. I pacchetti che entrano in questa suite verranno poi passati alla successiva point-release. È stato create per i pacchetti che devono essere sempre aggiornati per essere funzionali (ad esempio per supportare l'evolversi dei protocolli tipo Gaim, antivirus tipo ClamAV o altri software peer2peer).
deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free
Bisogna aggiungere la chiave dell'archivio con apt-key add etch-volatile.asc
. La chiave è disponibile sul sito http://www.debian.org/volatile/.
Il pacchetto dovrebbe essere entrato in Unstable (Etch), ma dovrebbero essere stati preparati anche dei backport per Sarge.
Vedere quessto ottimo Apt-Pinning for Beginners. In breve:
/etc/apt/sources.list
(lenny, lenny-backports, testing, …). Ogni distribuzione ha una priorità, eventualmente definita in /etc/apt/preferences
( Come vedere le priorità se non esiste quel file?)./etc/apt/sources.list
Controllare, pare che non sia così.apt-get install -t lenny-backports some-package
Per indicare la suite preferita si mette qualcosa del genere ad sempio in un file /etc/apt/apt.conf.d/99local
:
APT::Default-Release "stable";
Ecco un esempio di /etc/apt/preferences
:
Package: * Pin: release a=wheezy-backports Pin-Priority: 200 Package: nagios2 Pin: release a=wheezy-backports Pin-Priority: 999
Può capitare una situazione in cui si voglia tornare ad una versione precedente di un pacchetto. Ad esempio dopo l'upgrade di release da Debian 11 Bullseye a Debian 12 Bookworm è capitato che il pacchetto firefox-esr fosse rimasto quello della distribuzione precedente: 115.3.1esr-1~deb11u1, mentre nella distribuzione 12 era disponibile 115.3.0esr-1~deb12u1 (entrambi venivano dalla sezione security delle distribuzioni). Per forzare l'allineamento a Debian 12 Bookworm si è dovuto fare il downgrade:
apt install firefox-esr=115.3.0esr-1~deb12u1
Il proxy cache di pacchetti .deb funziona sulla porta TCP 3142, per compatibilità storica con apt-proxy
si può usare la porta 9999. Per abilitare il proxy sui repository tradizionali Debian basta aggiungere le seguenti righe in /etc/apt-cacher-ng/acng.conf
:
#Port:3142 #Port:9999 Remap-debian: /debian ; http://deb.debian.org/debian/ Remap-debian-updates: /debian-updates ; http://deb.debian.org/debian/ Remap-debian-security: /debian-security ; http://deb.debian.org/debian-security/ Remap-debian-backports: /debian-backports ; http://deb.debian.org/debian-backports/ Remap-deb-multimedia: /deb-multimedia ; http://www.deb-multimedia.org/
Sui client si imposta in /etc/apt/sources.list
deb http://debian.rigacci.lan:3142/debian/ buster main contrib non-free deb-src http://debian.rigacci.lan:3142/debian/ buster main contrib non-free deb http://debian.rigacci.lan:3142/debian-security buster/updates main contrib non-free deb http://debian.rigacci.lan:3142/deb-multimedia/ buster main contrib non-free
Ecco un sistema per fornire tramite apt-cacher-ng
i pacchetti di una distribuzione non più presente nei repository ufficiali Debian. In questo caso ci si appoggia al sito snapshot.debian.org che contiene gran parte dello storico dei pacchetti Debian, accessibili per data di presenza sugli archivi Debian. Semplicemente creando un file /etc/apt-cacher-ng/debianlenny.conf
con il seguente contenuto:
Remap-debianlenny: /debianlenny ; http://snapshot.debian.org/archive/debian/20091004T111800Z/
Sui client diventa possibile usare in /etc/apt/sources.list
:
deb http://192.168.3.1:9999/debianlenny/ lenny main contrib non-free deb-src http://192.168.3.1:9999/debianlenny/ lenny main contrib non-free
Quando una distribuzione non viene più ospitata sui mirror originale, può capitare che il cronjob apt-cacher-ng produca un errore del tipo:
/etc/cron.daily/apt-cacher-ng: Maintenance Task: Expiration See file /var/log/apt-cacher-ng/maint_1646457901.log.html for more details. Server control address: http://localhost:3142/acng-report.html Problem with debian-backports/dists/squeeze-backports/InRelease Errors found, aborting expiration...
In tal caso è necessario rimuovere le cartelle /var/cache/apt-cacher-ng/<repository>/dists/<distribuzione>/, eventualmente rimpiazzandole con remap specifiche da snapshot.debian.org.
NOTA: Il pacchetto apt-proxy è obsoleto e non più presente in Debian (Squeeze e successive). Utilizzare piuttosto apt-cacher-ng (vedi).
Con apt-proxy
si possono salvare su disco di un host locale i pacchetti binari e sorgenti quando vengono installati su un client. Nel file di configurazione /etc/apt-proxy/apt-proxy-v2.conf
si dichiarano le sorgenti (notare che non si deve specificare la distribuzione)
[debian] backends = http://ftp.us.debian.org/debian http://ftp.de.debian.org/debian http://ftp.uk.debian.org/debian [debian-security] backends = http://security.debian.org/debian-security http://ftp2.de.debian.org/debian-security [debian-multimedia] backends = http://www.debian-multimedia.org
In /etc/apt/sources.list
invece:
deb http://localhost:9999/debian-multimedia/ lenny main deb http://localhost:9999/debian-security/ lenny main contrib non-free deb http://localhost:9999/security lenny/updates main contrib non-free deb-src http://localhost:9999/debian/ lenny main contrib non-free
Può capitare che i file Release (elenco dei checksum) e Packages.bz2 (elenco dei pacchetti) non siano aggiornati nella cache di apt-proxy, questo si evidenzia con un errore del tipo:
W: Failed to fetch http://debian.rigacci.org:9999/debian/dists/lenny/main/binary-i386/Packages.bz2 Hash Sum mismatch E: Some index files failed to download, they have been ignored, or old ones used instead.
Per forzare il refresh dei file bisogna eliminare i file dalla cache:
rm /var/cache/apt-proxy/debian/dists/lenny/Release* rm /var/cache/apt-proxy/debian/dists/lenny/main/binary-i386/Packages.bz2 /etc/init.d/apt-proxy restart
A partire da Debian Etch i pacchetti Debian vengono firmati al rilascio e controllati durante l'installazione. Sull'host sono installate le chiavi pubbliche utilizzate da apt-get (/etc/apt/trustdb.gpg
), ma potrebbero essere scadute. Ecco un esempio del messaggio di errore:
# apt-get update ... Fetched 567B in 12s (45B/s) Reading package lists... Done W: GPG error: http://aptproxy.texnet.it etch Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 010908312D230C5F W: You may want to run apt-get update to correct these problems
e come si fa ad elencare le chiavi installate:
# apt-key list /etc/apt/trusted.gpg -------------------- pub 1024R/1DB114E0 2004-01-15 [expired: 2005-01-27] uid Debian Archive Automatic Signing Key (2004) <ftpmaster@debian.org> pub 1024D/4F368D5D 2005-01-31 [expires: 2006-01-31] uid Debian Archive Automatic Signing Key (2005) <ftpmaster@debian.org>
Se le chiavi sono scadute e le si vuole installare a mano:
# wget http://ftp-master.debian.org/ziyi_key_2006.asc -O - | apt-key add -
Le chiavi vengono distribuite anche dentro il pacchetto debian-archive-keyring
. Per vedere quali sono e per installarle:
cd /usr/share/keyrings/ gpg --no-default-keyring --keyring /usr/share/keyrings/debian-archive-keyring.gpg --list-keys gpg --no-default-keyring --keyring /usr/share/keyrings/debian-archive-keyring.gpg --armor --export <KEY_ID> | apt-key add -
Se si utilizza una versione molto vecchia di Debian può capitare che la chiave che firma la release sia scaduta:
apt-get update ... W: GPG error: http://archive.debian.org squeeze Release: The following signatures were invalid: KEYEXPIRED 1520281423 KEYEXPIRED 1501892461
In questo caso si tratta di un messaggio Warning che non può essere risolto, in quanto il file della release è stato firmato con una chiave scaduta che non viene più rinnovata o estesa.
Se si dovesse installare un pacchetto viene visualizzato un altro WARNING, che può essere bypassato:
apt-get install tofrodos ... WARNING: The following packages cannot be authenticated! tofrodos Install these packages without verification [y/N]?
Durante il ciclo di vita di Debian Testing, molti pacchetti vengono aggiornati con nuove versioni senza che quelle vecchie entrino in una distribuzione stabile. Può capitare di dover installare un pacchetto su una Debian Testing senza però voler aggiornare tutta l'installazione (quindi senza eseguire apt-get update); se il pacchetto non esiste più nel repository si può sperare di trovarlo nell'archivio snapshot.debian.org.
Non bisogna fare un apt-get update, altrimenti apt cercherebbe di aggiornare tutti i pacchetti alla versione più recente disponibile, conviene scaricare il singolo pacchetto e installarlo con dpkg -i.
Nell'archivio si trovano sia i sorgenti che i binari precompilati.
Altro repository molto utile è http://archive.debian.org/debian/, dove sono archiviate - ma comunque apt-getabili - le vecchie release.
Per le vecchie versioni di Raspbian è disponibile il repository legacy.raspbian.org. Ad esempio risulta sempre disponibile il software Debian 8 Jessie in data marzo 2022:
deb http://legacy.raspbian.org/raspbian/ jessie main contrib non-free rpi
Anche Raspbian ha un server snapshot che può essere usato come sorgente apt-get. In questo esempio si ha un repository Raspbian Wheezy esattamente come era in data 2013-01-21:
deb http://snapshot.raspbian.org/201301210522/raspbian/ wheezy main contrib non-free rpi
NOTICE: Sembra tuttavia che il repository snapshot.raspbian.org sia fermo alla data 2021-12-02.
Quando viene rilasciata una nuova suite Debian il sistema di gestione pacchetti se ne accorge e impedisce di fare aggiornamenti, ad esempio quando Buster passa dallo stato stable a oldstable i comandi apt segnalano quanto segue:
N: Repository 'http://ftp.debian.org/debian buster InRelease' changed its 'Version' value from '10.9' to '10.10' E: Repository 'http://ftp.debian.org/debian buster InRelease' changed its 'Suite' value from 'stable' to 'oldstable' N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.
Una soluzione da riga di comando, da eseguire una tantum è la seguente:
apt-get update --allow-releaseinfo-change
In questo modo sarà possibile utilizzare i vari front-end (compreso ad esempio dselect
) per aggiornare come di consueto.
Esiste un meccanismo per la ricerca dei pacchetti Fedora contenuti nei vari rilasci? Il Fedora Package Database non contiene le informazioni sui pacchetti (versioni) contenuti nei vecchi rilasci di Fedora.
Per forunta esiste un meccanismo per la ricerca dei mirror: http://mirrors.fedoraproject.org/, è possibile quindi arrivare a vedere il contenuto del mirror e scaricare il singolo pacchetto.