Différences entre versions de « Miroir Debian »
imported>SylvainBeucler m |
imported>SylvainBeucler m (→Tentons donc de créer un miroir : clef lenny volatile) |
||
| (44 versions intermédiaires par 3 utilisateurs non affichées) | |||
| Ligne 1 : | Ligne 1 : | ||
Si vous allez chez des clients démunis d'un accès haut débit, un miroir Debian partiel doit faire partie de votre kit de survie. | Si vous allez chez des clients démunis d'un accès haut débit, un miroir Debian partiel doit faire partie de votre kit de survie. | ||
| − | Tentons donc de créer un miroir: | + | == Tentons donc de créer un miroir == |
| + | |||
| + | * Utilisation de debmirror: | ||
| + | aptitude install debmirror patch | ||
| + | |||
| + | * Télécharger les clefs GPG (cf. commentaires). | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
* Lancer la réplication: | * Lancer la réplication: | ||
| − | debmirror - | + | <pre> |
| + | #!/bin/sh | ||
| + | # Download and update a Debian Etch mirror | ||
| + | # Author: Sylvain Beucler <beuc@beuc.net> | ||
| + | |||
| + | # You may need to import signing keys first: | ||
| + | # gpg --keyring /etc/apt/trusted.gpg --export | gpg --import | ||
| + | # | ||
| + | # Or manually: | ||
| + | # gpg --keyserver keyring.debian.org --recv 4F368D5D # 2005 | ||
| + | # gpg --keyserver keyring.debian.org --recv 2D230C5F # 2006 | ||
| + | # gpg --keyserver keyring.debian.org --recv 6070D3A1 # Etch auto | ||
| + | # gpg --keyserver wwwkeys.eu.pgp.net --recv ADB11277 # Etch stable | ||
| + | # http://ftp-master.debian.org/keys/archive-key-5.0.asc | ||
| + | # gpg --keyserver wwwkeys.eu.pgp.net --recv F42584E6 # Lenny stable | ||
| + | # gpg --keyserver wwwkeys.eu.pgp.net --recv BBE55AB3 # Etch volatile auto | ||
| + | # http://volatile.debian.org/etch-volatile.asc | ||
| + | # gpg --keyserver wwwkeys.eu.pgp.net --recv 6D849617 # Lenny volatile auto | ||
| + | # http://www.debian.org/volatile/lenny-volatile.asc | ||
| + | # gpg --keyserver wwwkeys.eu.pgp.net --recv 55BE302B # Lenny auto | ||
| + | # http://ftp-master.debian.org/keys/archive-key-5.0.asc | ||
| + | # gpg --keyserver pgpkeys.pca.dfn.de --recv 16BA136C # backports.org | ||
| + | # http://backports.org/debian/archive.key | ||
| + | # gpg --keyserver keyring.debian.org --recv 1F41B907 # debian-multimedia | ||
| + | |||
| + | verbose="0" | ||
| + | verbose_opt="" | ||
| + | if [ $verbose -eq 1 ]; then | ||
| + | verbose_opt="--verbose" | ||
| + | fi | ||
| + | # Etch | ||
| + | # Currently 2.6.18-4 packages are removed from the pool/, but not from | ||
| + | # Packages, so we use --ignore-small-errors | ||
| + | debmirror $verbose_opt --host=ftp.fr.debian.org --dist=etch --dist=stable \ | ||
| + | --section=main,main/debian-installer --nosource --getcontents \ | ||
| + | --ignore-small-errors \ | ||
| + | /var/www/mirrors/debian | ||
| + | |||
| + | # Etch security | ||
| + | debmirror $verbose_opt --host=security.debian.org --dist=etch/updates \ | ||
| + | --root=debian-security --section=main --nosource --method=http \ | ||
| + | /var/www/mirrors/debian-security | ||
| + | |||
| + | # Etch volatile | ||
| + | debmirror $verbose_opt --host=volatile.debian.org --dist=etch/volatile \ | ||
| + | --root=debian-volatile --section=main --nosource --getcontents \ | ||
| + | --method=http /var/www/mirrors/debian-volatile | ||
| + | |||
| + | # Etch backports | ||
| + | debmirror $verbose_opt --host=www.backports.org --method=http \ | ||
| + | --dist=etch-backports --section=main --nosource --getcontents \ | ||
| + | /var/www/mirrors/backports.org | ||
| + | |||
| + | # Debian multimedia | ||
| + | # deb http://mirror.home-dn.net/debian-multimedia stable main | ||
| + | debmirror $verbose_opt --host=www.debian-multimedia.org --method=http \ | ||
| + | --dist=stable --root=/ --section=main --nosource --getcontents \ | ||
| + | /var/www/mirrors/debian-multimedia | ||
| + | </pre> | ||
Il est possible d'interrompre la réplication et de la reprendre plus tard. | Il est possible d'interrompre la réplication et de la reprendre plus tard. | ||
| − | + | Il est également possible d'utiliser plusieurs fois l'option <code>--dist</code>, par exemple <code>--dist=sarge --dist=etch</code>. Ici on récupère à la fois 'sarge' et 'stable' de sorte que les deux soient disponibles (les logiciels peuvent utiliser alternativement un nom ou l'autre) - bien entendu les paquets eux-mêmes ne seront téléchargés qu'une seule fois, dans <code>pool/</code>. | |
| − | + | <code>--getcontents</code> permet de récupérer le fichier <code>Content-i386.gz</code>, utilisé notamment par [http://packages.debian.org/stable/base/apt-file apt-file]. Il n'est pas fourni par security.debian.org pour le moment, et demander <code>--getcontents</code> est considéré comme une erreur (plus de mise à jour de Packages.gz - à corriger). | |
| − | + | ||
| + | Inconvénients: | ||
| + | * Il y a une perte de place, car les paquets qui ont eu une mise à jour de sécurité sont téléchargés dans mirrors/debian, et redondants par rapport à mirrors/debian-security. Pourrait-il y avoir des problèmes avec l'installateur Debian si la version d'origine de ces paquets manque, cependant? | ||
| + | * Il n'est pas possible de récupérer uniquement les codes source | ||
| + | |||
| + | |||
| + | En local, on peut utiliser directement le miroir; dans <code>/etc/apt/sources.list</code>: | ||
| + | deb file:///mnt/mirrors/debian sarge main | ||
| + | |||
| + | == Place disque utilisée == | ||
| + | |||
| + | * 2006-03-25 - release Sarge 6/2005: | ||
| + | ** mirrors/debian: ~8,6 Go (fixe, + ~9 Go pour les sources) | ||
| + | ** mirrors/debian-security: ~1,4 Go (grossit, + ~800 Mo pour les sources) | ||
| + | ** mirrors/backports.org: ~2,8 Go (grossit, + ~2Go pour les sources) | ||
| + | |||
| + | * 2007-04-23, paquets binaires uniquements, release Etch 4/2007: | ||
| + | $ du -sch backports.org/ debian/ debian-security/ | ||
| + | 200M backports.org/ | ||
| + | 13G debian/ | ||
| + | 523M debian-security/ | ||
| + | 14G total | ||
| + | |||
| + | * 2009-05, paquets binaires uniquements, release Lenny 2/2009: | ||
| + | 1,2G debian-backports.org/ | ||
| + | TODO | ||
| + | |||
| + | == Partager le miroir == | ||
| + | |||
| + | Une petite config Apache suffit: | ||
| + | |||
| + | #Alias /mirrors /var/www/mirrors | ||
| + | <Directory "/var/www/mirrors"> | ||
| + | Options Indexes | ||
| + | AllowOverride None | ||
| + | </Directory> | ||
| + | |||
| + | Au niveau client, le <code>/etc/apt/sources.list</code> ressemblera à: | ||
| + | deb http://192.168.1.63/mirrors/debian etch main | ||
| + | deb http://192.168.1.63/mirrors/debian-security etch/updates main | ||
| + | deb http://192.168.1.63/mirrors/backports.org etch-backports main | ||
| + | |||
| + | Pour une installation Debian par le réseau, lorsque l'installateur vous demande le pays de votre miroir, choisissez le paramétrage manuel (tout en haut de la liste), puis: | ||
| + | * Nom d'hôte: ''IP de votre machine'' | ||
| + | * Répertoire: <code>/mirrors/debian</code> | ||
== Autres solutions à creuser == | == Autres solutions à creuser == | ||
| Ligne 31 : | Ligne 128 : | ||
* Idem pour [http://apt-mirror.sourceforge.net/ apt-mirror] | * Idem pour [http://apt-mirror.sourceforge.net/ apt-mirror] | ||
| − | * [http://www.debian.org/mirror/ftpmirror Setting up a Debian archive mirror] recommande d'utiliser [http://www.debian.org/mirror/anonftpsync anonftpsync]. Même remarque :p Qui plus est, il faut sélectionner les architectures qu'on ne souhaite pas télécharger, à la place de ne sélectionner que les architectures dont on a besoin. | + | * [http://www.debian.org/mirror/ftpmirror Setting up a Debian archive mirror] recommande d'utiliser [http://www.debian.org/mirror/anonftpsync anonftpsync]. Même remarque :p Qui plus est, il faut sélectionner les architectures qu'on ne souhaite pas télécharger, à la place de ne sélectionner que les architectures dont on a besoin. C'est un script très court qui se base sur rsync, et ne peut pas créer de miroir partiel. debmirror semble plus simple. |
| − | |||
== Autres solutions non retenues == | == Autres solutions non retenues == | ||
| Ligne 39 : | Ligne 135 : | ||
** il vous faudra changer régulièrement entre les deux CDs, voire entre plusieurs postes | ** il vous faudra changer régulièrement entre les deux CDs, voire entre plusieurs postes | ||
** vous n'aurez pas les mises à jour de sécurité (même si votre CD a été créé avec Jigdo) | ** vous n'aurez pas les mises à jour de sécurité (même si votre CD a été créé avec Jigdo) | ||
| − | * Utiliser un apt-proxy sur votre ordinateur portable n'est pas une solution satisfaisante: il vous faudra le paramétrer pour éviter qu'il cherche | + | * Utiliser un apt-proxy sur votre ordinateur portable n'est pas une solution satisfaisante: il vous faudra le paramétrer pour éviter qu'il cherche des mises à jour lors d'un travail hors-ligne, et il vous manquera certainement des paquets. |
| + | * debmirror + fichier de configuration (par opposition à ligne de commande): on a besoin d'au moins deux serveurs et donc deux configurations au minimum (stable, stable/security, éventuellement sarge-backports). C'est plus pratique en ligne de commande. | ||
Version actuelle datée du 18 janvier 2010 à 11:49
Si vous allez chez des clients démunis d'un accès haut débit, un miroir Debian partiel doit faire partie de votre kit de survie.
Tentons donc de créer un miroir
- Utilisation de debmirror:
aptitude install debmirror patch
- Télécharger les clefs GPG (cf. commentaires).
- Lancer la réplication:
#!/bin/sh
# Download and update a Debian Etch mirror
# Author: Sylvain Beucler <beuc@beuc.net>
# You may need to import signing keys first:
# gpg --keyring /etc/apt/trusted.gpg --export | gpg --import
#
# Or manually:
# gpg --keyserver keyring.debian.org --recv 4F368D5D # 2005
# gpg --keyserver keyring.debian.org --recv 2D230C5F # 2006
# gpg --keyserver keyring.debian.org --recv 6070D3A1 # Etch auto
# gpg --keyserver wwwkeys.eu.pgp.net --recv ADB11277 # Etch stable
# http://ftp-master.debian.org/keys/archive-key-5.0.asc
# gpg --keyserver wwwkeys.eu.pgp.net --recv F42584E6 # Lenny stable
# gpg --keyserver wwwkeys.eu.pgp.net --recv BBE55AB3 # Etch volatile auto
# http://volatile.debian.org/etch-volatile.asc
# gpg --keyserver wwwkeys.eu.pgp.net --recv 6D849617 # Lenny volatile auto
# http://www.debian.org/volatile/lenny-volatile.asc
# gpg --keyserver wwwkeys.eu.pgp.net --recv 55BE302B # Lenny auto
# http://ftp-master.debian.org/keys/archive-key-5.0.asc
# gpg --keyserver pgpkeys.pca.dfn.de --recv 16BA136C # backports.org
# http://backports.org/debian/archive.key
# gpg --keyserver keyring.debian.org --recv 1F41B907 # debian-multimedia
verbose="0"
verbose_opt=""
if [ $verbose -eq 1 ]; then
verbose_opt="--verbose"
fi
# Etch
# Currently 2.6.18-4 packages are removed from the pool/, but not from
# Packages, so we use --ignore-small-errors
debmirror $verbose_opt --host=ftp.fr.debian.org --dist=etch --dist=stable \
--section=main,main/debian-installer --nosource --getcontents \
--ignore-small-errors \
/var/www/mirrors/debian
# Etch security
debmirror $verbose_opt --host=security.debian.org --dist=etch/updates \
--root=debian-security --section=main --nosource --method=http \
/var/www/mirrors/debian-security
# Etch volatile
debmirror $verbose_opt --host=volatile.debian.org --dist=etch/volatile \
--root=debian-volatile --section=main --nosource --getcontents \
--method=http /var/www/mirrors/debian-volatile
# Etch backports
debmirror $verbose_opt --host=www.backports.org --method=http \
--dist=etch-backports --section=main --nosource --getcontents \
/var/www/mirrors/backports.org
# Debian multimedia
# deb http://mirror.home-dn.net/debian-multimedia stable main
debmirror $verbose_opt --host=www.debian-multimedia.org --method=http \
--dist=stable --root=/ --section=main --nosource --getcontents \
/var/www/mirrors/debian-multimedia
Il est possible d'interrompre la réplication et de la reprendre plus tard.
Il est également possible d'utiliser plusieurs fois l'option --dist, par exemple --dist=sarge --dist=etch. Ici on récupère à la fois 'sarge' et 'stable' de sorte que les deux soient disponibles (les logiciels peuvent utiliser alternativement un nom ou l'autre) - bien entendu les paquets eux-mêmes ne seront téléchargés qu'une seule fois, dans pool/.
--getcontents permet de récupérer le fichier Content-i386.gz, utilisé notamment par apt-file. Il n'est pas fourni par security.debian.org pour le moment, et demander --getcontents est considéré comme une erreur (plus de mise à jour de Packages.gz - à corriger).
Inconvénients:
- Il y a une perte de place, car les paquets qui ont eu une mise à jour de sécurité sont téléchargés dans mirrors/debian, et redondants par rapport à mirrors/debian-security. Pourrait-il y avoir des problèmes avec l'installateur Debian si la version d'origine de ces paquets manque, cependant?
- Il n'est pas possible de récupérer uniquement les codes source
En local, on peut utiliser directement le miroir; dans /etc/apt/sources.list:
deb file:///mnt/mirrors/debian sarge main
Place disque utilisée
- 2006-03-25 - release Sarge 6/2005:
- mirrors/debian: ~8,6 Go (fixe, + ~9 Go pour les sources)
- mirrors/debian-security: ~1,4 Go (grossit, + ~800 Mo pour les sources)
- mirrors/backports.org: ~2,8 Go (grossit, + ~2Go pour les sources)
- 2007-04-23, paquets binaires uniquements, release Etch 4/2007:
$ du -sch backports.org/ debian/ debian-security/ 200M backports.org/ 13G debian/ 523M debian-security/ 14G total
- 2009-05, paquets binaires uniquements, release Lenny 2/2009:
1,2G debian-backports.org/ TODO
Partager le miroir
Une petite config Apache suffit:
#Alias /mirrors /var/www/mirrors <Directory "/var/www/mirrors"> Options Indexes AllowOverride None </Directory>
Au niveau client, le /etc/apt/sources.list ressemblera à:
deb http://192.168.1.63/mirrors/debian etch main deb http://192.168.1.63/mirrors/debian-security etch/updates main deb http://192.168.1.63/mirrors/backports.org etch-backports main
Pour une installation Debian par le réseau, lorsque l'installateur vous demande le pays de votre miroir, choisissez le paramétrage manuel (tout en haut de la liste), puis:
- Nom d'hôte: IP de votre machine
- Répertoire:
/mirrors/debian
Autres solutions à creuser
- apt-move "can also build a partial or complete local mirror of a Debian binary distribution (including an ``installed-packages only mirror)."
- debian-mirror est peut-être intéressant, mais pas de paquet Debian, bouh :p
- Idem pour apt-mirror
- Setting up a Debian archive mirror recommande d'utiliser anonftpsync. Même remarque :p Qui plus est, il faut sélectionner les architectures qu'on ne souhaite pas télécharger, à la place de ne sélectionner que les architectures dont on a besoin. C'est un script très court qui se base sur rsync, et ne peut pas créer de miroir partiel. debmirror semble plus simple.
Autres solutions non retenues
- Il est possible d'utiliser un DVD d'installation, mais ce ne sera pas pratique:
- il vous faudra changer régulièrement entre les deux CDs, voire entre plusieurs postes
- vous n'aurez pas les mises à jour de sécurité (même si votre CD a été créé avec Jigdo)
- Utiliser un apt-proxy sur votre ordinateur portable n'est pas une solution satisfaisante: il vous faudra le paramétrer pour éviter qu'il cherche des mises à jour lors d'un travail hors-ligne, et il vous manquera certainement des paquets.
- debmirror + fichier de configuration (par opposition à ligne de commande): on a besoin d'au moins deux serveurs et donc deux configurations au minimum (stable, stable/security, éventuellement sarge-backports). C'est plus pratique en ligne de commande.