Il existe différentes façons d'utiliser une connexion Internet (ou le courrier électronique) pour garder à jour les sources de n'importe quelle partie, ou de l'ensemble, du projet FreeBSD, selon ce qui vous intéresse. Les principaux services que nous fournissons sont le CVS anonyme, CVSup, et CTM.
Alors qu'il est possible de mettre à jour seulement
certaines parties de l'arbre des sources, la seule procédure
de mise à jour supportée est celle consistant
à mettre à jour l'intégralité de
l'arborescence et de recompiler les sources des applicatifs de
base—“userland” (i.e., tous les programmes
qui tournent dans l'espace utilisateur, comme ceux des
répertoires /bin
et
/sbin
) et du noyau. Ne mettre à jour
qu'une partie des sources, uniquement le noyau, ou seul le
“userland” mènera souvent à des
problèmes. Ces problèmes pourront aller d'erreurs de
compilation à des paniques du noyau ou même des
corruptions de données.
CVS anonyme et
CVSup utilisent une méthode de
mise à jour pilotée par le
client—pull. Dans le cas de
CVSup, l'utilisateur (ou une
procédure cron
) appelle le programme
cvsup
, qui interagit avec un serveur
cvsupd
distant, pour mettre à jour vos
fichiers. Les mises à jour que vous recevez sont les plus
récentes, et vous ne les recevez seulement lorsque vous le
désirez. Vous pouvez aisément restreindre vos mises
à jour aux fichiers ou répertoires particuliers
qui vous intéressent. Les mises à jour sont
générées à la volée par le serveur,
en fonction de ce que vous avez déjà et de ce que vous
voulez. CVS anonyme est plus
simpliste que CVSup, car ce n'est
qu'une extension de CVS qui
permet de récupérer des modifications directement
d'une archive CVS distante. Pour cela,
CVSup est bien plus efficace mais
CVS anonyme est plus facile à
utiliser.
CTM, à l'inverse, ne compare pas interactivement les sources dont vous disposez avec celles qui sont sur l'archive de référence. Au lieu de cela, une procédure qui identifie les modifications intervenues depuis qu'elle a été exécutée pour la dernière fois, est lancée plusieurs fois par jour sur la machine CTM de référence (maître), les modifications détectées sont compressées, affectées d'un numéro de séquence et encodées pour pouvoir être envoyées par courrier électronique (en ASCII imprimable uniquement). Une fois reçus, ces “deltas CTM” peuvent être passés à l'utilitaire ctm_rmail(1) qui décodera, contrôlera et appliquera automatiquement les modifications à l'exemplaire des sources de l'utilisateur. Cette méthode est beaucoup plus efficace que CVSup et consomme beaucoup moins de ressources sur notre serveur, parce que c'est un modèle piloté par le serveur—push plutôt que par l'utilisateur—pull.
Il y a, bien sûr, quelques contreparties. Si vous effacez par inadvertance des parties de votre archive, CVSup s'en apercevra et vous reconstruira les parties endommagées. CTM ne le fera pas, et si vous effacez des parties de votre l'arborescence des sources (et que vous n'avez pas fait de sauvegarde) alors vous devrez repartir de zéro (à partir du plus récent “delta de base” CVS) et tout reconstituer avec CTM ou CVS anonyme, effacer les parties endommagées et resynchroniser.
Ce document, ainsi que d'autres peut être téléchargé sur ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/
Pour toutes questions à propos de FreeBSD, lisez la
documentation avant de contacter
<questions@FreeBSD.org>.
Pour les questions sur cette documentation, contactez
<doc@FreeBSD.org>.