Il est possible que vous ayez plusieurs machines tournant sous Gentoo et que par souci d’économie de vos ressources réseau (et celles des miroirs Gentoo), vous souhaitiez créer votre propre miroir sur une machine locale.
Choisissez l’hôte qui fera office de serveur et éditez son fichier /etc/rsyncd.conf :
# emacs /etc/rsyncd.conf
pid file = /var/run/rsyncd.pid max connections = 5 use chroot = yes uid = nobody gid = nobody read only = yes [gentoo-portage] path = /usr/portage comment = Gentoo Portage tree exclude = /distfiles /packages |
Démarrez le service et ajoutez le au démarrage :
# rc-service rsyncd start
# rc-update add rsyncd default
testez (depuis un client, si possible) et mettez à jour Portage sur votre serveur :
# rsync ip_serveur::
doit renvoyer 'gentoo-portage Gentoo Portage'
# rsync ip_serveur::gentoo-portage
doit renvoyer la liste des paquets
# emerge --sync
ou
# emerge-webrsync
éditez le fichier /etc/portage/repos.conf/gentoo.conf :
[DEFAULT] main-repo = gentoo [gentoo] location = /usr/portage sync-type = rsync sync-uri = rsync://ip_serveur/gentoo-portage ← ip du serveur à modifier. auto-sync = yes |
et mettez à jour portage
# emerge --sync
Cron :
Afin de mettre à jour le serveur automatiquement, vous pouvez installez un démon 'cron' (un programme qui permet aux utilisateurs des systèmes Unix d’exécuter automatiquement des scripts, des commandes ou des logiciels à une date et une heure spécifiées à l’avance, ou selon un cycle défini à l’avance. ).
Il existe plusieurs version, pour cet exemple, nous allons utiliser dcron.
Installez dcron :
# emerge -a dcron
démarrez le démon :
# rc-service dcron start
ajoutez le au démarrage :
# rc-update add dcron default
et initialisez la configuration de base :
# crontab /etc/crontab
déplacez-vous vers votre répertoire root et créez le fichier crons.cron :
# cd
# emacs crons.cron
les 5 premiers champs de votre table indiquent respectivement : les minutes (0-59), les heures(0-23), les jours du mois (1-31), les mois (1-12) et les jours de la semaines ( 0 et 7 pour le dimanche). Une étoile signifie que toutes les valeurs sont acceptées : '* * * * * tâche' lancera 'tâche' toutes les minutes. On peut spécifier également spécifier une plage de valeur en les séparent par un tiret, ou une liste en séparant les valeurs par une virgule.
Pour lancer 'emerge --sync' une fois par jour à 4h00 :
0 | 4 | * | * | * | /usr/bin/emerge --sync |
ajoutez votre fichier a la liste de tâche de cron :
# crontab crons.cron
la commande suivante doit afficher la liste des tâches :
# crontab -l