Configurer un dépôt yum local pour Fedora 8
Ce guide montre étape par étape comment créer un miroir yum local pour Fedora 8 sur votre réseau local via HTTP (Apache). Vous verrez l’installation d’Apache, la collecte des paquets (DVD ou rsync), la création des métadonnées avec createrepo, la synchronisation automatique via cron, la configuration des clients et des conseils de sécurité et dépannage.
1 Préliminaire
Dans les exemples ci‑dessous j’utilise le nom d’hôte server1.example.com avec l’adresse IP 192.168.0.100. Remplacez-les par vos valeurs si nécessaire.
L’objectif est de rendre le dépôt yum accessible via HTTP. Le répertoire document par défaut d’Apache sur Fedora est /var/www/html ; je créerai donc le dépôt dans /var/www/html/yum. Si vous utilisez un hôte virtuel différent, adaptez les chemins.
Important
- Adaptez toujours $releasever et $basearch si vous configurez un dépôt pour une autre version ou architecture.
- Ce tutoriel assume des droits root pour les commandes système (utilisez sudo si nécessaire).
2 Installer Apache
Installez Apache (httpd) :
yum install httpd
Créez les liens de démarrage pour que Apache démarre automatiquement au boot :
chkconfig --levels 235 httpd on
Démarrez ensuite le service Apache :
/etc/init.d/httpd start
Remarque
Sur certaines configurations modernes, vous utiliserez systemctl au lieu de /etc/init.d ; pour Fedora 8 les commandes ci‑dessous sont correctes. Si vous êtes sur une version plus récente, adaptez vers systemctl enable –now httpd.
3 Construire le dépôt
3.1 Installer createrepo
yum install createrepo
3.2 Créer l’arborescence
Je place les paquets Fedora 8 i386 dans /var/www/html/yum/base/8/i386 et les mises à jour dans /var/www/html/yum/updates/8/i386. Ajustez si vous ciblez x86_64 ou une autre version :
mkdir -p /var/www/html/yum/base/8/i386
mkdir -p /var/www/html/yum/updates/8/i386
3.3 Remplir le répertoire de base
La méthode la plus simple est d’utiliser le DVD d’installation de Fedora 8 : montez le DVD et copiez les RPM :
mount /dev/cdrom /mnt
cd /mnt/Packages
cp -v * /var/www/html/yum/base/8/i386
cd /
umount /mnt
Ceci fournit un ensemble de paquets de base. Si vous souhaitez l’ensemble complet des paquets (Everything), utilisez rsync depuis un miroir qui propose le module rsync. Trouvez un miroir sur http://mirrors.fedoraproject.org/mirrorlists/publiclist/Fedora/8 et lancez, par exemple :
rsync -avrt rsync://ftp-stud.hs-esslingen.de/fedora/linux/releases/8/Everything/i386/os/Packages/ /var/www/html/yum/base/8/i386
Important
- Respectez bien la terminaison par / comme indiqué dans l’URL rsync.
- Le téléchargement complet peut être volumineux et long.
3.4 Générer les métadonnées
Une fois les RPM copiés, lancez :
createrepo /var/www/html/yum/base/8/i386
Cela crée un répertoire repodata contenant les fichiers de métadonnées. Exemple de sortie attendue :
ls -l /var/www/html/yum/base/8/i386/repodata/
[root@server1 /]# ls -l /var/www/html/yum/base/8/i386/repodata/
total 9268
-rw-r--r-- 1 root root 2227275 2007-12-18 21:11 filelists.xml.gz
-rw-r--r-- 1 root root 6487453 2007-12-18 21:11 other.xml.gz
-rw-r--r-- 1 root root 747714 2007-12-18 21:11 primary.xml.gz
-rw-r--r-- 1 root root 951 2007-12-18 21:11 repomd.xml
[root@server1 /]#
3.5 Remplir le répertoire updates
Pour les mises à jour, synchronisez depuis le module updates du miroir :
rsync -avrt rsync://ftp-stud.hs-esslingen.de/fedora/linux/updates/8/i386/ --exclude=debug/ /var/www/html/yum/updates/8/i386
Vérifiez ensuite que les RPM ont été copiés et, si nécessaire, régénérez les métadonnées :
createrepo /var/www/html/yum/updates/8/i386
3.6 Automatiser la synchronisation (cron)
Pour que votre miroir local récupère automatiquement les mises à jour, créez une tâche cron. Par exemple, pour synchroniser tous les deux jours à 04:23 :
crontab -e
Ajoutez la ligne suivante dans l’éditeur :
23 4 */2 * * /usr/bin/rsync -avrt rsync://ftp-stud.hs-esslingen.de/fedora/linux/updates/8/i386/ --exclude=debug/ /var/www/html/yum/updates/8/i386
Conseils
- Testez d’abord la commande rsync manuellement avant de la mettre en cron.
- Prévoyez de l’espace disque (les mirrors peuvent occuper plusieurs dizaines de Go selon l’ensemble mirrorrisé).
4 Configuration des clients
Sur chaque machine Fedora 8 qui doit utiliser ce miroir local, modifiez /etc/yum.conf (ou créez un fichier .repo dans /etc/yum.repos.d si vous préférez séparer les dépôts).
Ouvrez /etc/yum.conf :
vi /etc/yum.conf
Repérez la zone indiquée puis ajoutez les blocs suivants après les commentaires :
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
[base-local]
name=Fedora $releasever - $basearch
failovermethod=priority
baseurl=http://192.168.0.100/yum/base/$releasever/$basearch
#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
enabled=1
gpgcheck=0
[updates-local]
name=Fedora $releasever - $basearch - Updates
failovermethod=priority
baseurl=http://192.168.0.100/yum/updates/$releasever/$basearch/
#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch
enabled=1
gpgcheck=0
Le fichier complet ressemblera à ceci :
[main]
cachedir=/var/cache/yum
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
metadata_expire=1800
installonly_limit=2
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
[base-local]
name=Fedora $releasever - $basearch
failovermethod=priority
baseurl=http://192.168.0.100/yum/base/$releasever/$basearch
#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
enabled=1
gpgcheck=0
[updates-local]
name=Fedora $releasever - $basearch - Updates
failovermethod=priority
baseurl=http://192.168.0.100/yum/updates/$releasever/$basearch/
#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch
enabled=1
gpgcheck=0
Après cela, lorsque vous lancez yum sur les clients, ils tenteront d’abord de récupérer les paquets depuis votre miroir local s’il contient les paquets demandés.
Important
- Si gpgcheck est mis à 1, configurez et installez les clés GPG sur le client; sinon laissez gpgcheck=0 pour des tests locaux seulement.
5 Bonnes pratiques et sécurité
- Préférez gpgcheck=1 en production : signez vos paquets ou importez les clés officielles.
- Restreignez l’accès HTTP si votre réseau l’exige (pare‑feu, vhost avec ACLs). Un dépôt local ne doit pas nécessairement être public sur Internet.
- Surveillez l’espace disque et mettez en place une rotation/suppression des anciens paquets si vous hébergez plusieurs versions.
Mini‑méthodologie de vérification
- Sur le serveur mirror : vérifier que /var/www/html/yum/… contient les RPM et repodata.
- Tester via curl ou wget depuis un client : curl -I http://192.168.0.100/yum/base/8/i386/repodata/repomd.xml
- Lancer yum clean all && yum –disablerepo=’*’ –enablerepo=base-local repolist pour vérifier la liste.
6 Dépannage courant
- Aucun paquet trouvé : vérifiez que createrepo a bien généré repodata et que baseurl pointe vers le bon chemin.
- Erreurs 403/404 via HTTP : vérifiez les permissions UNIX (apache doit pouvoir lire) et la configuration d’Apache (DocumentRoot et vhost).
- Rsync lent : testez la connexion réseau, changez de miroir rsync, ou configurez un mirror local plus proche.
- Espace disque insuffisant : nettoyez des anciennes arches ou limitez le contenu téléchargé (exclure debug, sources).
Scénarios où la méthode échoue
- Si votre réseau n’autorise pas le trafic rsync ou HTTP entre les hôtes, adaptez l’approche (copie via média externe ou NFS interne).
- Si vous avez des systèmes mêlant versions majeures différentes, un seul miroir Fedora 8 ne suffit pas ; il faudra segmenter par version.
7 Checklist par rôle
Administrateur miroir
- Créer les répertoires et régler les permissions
- Installer httpd et createrepo
- Synchroniser base et updates
- Configurer cron et surveiller l’espace disque
- Valider l’accès HTTP et les métadonnées
Administrateur poste/client
- Sauvegarder /etc/yum.conf
- Ajouter les blocs base-local et updates-local
- Tester yum repolist et installation d’un paquet
- Configurer gpgcheck si nécessaire
8 Alternatives et variantes
- Utiliser reposync (faisant partie de yum-utils) pour synchroniser des dépôts spécifiques plutôt que rsync brut.
- Héberger le dépôt sur NFS ou Samba si les clients sont isolés du serveur HTTP mais sur le même LAN.
- Utiliser un gestionnaire de cache comme Squid en frontal pour réduire la bande passante si vous faites beaucoup d’installations.
9 Liens
- Fedora: http://fedoraproject.org
- Liste des miroirs Fedora: http://mirrors.fedoraproject.org/mirrorlists/publiclist/Fedora/8
Résumé
Ce guide vous a montré comment : installer Apache, organiser les paquets Fedora 8, générer les métadonnées avec createrepo, automatiser la synchronisation avec cron, et configurer les clients pour utiliser le dépôt local. Vérifiez toujours les permissions, le gpgcheck, et la capacité disque avant de mettre en production.
Matériaux similaires

Migrer photos Facebook vers Google+ avec Move2Picasa

Comment télécharger des films et séries Netflix pour regarder hors ligne
RAID1 : préparer /dev/sda et GRUB

Voir le nombre de dislikes sur YouTube

Filtrer vos flux RSS avec Feed Rinse
