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. Dovrebbe essere possibile specificare la release sia per nome (es. sarge) che per status (es. stable).

deb http://www.debian-multimedia.org/         etch         main

Per installare la chiave con cui sono firmati i pacchetti (valida fino al?):

gpg --keyserver hkp://wwwkeys.eu.pgp.net --recv-keys 1F41B907
gpg --list-keys
gpg --armor --export 1F41B907 | apt-key add -

Volatile

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.
  • È possibile forzare la massima priorità per una distribuzione indicandola come target:
    apt-get install -t lenny-backports some-package

apt-proxy

Con apt-proxy si possono gestire pacchetti binari e sorgenti. 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.

doc/appunti/linux/sa/apt_sources.1283960567.txt.gz · Last modified: 2010/09/08 17:42 by niccolo