User Tools

Site Tools


doc:appunti:linux:sa:apt_sources

This is an old revision of the document!


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).

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

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

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 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

Il repository Debian Volatile è stato dismesso a partire da Debian 6.0 Squeeze. Viene rimpiazzato dalla suite squeeze-updates che ha questa URL:

deb http://ftp.debian.org/debian squeeze-updates main

Questo repository 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.

DELETEME Esiste l'archivio Debian volatile 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 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

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://ftp.it.debian.org/debian/
Remap-deb-multimedia:    /deb-multimedia    ; http://www.deb-multimedia.org/
Remap-debian-security:   /debian-security   ; http://security.debian.org/debian-security/
Remap-debian-volatile:   /debian-volatile   ; http://volatile.debian.org/debian-volatile/
Remap-debian-backports:  /debian-backports  ; http://backports.debian.org/debian-backports/

Sui client si imposta in /etc/apt/sources.list

deb     http://192.168.3.1:9999/debian/            squeeze            main contrib non-free
deb     http://192.168.3.1:9999/debian-security/   squeeze/updates    main contrib non-free
deb     http://192.168.3.1:9999/debian-backports/  squeeze-backports  main contrib non-free
deb     http://192.168.3.1:9999/deb-multimedia/    squeeze            main contrib non-free
deb-src http://192.168.3.1:9999/debian/            squeeze            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

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) <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 -

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 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 Fedora

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.


<php> echo '<a rel=“me” href=“https://profiles.google.com/100662196154811835450”>Profilo Google+</a>' . “\n”; </php>

doc/appunti/linux/sa/apt_sources.1411123883.txt.gz · Last modified: 2014/09/19 12:51 by niccolo