====== Linux source ====== 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**''). ===== Debian 3.0 Woody ===== 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 ===== Debian 3.1 Sarge ===== 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 ===== Debian 4 Etch ===== 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 ===== Debian 10 Buster ===== 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 ===== Debian 11 Bullseye ===== 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 ===== Debian 12 Bookworm ===== È 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 ===== Debian Multimedia (Marillat) ===== 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 ===== Volatile ===== **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/]]. ===== X.org ===== Il pacchetto dovrebbe essere entrato in Unstable (Etch), ma dovrebbero essere stati preparati anche dei backport per Sarge. [[http://people.debian.org/~nobse/xorg-x11/]] ====== Pinning ====== Vedere quessto ottimo **[[http://jaqque.sbih.org/kplug/apt-pinning.html|Apt-Pinning for Beginners]]**. In breve: * Un pacchetto può essere disponibile in **distribuzioni diverse**, elencate in **''/etc/apt/sources.list''** (//lenny//, //lenny-backports//, //testing//, ...). Ogni distribuzione ha una **priorità**, eventualmente definita in **''/etc/apt/preferences''** (FIXME Come vedere le priorità se non esiste quel file?). * A parità di versione e di distribuzione, viene preferito il repository indicato prima in ''/etc/apt/sources.list'' FIXME Controllare, pare che non sia così. * È possibile forzare la massima priorità per una distribuzione indicandola come //target//: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 ====== Forcing version or downgrading ====== 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 ====== apt-cacher-ng ====== 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//dists//%%**, eventualmente rimpiazzandole con remap specifiche da **snapshot.debian.org**. ====== apt-proxy ====== DELETEME **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 ====== Chiavi apt-get ====== 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) pub 1024D/4F368D5D 2005-01-31 [expires: 2006-01-31] uid Debian Archive Automatic Signing Key (2005) 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 | apt-key add - ====== Chiavi apt-get scadute ====== 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]? ====== Pacchetti Debian archiviati ====== 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 **[[http://snapshot.debian.org/|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. ====== Pacchetti Raspbian archiviati ====== 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**. ====== Cambio di suite e di versione ====== 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. ====== Pacchetti Fedora ====== Esiste un meccanismo per la ricerca dei pacchetti Fedora contenuti nei vari rilasci? Il **[[https://admin.fedoraproject.org/pkgdb/|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.