HAUT

Créer un miroir Gnu/Linux Debian Wheezy avec debmirror

Pour réaliser un miroir de la distribution Gnu/Linux Debian (Le dépôt de base, les backports et le security) avec debmirror, vous devez récupérer la dernière version de debmirror qui est disponible ici. Nous avons téléchargé la version debmirror_2.14_all.deb. Cette version est différente de celle qui est fournie dans la version stable Squeeze (disponible dans la Wheezy), mais elle est nécessaire car elle permet de récupérer les traductions (translation) avec l’option –i18n, cette option est boguée dans les versions inférieures à la 2.14:\r\n

\r\n$ su -\r\n# apt-get install debmirror gnupg debian-archive-keyring\r\n# wget http://ftp.fr.debian.org/debian/pool/main/d/debmirror/debmirror_2.14_all.deb\r\n# dpkg -i debmirror_2.14_all.deb\r\n

\r\nsi vous rencontrez des problèmes avec dépendances du paquets, vous pouvez le corriger de la manière suivante:\r\n

\r\n# apt-get -f install\r\n

\r\nIl est nécessaire de créer un utilisateur (cet utilisateur aura pour groupe le groupe d’Apache) pour le chargement du miroir avec lequel vous pourrez garder les clés des dépôts Gnu/Linux Debian qui permettront de garantir la sécurité et l’authenticité des paquets récupérés :\r\n

# adduser --system --home /srv/mirror --gid www-data --no-create-home umirror\r\n# mkdir /srv/mirror\r\n# chown umirror:www-data /srv/mirror\r\n# chmod u+rwx,g+rxs-w,o-rwx /srv/mirror\r\n# su - umirror\r\n$ gpg --no-default-keyring --keyring trustedkeys.gpg --import /usr/share/keyrings/debian-archive-keyring.gpg\r\n$ gpg --no-default-keyring --keyring trustedkeys.gpg --import /usr/share/keyrings/debian-role-keys.gpg\r\n$ mkdir /srv/mirror/debian\r\n$ mkdir /srv/mirror/debian-security\r\n$ mkdir /srv/mirror/debian-backports\r\n

\r\nPour créer le miroir du dépôt principal de Gnu/Linux Debian, vous pouvez installer ce script (xx_m_debian) dans le répertoire /etc/cron.daily, sans oublier de le rendre exécutable :\r\n

\r\n#!/bin/bash\r\n\r\n## Paramêtrage et explications du fichier xx_m_debian.\r\n\r\n#\r\n# Utilisez les clés de l'utilisateur qui crée le miroir dans son home\r\n#\r\nexport GNUPGHOME=/srv/mirror/.gnupg\r\n\r\n# les logs du miroir\r\nlogfile=/var/log/apache2/debian-mirror.log\r\n# le mail qui recevra la notification de fin de script\r\nadminmail=VOTREADRESSE\r\n# Mettre à 1/0 si vous voulez ou non recevoir la notification\r\nsendemail=0\r\n\r\n# Sujet du mail\r\nsubject="Synchronisation du miroir Debian terminée"\r\n\r\n## Initialiasation de quelques variables supplémentaires\r\nstatus=1\r\npid=$$\r\n\r\n# Arch=         -a     -- Liste des Architecture à synchroniser (ici toutes au 1/8/2012)\r\narch=amd64,i386,kfreebsd-amd64,kfreebsd-i386,powerpc,armel,ia64,mipsel,mips,s390,sparc\r\n\r\n# Un système Gnu/Linux Debian nécessite au minimum la section main\r\n# Elle y sont toutes dans notre exemple\r\nsection=main,contrib,non-free,main/debian-installer\r\n\r\n# Release=      -d      -- Les des versions de Debian.\r\n# stable= squeeze, testing=wheezy, unstable=sid... au 1/8/2012\r\nrelease=stable,testing,unstable,experimental\r\n\r\n# Server=       -h      # Nom du serveur utiliser pour le miroir\r\n#\r\nserver=ftp.us.debian.org\r\n\r\n# Dir=          -r      # le répertoire où se trouve les fichiers\r\n#\r\ninPath=/debian\r\n\r\n# Proto=        -e      # Protocole utiliser pour le transfert (http, ftp, hftp, rsync)\r\n# En choisr un: http is plus utilisé, mais rsync est le protocole conseillé si le serveur que vous utilisez pour le miroir le permet.\r\n#\r\nproto=rsync\r\n\r\n# Outpath=              # Le répertoire cible pour votre mirroir.\r\n# le chemin doit être entier et non relatif.\r\noutPath=/srv/mirror/debian\r\n\r\n# l'option --progress précisera dans les logs les fichiers téléchargés\r\n# --source \ ou  --no-source \ si vous voulez ou non les sources.\r\n# --nocleanup  ne supprimera pas les anciens fichiers, cela vous permet d'avoir un historique des paquets pour un éventuel downgrade\r\n# mais cela consomme énormément de place disque : http://www.debian.org/mirror/size.fr.html\r\n# Démarrage du mirroring:\r\n#\r\n/sur/bin/debmirror       -a $arch \\r\n                --source \\r\n                -s $section \\r\n		--i18n \\r\n                -h $server \\r\n                -d $release \\r\n                -r $inPath \\r\n                --progress \\r\n		--getcontents \\r\n		--diff=use \\r\n		--ignore-small-errors \\r\n                -e $proto \\r\n                $outPath >>$logfile\r\nstatus=$?\r\n\r\n#### Fin du script ####\r\n

\r\nLa même chose, mais pour le miroir du dépôt Security de Gnu/Linux Debian, vous pouvez installer ce script (yy_m_debian-security) dans le répertoire /etc/cron.daily, sans oublier de le rendre exécutable :\r\n

\r\n#!/bin/bash\r\n\r\n## Paramêtrage et explications du fichier yy_m_debian-security.\r\n\r\n#\r\n# Utilisez les clés de l'utilisateur qui crée le miroir dans son home\r\n#\r\nexport GNUPGHOME=/srv/mirror/.gnupg\r\n\r\n# les logs du miroir\r\nlogfile=/var/log/apache2/debian-security-mirror.log\r\n# le mail qui recevra la notification de fin de script\r\nadminmail=VOTREADRESSE\r\n# Mettre à 1/0 si vous voulez ou non recevoir la notification\r\nsendemail=0\r\n\r\n# Sujet du mail\r\nsubject="Synchronisation du miroir Debian terminée"\r\n\r\n## Initialiasation de quelques variables supplémentaires\r\nstatus=1\r\npid=$$\r\n\r\n# Arch=         -a     -- Liste des Architecture à synchroniser (ici toutes au 1/8/2012)\r\narch=amd64,i386,kfreebsd-amd64,kfreebsd-i386,powerpc,armel,ia64,mipsel,mips,s390,sparc\r\n\r\n# Un système Gnu/Linux Debian nécessite au minimum la section main\r\n# Elle y sont toutes dans notre exemple\r\nsection=main,contrib,non-free\r\n\r\n# Release=      -d      -- Les des versions de Debian.\r\n# stable= squeeze... au 1/8/2012\r\nrelease=stable/updates,testing/updates\r\n\r\n# Server=       -h      # Nom du serveur utiliser pour le miroir\r\n#\r\nserver=ftp.de.debian.org\r\n\r\n# Dir=          -r      # le répertoire où se trouve les fichiers\r\n#\r\ninPath=/debian-security\r\n\r\n# Proto=        -e      # Protocole utiliser pour le transfert (http, ftp, hftp, rsync)\r\n# En choisr un: http is plus utilisé, mais rsync est le protocole conseillé si le serveur que vous utilisez pour le miroir le permet.\r\n#\r\nproto=rsync\r\n\r\n# Outpath=              # Le répertoire cible pour votre mirroir.\r\n# le chemin doit être entier et non relatif.\r\noutPath=/srv/mirror/debian-security\r\n\r\n# l'option --progress précisera dans les logs les fichiers téléchargés\r\n# --source \ ou  --no-source \ si vous voulez ou non les sources.\r\n# --nocleanup  ne supprimera pas les anciens fichiers, cela vous permet d'avoir un historique des paquets pour un éventuel downgrade\r\n# mais cela consomme énormément de place disque : http://www.debian.org/mirror/size.fr.html\r\n# Démarrage du mirroring:\r\n#\r\n/sur/bin/debmirror       -a $arch \\r\n                --source \\r\n                -s $section \\r\n		--i18n \\r\n                -h $server \\r\n                -d $release \\r\n                -r $inPath \\r\n                --progress \\r\n		--getcontents \\r\n		--diff=use \\r\n		--ignore-small-errors \\r\n                -e $proto \\r\n                $outPath >>$logfile\r\nstatus=$?\r\n\r\n#### Fin du script ####

\r\n\r\nEt pour terminer, la même chose, mais cette fois-ci pour le miroir du dépôt Backports de Gnu/Linux Debian, vous pouvez installer ce script (zz_m_debian-backports) dans le répertoire /etc/cron.daily, sans oublier de le rendre exécutable :\r\n

\r\n#!/bin/bash\r\n\r\n## Paramêtrage et explications du fichier zz_m_debian-backports.\r\n\r\n#\r\n# Utilisez les clés de l'utilisateur qui crée le miroir dans son home\r\n#\r\nexport GNUPGHOME=/srv/mirror/.gnupg\r\n\r\n# les logs du miroir\r\nlogfile=/var/log/apache2/debian-backports-mirror.log\r\n# le mail qui recevra la notification de fin de script\r\nadminmail=VOTREADRESSE\r\n# Mettre à 1/0 si vous voulez ou non recevoir la notification\r\nsendemail=0\r\n\r\n# Sujet du mail\r\nsubject="Synchronisation du miroir Debian terminée"\r\n\r\n## Initialiasation de quelques variables supplémentaires\r\nstatus=1\r\npid=$$\r\n\r\n# Arch=         -a     -- Liste des Architecture à synchroniser (ici toutes au 1/8/2012)\r\narch=amd64,i386,kfreebsd-amd64,kfreebsd-i386,powerpc,armel,ia64,mipsel,mips,s390,sparc\r\n\r\n# Un système Gnu/Linux Debian nécessite au minimum la section main\r\n# Elle y sont toutes dans notre exemple\r\nsection=main,contrib,non-free\r\n\r\n# Release=      -d      -- Les des versions de Debian.\r\n# stable= squeeze... au 1/8/2012\r\nrelease=squeeze-backports\r\n\r\n# Server=       -h      # Nom du serveur utiliser pour le miroir\r\n#\r\nserver=ftp.de.debian.org\r\n\r\n# Dir=          -r      # le répertoire où se trouve les fichiers\r\n#\r\ninPath=/debian-backports\r\n\r\n# Proto=        -e      # Protocole utiliser pour le transfert (http, ftp, hftp, rsync)\r\n# En choisr un: http is plus utilisé, mais rsync est le protocole conseillé si le serveur que vous utilisez pour le miroir le permet.\r\n#\r\nproto=rsync\r\n\r\n# Outpath=              # Le répertoire cible pour votre mirroir.\r\n# le chemin doit être entier et non relatif.\r\noutPath=/srv/mirror/debian-backports\r\n\r\n# l'option --progress précisera dans les logs les fichiers téléchargés\r\n# --source \ ou  --no-source \ si vous voulez ou non les sources.\r\n# --nocleanup  ne supprimera pas les anciens fichiers, cela vous permet d'avoir un historique des paquets pour un éventuel downgrade\r\n# mais cela consomme énormément de place disque : http://www.debian.org/mirror/size.fr.html\r\n# Démarrage du mirroring:\r\n#\r\n/sur/bin/debmirror       -a $arch \\r\n                --source \\r\n                -s $section \\r\n		--i18n \\r\n                -h $server \\r\n                -d $release \\r\n                -r $inPath \\r\n                --progress \\r\n		--getcontents \\r\n		--diff=use \\r\n		--ignore-small-errors \\r\n                -e $proto \\r\n                $outPath >>$logfile\r\nstatus=$?\r\n\r\n#### Fin du script ####

\r\n\r\nCes scripts sont opérationnels et actuellement utilisés pour réaliser un miroir complet (Toutes les architectures officielles et les dépôts SECURITY et BACKPORT) de la distribution Gnu/Linux Debian (Stable, Testing, Unstable et Experimental), utilisable en HTTPS.\r\n\r\nDans un prochain article, nous étudierons la commande « apt-mirror » pour aussi réaliser un miroir des dépôts des paquets Gnu/Linux Debian.\r\n\r\nRéférences :\r\nGnu/Linux Debian 7.0 Wheezy\r\nDebmirror >=2.14

Les commentaires sont fermés.