Notions complexes - 1. Mise en place d'un serveur de distribution binaire
1.1 Introduction
Cette section décrit une méthode d'utilisation d'un serveur central de compilation ( serveur "maître") pour distribuer des paquets binaires à tous les clients des stations de travail. Elle s'applique aux stations de travail utilisant plusieurs installations de Fink.
Note : dans les instructions suivantes, on a supposé que toutes les machines clientes ont une version de fink supérieure ou égale à la version 0.24.0. Voir plus loin la section remarques si les machines ont une version de fink antérieure.
La méthode se compose des étapes suivantes sur le serveur "maître" et sur les machines clientes :
1.2 Étapes sur le serveur "maître" (serveur de compilation)
- Installez Fink dans le répertoire
/opt/sw
(chemin par défaut, utilisez un lien symbolique si nécessaire). - Construisez les paquets comme d'habitude. Il n'est pas nécessaire de les installer.
Exécutez
fink scanpackages
chaque fois que le jeu de paquets construits change. Fink générera alors des index apt pour tous les arbres activés.Au lieu de la commande précédente, vous pouvez exécuter
fink cleanup
. Les paquets sources et binaires obsolètes seront alors supprimés. La commandescanpackages
est appelée automatiquement à la fin du processus de nettoyage.- Démarrez un serveur web : vous pouvez, par exemple, activer "Partage Web personnel" dans la section Partage des Préférences Système, puis configurer
httpd
de telle sorte qu'il serve le répertoire/opt/sw/fink
en ajoutant les lignes suivantes au fichier/etc/httpd/httpd.conf
:Alias /fink /opt/sw/fink <Directory /opt/sw/fink> Options Indexes FollowSymLinks </Directory>
- Exécutez
sudo /usr/sbin/apachectl graceful
pour (re)démarrer votre serveur web.
N'oubliez pas de réexécuter fink scanpackages
(ou fink cleanup
) chaque fois que vous construisez ou mettez à jour des paquets sur le serveur "maître", de façon à ce qu'ils soient disponibles sur les machines éloignées.
Notes :
Vous pouvez aussi créer un utilisateur "fink" et ajouter les lignes ci-dessus au fichier /etc/httpd/users/fink.conf
.
Si vous utilisez le paquet apache2 de Fink, vous devrez modifier les chemins ci-dessus.
1.3 Étapes sur les machines clientes
- Installez Fink sur
/opt/sw
(chemin de base par défaut). - Exécutez
fink configure
et activez l'option de téléchargement des paquets à partir de la distribution binaire : "UseBinaryDist: true" dans le fichier/opt/sw/etc/fink.conf
. - Ouvrez le fichier
/opt/sw/etc/apt/sources.list
et ajoutez-y les lignes correspondant à vos arbres Fink. Par exemple, si l'adresse IP de votre machine de compilation est 192.168.42.7, vous devez ajouter les lignes suivantes :deb http://192.168.42.7/fink stable main crypto deb http://192.168.42.7/fink unstable main crypto deb http://192.168.42.7/fink local main
- Exécutez
fink selfupdate
. Vous devriez voir apparaître les lignes suivantes :... Hit http://192.168.42.7 stable/main Packages Hit http://192.168.42.7 stable/main Release Hit http://192.168.42.7 stable/crypto Packages ...
à la fin du processus de mise à jour, si le niveau de verbosité est supérieur ou égal à 1.
L'exécution de fink update-all
ou de fink install <paquet>
téléchargera alors les paquets en tant que paquets binaires s'ils sont disponibles sur le serveur "maître".
1.4 Remarques
- Le serveur "maître" doit utiliser une version de X11 identique à la plus ancienne version installée sur l'ensemble des clients. Par exemple, si l'une des machines clientes utilise X11 d'Apple, le serveur "maître" doit l'utiliser lui aussi.
- Vous pouvez supprimer les paquets qui ne sont que des dépendances de compilation (c'est-à-dire qui ne sont pas nécessaires à l'exécution d'autres paquets). Le paquet
debfoster
permet de le faire facilement. Faîtes toutefois attention à ne pas supprimer de paquets essentiels, telapt
. - Si vous utilisez une version de fink inférieure à la version 0.24.0 sur une machine client, vous devez exécuter
sudo apt-get update
au lieu defink selfupdate
. Vous devez alors installer les paquets binaires viasudo apt-get install <paquet>
.
Ce document est adapté pour part de "Sharing the Fink" par RangerRick. Merci !