Différences entre versions de « Miroir Debian »
imported>SylvainBeucler |
imported>SylvainBeucler m (→Tentons donc de créer un miroir : clef lenny volatile) |
||
(8 versions intermédiaires par le même utilisateur 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: | * Utilisation de debmirror: | ||
− | aptitude install debmirror | + | aptitude install debmirror patch |
− | * Télécharger les clefs GPG | + | * Télécharger les clefs GPG (cf. commentaires). |
− | |||
− | |||
− | |||
− | |||
* Lancer la réplication: | * Lancer la réplication: | ||
− | + | <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 \ | --section=main,main/debian-installer --nosource --getcontents \ | ||
− | / | + | --ignore-small-errors \ |
− | + | /var/www/mirrors/debian | |
− | + | ||
− | + | # Etch security | |
− | --root=debian-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 | |
− | --dist= | + | 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. | ||
Ligne 46 : | Ligne 85 : | ||
== Place disque utilisée == | == Place disque utilisée == | ||
− | *2006-03-25 - release Sarge 6/2005: | + | * 2006-03-25 - release Sarge 6/2005: |
** mirrors/debian: ~8,6 Go (fixe, + ~9 Go pour les sources) | ** mirrors/debian: ~8,6 Go (fixe, + ~9 Go pour les sources) | ||
** mirrors/debian-security: ~1,4 Go (grossit, + ~800 Mo pour les sources) | ** mirrors/debian-security: ~1,4 Go (grossit, + ~800 Mo pour les sources) | ||
Ligne 57 : | Ligne 96 : | ||
523M debian-security/ | 523M debian-security/ | ||
14G total | 14G total | ||
+ | |||
+ | * 2009-05, paquets binaires uniquements, release Lenny 2/2009: | ||
+ | 1,2G debian-backports.org/ | ||
+ | TODO | ||
== Partager le miroir == | == Partager le miroir == | ||
Ligne 62 : | Ligne 105 : | ||
Une petite config Apache suffit: | Une petite config Apache suffit: | ||
− | Alias /mirrors / | + | #Alias /mirrors /var/www/mirrors |
− | <Directory "/ | + | <Directory "/var/www/mirrors"> |
Options Indexes | Options Indexes | ||
AllowOverride None | AllowOverride None | ||
Ligne 69 : | Ligne 112 : | ||
Au niveau client, le <code>/etc/apt/sources.list</code> ressemblera à: | Au niveau client, le <code>/etc/apt/sources.list</code> ressemblera à: | ||
− | deb http://192.168.1.63/mirrors/debian | + | deb http://192.168.1.63/mirrors/debian etch main |
− | deb http://192.168.1.63/mirrors/debian-security | + | deb http://192.168.1.63/mirrors/debian-security etch/updates main |
− | deb http://192.168.1.63/mirrors/backports.org | + | 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: | 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: |
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.