Où sommes nous ?

Retour

Miroir local pour portage

Mes sources

Le Wiki de Le Wiki de Gentoo

Pour effectuer des mise-à-jour ou simplement installer de nouveaux programmes, chaque machine doit avoir un copie de portage. Sauf qu'avec 4 ou 5 machines, sa synchronisation va vite devenir problématique : on risque rapidement de se faire bannir pour avoir fait des syncho trop rapprochées.
La solution est alors d'avoir un miroir local de portage.

Le principe

Une machine servira de référence et sera la seule a effectuer des mise-à-jour depuis internet, les autres machines se baseront sur elle pour leur propre rafraichissement (dans mon exemple, cette machine sera celeron.chez.moi).

Il est donc nécessaire d'installer ...

Un serveur RSync (sur la machine de reference)

Pour une fois, il n'y a pas besoin d'installer quoi que ce soit, rsync étant une fonctionnalité de base de Gentoo, tout est déjà présent : ne reste qu'à configurer et lancer le serveur.

/etc/rsyncd.conf

La majorité de la configuration est elle aussi présente, parfois simplement commentée ; bref, le fichier de configuration devrait ressembler à

pid file = /var/run/rsyncd.pid
use chroot = yes
read only = yes
uid = nobody
gid = nobody

# Simple example for enabling your own local rsync server
[gentoo-portage]
        path = /usr/portage
        comment = Gentoo Portage tree
        exclude = /distfiles /packages

Les premières lignes servent à la sécurité : lecture seule autorisée, fonctionne avec un utilisateur sans privilège ...

Le exclude quand à lui, supprime de la synchronisation les fichiers temporaires tels que les bundles des sources, et les binaires générés localement sur l'hôte de référence.

Démarrage du serveur rsync

Pour une utilisation basique, il n'y a strictement aucune raison de démarrer un serveur rsync. A nous donc de l'activer au boot :

rc-update add rsyncd default

Evidemment, si on veut l'activer sans rebooter la machine (ben ouai, on est pas sous m$-windows), il faudra faire

/etc/init.d/rsyncd start

Sur les clients

>=sys-apps/portage-2.2.16

Depuis portage-2.2.16, la configuration se fait par le fichier /etc/portage/repos.conf/gentoo.conf où l'on ajoute les directives suivantes :

sync-type = rsync
sync-uri = rsync://celeron.chez.moi/gentoo-portage

< sys-apps/portage-2.2.16

Tout ce passe comme d'habitude par le fichier /etc/make.conf. La variable SYNC doit pointée sur notre référence locale plutôt que sur un serveur externe. Dans mon cas, ça donne :

SYNC="rsync://celeron.chez.moi/gentoo-portage"

Synchroniser les arbres.

Dorénavant, une séquence de synchronisation totale sera la suivante.

Sur l'hôte de référence

emerge --sync

ou

emerge-webrsync

L'hôte de référence doit bien évidement etre synchonisé en premier. N'oublions pas qu'il est le seul du parc à faire encore référence au serveur Internet donc la méthode utilisée importe peu.

Sur ces clients.

Ici, seule ma méthode --sync peut être utilisée car nous n'avons pas installer de site web pour servir notre repository.

emerge --sync

Visitez :
La liste de nos voyages
Nos sorties Ski et rando
Copyright Laurent Faillie 2001-2017
N'oubliez pas d'entrer le mot de passe pour voir aussi les photos perso.
Contactez moi si vous souhaitez réutiliser ces photos et pour les obtenir avec une plus grande résolution.
Visites durant les 7 derniers jours Nombre de visites au total.

Vous pouvez laissez un commentaire sur cette page.