[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: debian-cd / mirroring



Jean-Christophe Boggio wrote:
> 
> Bonjour,
> 
> Je cherche depuis quelques temps à créer un CD d'install de woody avec
> le strict minimum pour une passerelle/firewall ADSL ou ISDN. Ca veut
> dire les quelques packages de base, pppoe et une ou deux autres
> bricoles.
> 
> A priori il faudra que j'utilise debian-cd dont j'ai lu la (beaucoup
> trop succinte) doc mais mon problème est surtout de récupérer un
> miroir debian. J'ai une liaison 64k permanente, c'est lent mais
> fiable.
> 
> J'ai essayé :
> 
> * debcdmirror qui récupère trop ou trop peu de fichiers : je n'ai
> besoin que des .deb de main et de non-us or avec debcdmirror on dirait
> qu'on ne peut récupérer qu'une des deux hiérarchies. Par contre les
> transferts par rsync semblent très efficaces.
> 
> * apt-move qui semble faire n'importe quoi : sur 10 heures de transfert
> (un mrtg sur ma ligne ne montre pas d'interruption) je n'ai que 10Mo
> de fichiers. C'est à croire qu'il récupère tous les packages et qu'il
> les jette après téléchargements s'ils ne font pas partie de la distro
> que je veux (woody). A aucun endroit je ne trouve de fichier de log ou
> d'option "verbose" pour savoir ce qui se passe.
> 
> Est-ce que quelqu'un a déjà essayé de faire un CD de debian un peu
> custom et pourrait me tuyauter sur une "bonne" façon de faire ?
> 
> D'avance merci,
> 
> --
> Jean-Christophe Boggio
> cat@thefreecat.org                           -o)
> Independant Consultant and Developer         /\\
> Delphi, Linux, Perl, PostgreSQL, Debian     _\_V
> 
> --
> To UNSUBSCRIBE, email to debian-user-french-request@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

Bonjour,

Voici quelques éléments de réponse:

La création d'un mirroir partiel ou total de debian : deux outils sont
disponibles mirror ou rsync. Je les utilise tous les deux pour maintenir
le site ftp.iut-bm.univ-fcomte.fr ou l'on trouve la totalité de la
debian, d'autres distributions et d'autres choses encore.  Les 2 outils
sont disponibles en tant que paquet debian. Je trouve que rsync est le
plus efficace mais d'après ce que j'ai lu dans les diverses liste de
diffusion de gestionnaire de site ftp la différence n'est pas probante.
Le seul point qui me paraît important est que mirror ne suppose rien sur
le site distant, si ce n'est que c'est un site ftp, alors que mirror
nécessite un serveur rsync sur le site distant ce qui n'est pas le cas
de tous les serveurs ftp existants.

mirror : dans le fichier mirror.defaults on donne les informations
concernant le nom du site à mirrorer et le nom du répertoire local ou
les fichiers doivent être copiés. Voici lun extrait de celui que
j'utilisais pour le site debian :

     package=debian-non-US
        comment=Archive de linux non US 
        site=ftp.fr.debian.org
        remote_dir=/pub/debian-non-US
        local_dir=/ftp/pub5/linux/distributions/debian-non-US
        user=0
        group=0
        dir_mode=0755
        file_mode=0444
        compress_patt=

     package=debian
        comment=Archive de linux debian sur ftp.de.debian.org:/debian
        site=ftp.fr.debian.org
        remote_dir=/debian
        local_dir=/ftp/pub5/linux/distributions/debian
        user=0
        group=0
        dir_mode=0755
        file_mode=0444
        compress_patt=

     package=debian_kde
        comment=Archive de KDE por debian
        site=ftp.eq.uc.pt
        remote_dir=/pub/software/unix/Linux/debian-kde
        local_dir=/ftp/pub/linux/KDE2_Debian
        user=0
        group=0
        dir_mode=0755
        file_mode=0444
        compress_patt=

Pour lancer le mirroir il suffit de taper mirror -pnom_du_package dans
le fichier mirror.defaults. Ce fichier comporte d'autres infos qui sont
très clairement expliquées dans les diverses pages de manuels et les
docs. Seul point délicat l'écriture des expressions régulières PERL
permettant d'inclure ou d'exclure des fichiers ou répertoires durant le
processus de miroitage, mirroring en bon franglais. Voici celui que
j'utilise pour le mirroir de site de la Suse :

       
exclude_patt=((^|/)(\.mirror$|core$|\.cap|\.in\..*\.$|MIRROR.LOG|#.*#|\.
FSP|\.cache|\.zipped|\.notar|lost+found))|(/pub/SuSE-Linux)|(people)|(projects)|
(/pub/suse/|ppc$|s390$)|(/pub/suse/sparc)|(/pub/suse/axp)|(/pub/suse/ia64)|((/pu
b/suse/i386/|6\.1|6\.3|6\.4))

rsync : tout est indiqué sur la ligne de commande. Voici les commandes
pour le même site debian:

#La debian
rsync -av --partial --delete --max-delete=3000
ftp.fr.debian.org::debian  /ftp/p
ub5/linux/distributions/debian

rsync -av --partial --delete --max-delete=3000
ftp.fr.debian.org::debian-non-US 
 /ftp/pub3/linux/distributions/debian-non-US

#KDE2 pour debian
rsync -av --partial --delete --max-delete=3000
ftp.wh9.tu-dresden.de::pub/linux/
debian-stuff/KDE2 /ftp/pub3/linux/distributions/KDE2_Debian

rsync est aussi problématique que mirror lorsque l'on ne veut faire
qu'un mirror partiel d'un site en excluant bon nombre de fichiers ou
répertoires, l'option --exclude ... de rsync accepte une expression
régulière à la SHELL, pas PERL, donnant les fichiers à exclure du
processus. Lorsque l'on veut exclure beaucoup de choses il faut utiliser
l'option --exclude-from comme dans l'exemple suivant qui est celui que
j'utilise pour le mirroir de la Suse:

rsync -auv --delete --max-delete=1000
--exclude-from=/usr/local1/bin/suse_exclude
suse-mirror@ftp.suse.com::suse-mirror
/ftp/pub2/linux/distributions/Suse)

Le contenu du fichier /usr/local1/bin/suse_exclude est le suivant :

people
projects
opendir
incoming
suse/axp
suse/ia64
suse/ppc
suse/s390
suse/sparc
suse/axp/6.3
suse/i386/6.1
suse/i386/6.3
suse/i386/6.4
suse/i386/evaluation-6.4
suse/i386/evaluation-7.0
suse/i386/live-eval-7.0
suse/i386/live-eval-7.1
suse/i386/live-eval-7.2
suse/i386/japanese-7.1
dosemu/Development/incoming
suse/i386/7.0
suse/discontinued
suse/i386/update/4.*
suse/i386/update/5.*
suse/i386/update/6.*
suse/i386/update/a*
suse/i386/update/i*
suse/i386/update/n*
suse/i386/update/s*

Un autre exemple concernant rsync : le mirroir partiel de mon site
debian sur un disque que j'emmène à la maison pour faire les maj de ma
machine perso :


options='-auv --delete --exclude-from=./exclude'

##############################################################################
#        main
        echo -e "\n\n\n woody : main\n"
        rsync $options    chronos::debian/dists/woody/main/binary-all/
/cdrom/li
nux/debian/dists/woody/main/binary-all

        rsync $options  chronos::debian/dists/woody/main/binary-i386/
/cdrom/lin
ux/debian/dists/woody/main/binary-i386

#       contrib
        echo -e "\n\n\n woody : contrib\n"
        rsync $options  chronos::debian/dists/woody/contrib/binary-all/
/cdrom/l
inux/debian/dists/woody/contrib/binary-all

        rsync  $options 
chronos::debian/dists/woody/contrib/binary-i386/ /cdrom
/linux/debian/dists/woody/contrib/binary-i386

#       non-free
        echo -e "\n\n\n woody : non-free\n"
        rsync $options  chronos::debian/dists/woody/non-free/binary-all/
/cdrom/
linux/debian/dists/woody/non-free/binary-all

        rsync $options 
chronos::debian/dists/woody/non-free/binary-i386/ /cdrom
/linux/debian/dists/woody/non-free/binary-i386

        rsync $options 
chronos::debian/dists/woody-proposed-updates/main/binary
-i386/ /cdrom/linux/debian/dists/woody-proposed-updates/main/binary-i386

        rsync $options 
chronos::debian/dists/woody-proposed-updates/contrib/bin
ary-i386/
/cdrom/linux/debian/dists/woody-proposed-updates/contrib/binary-i386

        rsync $options 
chronos::debian/dists/woody/woody-proposed-updates/non-f
ree/binary-i386/
/cdrom/linux/debian/dists/woody-proposed-updates/non-free/binar
y-i386
 
le fichier exclude est celui-ci :

*diff.gz
*.dsc
*ia64.deb
*m68k.deb
*mips.deb
*powerpc.deb
*sparc.deb
*hurd-i386.deb
*hurd-i386.udeb
*hurd-i386.gz
*tar.gz
*arm.deb
*alpha.deb
*hurd.deb
*hppa.deb
*mipsel.deb
*s390.deb
*.changes
*.pdf
*.jpg
*.html
*.txt
disks-arm
ls-lR*
*binary-hurd*
*binary-arm*
*binary-m68k*
*binary-sparc*
*binary-alpha*
*binary-powerpc*  
#*source*

Le problème dans un mirroir partiel de la debian est que de nombreux
paquets sont des liens sur le répertoire pool, mais il existe une option
de rsync lui demandant de suivre les liens plutôt que de créer les liens
localement.


CD de la debian bootable : il en existe sur le site debian ainsi que sur
les sites mirroir. Sur mon site vous les trouverez tous dans
/pub/ISO_CD_LINUX

Création d'un CD bootable : 

Il faut utiliser le format "El Torrito" permettant d'avoir un CD
bootable, cest une option de la commande mkisosfs, commandes permettant
de créer un système de fichier ISO 9660 à partir d'un autre système de
fichiers, ext2 contenant par exemple un mirroir partiel du site debian.
Ce système de fichier ISO peut être écrit dans une partition de disque
puis montée pour vérification avec  mount -t iso9660 ..., écrit dans un
fichier c'est ce que l'on appele généralement une image, pour verifier
un mount -o loop ... est nécessaire,  ou gravé à la volée. 

Sous Windows : Nero et je pense Easy CD Creator permettent tous deux de
créer une image bootable et de graver une image  ISO produite sous un
autre logiciel( Linux + mkisofs par exemple).

Personnellement, pour faire un cd bootable d'installation de la debian,
j'utilise comme fichier de boot l'image rescue en format disquette 2.88
MO  de la debian. Cette image convient bien car elle contient tout y
compris la disquette root et j'y ajoute les fichiers drivers.tgz  et
base2_2.tgz qui vont permettre de faire l'installation de base. Je fais
l'ensemble du processus en utilisant xcdroast.

Voilà, désolé d'avoir été un peu long et certainement trop didactique
mais c'est, sans aucun doute, une déformation professionnelle. Si vous
soufaitez des informations plus détaillées contactez moi par mél.
-- 
Amities.
Jean-Luc ANTHOINE		Jean-Luc.Anthoine@iut-bm.univ-fcomte.fr   
I.U.T. de Belfort,Departement Informatique,BP 527,F-90016 BELFORT CEDEX 
Phone : (33) (0)3 84 58 77 87  		    Fax : (33) (0)3 84 58 77 81



Reply to: