HOWTO Mirroir RSYNC Local pour l'arbre Portage

Un article de Gentoo Linux Wiki.

Cet article fait partie des HOWTOs.
Méthodes d'installation CD Live Noyau et matériel Portables et Notebooks Portage Système Réseaux et Services Serveur X Logiciels fréquemment utilisés Autres

Sommaire

[modifier] Introduction

Si vous possédez un LAN de plusieurs machines tournant sous Gentoo, vous devriez mettre en place un miroir local pour l'arbre Portage. De cette manière, vous pouvez synchroniser l'arbre de votre serveur à partir d'un miroir officiel sur Internet, puis mettre à jour toutes les autres machines à partir de ce serveur local. L'avantage est double: d'une part, la synchronisation est largement plus rapide sur un LAN que sur Internet, et d'autre part, vous ne surchargerez plus les miroirs officiels Gentoo en mettant à jour plusieurs machines par jour.

Attention:

- n'utilisez pas l'ebuild 'app-admin/gentoo-rsync-mirror' qui est obsolète !

- certaines autres documentations, notamment sur le forum Gentoo et sur la documentation officielle Gentoo, expliquent comment mettre en place un miroir rsync OFFICIEL et public. Il ne s'agit ici que d'un miroir privé pour les possesseurs de plusieurs machines sous Gentoo mises en LAN.

Mettre en place un miroir rsync est simple et rapide: Le paquet "rsync" nécessaire est déjà installé puisqu'il fait partie du système de base (il est nécessaire à Portage pour la synchronisation avec les miroirs officiels). Ce paquet contient à la fois le serveur et le client rsync. Il ne reste plus qu'à éditer quelques fichiers de configuration.

[modifier] Coté serveur

Il suffit d'éditer le fichier de configuration de RSYNC, /etc/rsyncd.conf

# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-misc/rsync/files/rsyncd.conf,v 1.3 2004/07/15 00:11:37 agriffis Exp $

# Fichier de configuration pour un miroir local simple
# cf. les pages de manuel rsync(1) et rsyncd.conf(5) pour plus de détails

# Fichier qui contiendra le numéro de PID du serveur, nécéssaire pour l'initscript /etc/init.d/rsynd
pid file = /var/run/rsyncd.pid

# Utilisateur et groupe du serveur
uid = nobody
gid = nobody
use chroot = yes

# On limite l'accès aux machines de votre LAN uniquement
# Remplacer l'identifiant de réseau par le votre s'il est différent
hosts allow=192.168.0.0/255.255.0.0
hosts deny=*

# Maximum de connections simultanées
max connections = 5

# Fichier contenant le MOTD (texte s'affichant chez les clients lors de la connexion)
# Ce fichier n'existe pas par défaut, créez le si besoin, sinon commentez la ligne
motd file = /etc/rsync/rsyncd.motd

# Fichier de log séparé pour le serveur rsync
#log file = /var/log/rsync.log

log format = %t %a %m %f %b
syslog facility = local3
timeout = 300

# Définition de l'arbre à synchroniser
[gentoo-portage]
# Répertoire par défaut, adaptez eventuellement à votre configuration
path = /usr/portage
comment = miroir Gentoo Linux Portage Tree
exclude = distfiles/ packages/

Une fois la configuration terminée, vous pouvez lancer le serveur:

/etc/init.d/rsyncd start

Et pour le lancer par défaut au démarrage:

rc-update add rsyncd default

Félicitations, vous avez désormais un serveur rsync local ! Mais il faut maintenant configurer les autres machines de votre LAN pour qu'elles utilisent ce serveur et non plus un serveur officiel.

[modifier] Coté client

Editez votre fichier /etc/make.conf sur chaque machine cliente et modifiez la variable SYNC:

SYNC="rsync://votreServeurIci/gentoo-portage"

Remplacez 'votreServeurIci' par l'IP ou le nom DNS de votre serveur.

C'est fini! Il ne vous reste plus qu'à lancer emerge sync sur le serveur puis sur le client, et à admirer la différence de vitesse !

[modifier] Notes

Si vous lancez le serveur rsync derrière un firewall, n'oubliez pas d'ouvrir le port 873 en tcp.

iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 873 -j ACCEPT

[modifier] A propos

Traduit de l'anglais par Pico. (article original [1])

[modifier] A voir également