Annexe A. Se procurer FreeBSD

A.1. Editeurs de CD-ROMs et DVDs

A.1.1. Produits vendus en boîte

Des versions en boîte de FreeBSD sont disponibles (CDs de FreeBSD, logiciels supplémentaires, et documentation papier) auprès de plusieurs revendeurs:

A.1.2. CDs et DVDs

Les CDs et DVDs de FreeBSD sont disponibles auprès de nombreux revendeurs en ligne:

A.1.3. Distributeurs

Si vous êtes un revendeur et désirez vendre des CDROMs de FreeBSD, veuillez contacter un distributeur:

A.2. Sites FTP

Les sources officielles de FreeBSD sont disponibles via FTP anonyme à partir d’un ensemble de sites miroir. Le site ftp://ftp.FreeBSD.org/pub/FreeBSD/ dispose d’une bonne connectivité et autorise un grand nombre de connexions, mais vous avez intérêt à trouver plutôt un site miroir "plus proche" (tout particulièrement si vous décidez de mettre en place une sorte de miroir à votre tour).

La base de données des sites miroir FreeBSD est plus à jour que la liste de ce Manuel, parce qu’elle tire ses informations du DNS plutôt que se reposer sur une liste statique de machines.

De plus, FreeBSD est disponible via FTP anonyme à partir des sites miroir ci-dessous. Si vous décidez de vous procurer FreeBSD via FTP anonyme, essayez si possible d’utiliser un site proche de vous. Les sites miroir listés en tant que "sites miroir primaires" disposent généralement de l’intégralité de l’archive FreeBSD (toutes les versions actuellement disponibles pour chacune des architectures) mais vous obtiendrez les temps de téléchargements les plus courts à partir d’un site situé dans votre pays ou votre région. Les sites régionaux proposent les versions les plus récentes des architectures les plus populaires mais pourraient ne pas proposer l’intégralité de l’archive de FreeBSD. Tous les sites proposent un accès FTP anonyme mais certains sites fournissent également un accès suivant d’autres méthodes. Les méthodes d’accès disponibles pour chaque site sont données entre parenthèses après le nom de la machine.

(as of UTC)

Central Servers

Primary Mirror Sites

In case of problems, please contact the hostmaster <mirror-admin@FreeBSD.org> for this domain.

Armenia

In case of problems, please contact the hostmaster <hostmaster@am.FreeBSD.org> for this domain.

Australia

In case of problems, please contact the hostmaster <hostmaster@au.FreeBSD.org> for this domain.

Austria

In case of problems, please contact the hostmaster <hostmaster@at.FreeBSD.org> for this domain.

Brazil

In case of problems, please contact the hostmaster <hostmaster@br.FreeBSD.org> for this domain.

Czech Republic

In case of problems, please contact the hostmaster <hostmaster@cz.FreeBSD.org> for this domain.

Denmark

In case of problems, please contact the hostmaster <hostmaster@dk.FreeBSD.org> for this domain.

Estonia

In case of problems, please contact the hostmaster <hostmaster@ee.FreeBSD.org> for this domain.

Finland

In case of problems, please contact the hostmaster <hostmaster@fi.FreeBSD.org> for this domain.

France

In case of problems, please contact the hostmaster <hostmaster@fr.FreeBSD.org> for this domain.

Germany

In case of problems, please contact the hostmaster <de-bsd-hubs@de.FreeBSD.org> for this domain.

Greece

In case of problems, please contact the hostmaster <hostmaster@gr.FreeBSD.org> for this domain.

Hong Kong

Ireland

In case of problems, please contact the hostmaster <hostmaster@ie.FreeBSD.org> for this domain.

Japan

In case of problems, please contact the hostmaster <hostmaster@ie.FreeBSD.org> for this domain.

Korea

In case of problems, please contact the hostmaster <hostmaster@kr.FreeBSD.org> for this domain.

Latvia

In case of problems, please contact the hostmaster <hostmaster@lv.FreeBSD.org> for this domain.

Lithuania

In case of problems, please contact the hostmaster <hostmaster@lt.FreeBSD.org> for this domain.

Netherlands

In case of problems, please contact the hostmaster <hostmaster@nl.FreeBSD.org> for this domain.

New Zealand

Norway

In case of problems, please contact the hostmaster <hostmaster@no.FreeBSD.org> for this domain.

Poland

In case of problems, please contact the hostmaster <hostmaster@pl.FreeBSD.org> for this domain.

Russia

In case of problems, please contact the hostmaster <hostmaster@ru.FreeBSD.org> for this domain.

Saudi Arabia

In case of problems, please contact the hostmaster <ftpadmin@isu.net.sa> for this domain.

Slovenia

In case of problems, please contact the hostmaster <hostmaster@si.FreeBSD.org> for this domain.

South Africa

In case of problems, please contact the hostmaster <hostmaster@za.FreeBSD.org> for this domain.

Spain

In case of problems, please contact the hostmaster <hostmaster@es.FreeBSD.org> for this domain.

Sweden

In case of problems, please contact the hostmaster <hostmaster@se.FreeBSD.org> for this domain.

Switzerland

In case of problems, please contact the hostmaster <hostmaster@ch.FreeBSD.org> for this domain.

Taiwan

In case of problems, please contact the hostmaster <hostmaster@tw.FreeBSD.org> for this domain.

Ukraine

United Kingdom

In case of problems, please contact the hostmaster <hostmaster@uk.FreeBSD.org> for this domain.

United States of America

In case of problems, please contact the hostmaster <hostmaster@us.FreeBSD.org> for this domain.

A.3. CVS anonyme

A.3.1. Introduction

CVS anonyme (ou comme on l’appelle également, anoncvs) est une de fonctionnalité des utilitaires CVS livrés avec FreeBSD qui permet la synchronisation avec un référentiel CVS sur une machine distante. Elle permet, entre autres, aux utilisateurs de FreeBSD, de lire, sans autorisation particulière, les archives disponibles sur l’un des serveurs anoncvs officiels du projet FreeBSD. Pour l’utiliser, il suffit simplement de définir la variable d’environnement CVSROOT pour qu’elle pointe sur le serveur anoncvs approprié, fournir le fameux mot de passe "anoncvs" avec la commande cvs login, puis ensuite utiliser la commande cvs(1) pour y accéder de la même manière qu’à un référentiel local.

La commande cvs login, stocke les mots de passe utilisés pour authentification sur le serveur CVS dans un fichier appelé .cvspass dans votre répertoire HOME. Si ce fichier n’existe pas, vous pourrez obtenir une erreur quand vous essaierez d’utiliser cvs login pour la première fois. Créez juste un fichier .cvspass vide, et relancez la commande.

Bien que l’on puisse aussi dire que CVSup et anoncvs assurent globalement la même fonction, il y a diverses nuances qui peuvent influencer l’utilisateur dans son choix d’une méthode de synchronisation. En résumé, CVSup utilise plus efficacement les ressources réseau et est de loin la méthode la plus sophistiquée des deux, mais cela a un prix. Pour employer CVSup, il faut d’abord installer et configurer un programme client spécialisé avant de pouvoir récupérer quoi que ce soit, et il faut ensuite travailler par sous-ensemble relativement importants, que CVSup appelle catalogues.

anoncvs, au contraire, peut être utilisé pour examiner n’importe quoi, d’un seul fichier à un programme particulier (tel que ls ou grep) en faisant référence au nom du module CVS. Bien sûr, anoncvs n’est bon qu’à lire un référentiel CVS, si vous avez donc l’intention de développer localement sur un référentiel partagé avec le projet FreeBSD, alors vous n’avez d’autre choix que d’utiliser CVSup.

A.3.2. Utiliser CVS anonyme

Configurer cvs(1) pour utiliser un référentiel CVS anonyme consiste simplement à définir la variable d’environnement CVSROOT pour qu’elle pointe sur l’un des serveurs anoncvs du projet FreeBSD. A la date de rédaction de ce document, les serveurs suivants sont disponibles:

  • Autriche: :pserver:anoncvs@anoncvs.at.FreeBSD.org:/home/ncvs (Utilisez cvs login et entrez le mot de passe "anoncvs" quand on vous le demandera.)

  • France: :pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs (pserver (mot de passe "anoncvs"), ssh (aucun mot de passe))

  • Allemagne: :pserver:anoncvs@anoncvs.de.FreeBSD.org:/home/ncvs (rsh, pserver, ssh, ssh/2022)

  • Japon: :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs (Utilisez cvs login et entrez le mot de passe "anoncvs" quand on vous le demandera.)

  • Taiwan: :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs (pserver (utilisez cvs login and entrez n’importe quel mot de passe quand on vous le demandera), ssh (pas de mot de passe))

    SSH2 HostKey: 1024 e8:3b:29:7b:ca:9f:ac:e9:45:cb:c8:17:ae:9b:eb:55 /etc/ssh/ssh_host_dsa_key.pub
  • USA: freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs (ssh uniquement - pas de mot de passe)

    SSH HostKey: 1024 a1:e7:46:de:fb:56:ef:05:bc:73:aa:91:09:da:f7:f4 root@sanmateo.ecn.purdue.edu
    SSH2 HostKey: 1024 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65 ssh_host_dsa_key.pub
  • USA: anoncvs@anoncvs1.FreeBSD.org:/home/ncvs (ssh2 uniquement - pas de mot de passe)

    SSH2 HostKey: 2048 53:1f:15:a3:72:5c:43:f6:44:0e:6a:e9:bb:f8:01:62 /etc/ssh/ssh_host_dsa_key.pub

Comme CVS vous permet de récupérer ("check out") pratiquement n’importe quelle version des sources de FreeBSD ayant existé (ou, dans certains cas, à venir), vous devez maîtriser l’indicateur de révision (-r) de cvs(1) et connaître les valeurs qu’il peut prendre dans le référentiel du projet FreeBSD.

Il y a deux sortes d’étiquettes, les étiquettes de révision et les étiquettes de branches. Les étiquettes de révision s’appliquent à une révision particulière. Leur signification ne varie pas d’un jour à l’autre. Les étiquettes de branche, à l’inverse, se rapportent à la dernière révision sur une branche particulière à un moment donné. Comme les étiquettes de branche ne se rapportent pas à une révision particulière, elles peuvent désigner demain quelque chose de différent de ce qu’elles référencent aujourd’hui.

Etiquettes CVS présente les étiquettes de révision qui peuvent intéresser l’utilisateur. Encore une fois, aucune ne s’applique au catalogue des logiciels portés puisque ce dernier ne présente pas de multiples branches de développement.

Quand vous précisez une étiquette de branche, vous obtenez normalement la dernière version des fichiers de cette branche de développement. Si vous voulez une version antérieure, vous pouvez l’obtenir en précisant une date avec l’indicateur -D date. Reportez-vous aux pages de manuel cvs(1) pour plus de détails.

A.3.3. Exemples

Bien qu’il soit vraiment recommandé de lire attentivement les pages de manuel de cvs(1) avant de faire quoi que ce soit, voici quelques exemples rapides qui vous montrent essentiellement comment utiliser CVS anonyme:

Exemple 1. Récupérer quelque chose de -CURRENT (ls(1)):
% setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
% cvs login
At the prompt, enter any word for « password ».
% cvs co ls
Exemple 2. Utiliser SSH pour récupérer l’arborescence src/:
% cvs -d freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs co src
The authenticity of host 'anoncvs.freebsd.org (128.46.156.46)' can't be established.
DSA key fingerprint is 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'anoncvs.freebsd.org' (DSA) to the list of known hosts.
Exemple 3. Récupérer la version 6-STABLE de ls(1):
% setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
% cvs login
At the prompt, enter any word for « password ».
% cvs co -rRELENG_6 ls
Exemple 4. Générer la liste des différences concernant ls(1) (sous forme de "diffs unifiés") entre différentes versions de FreeBSD
% setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
% cvs login
At the prompt, enter any word for « password ».
% cvs rdiff -u -rRELENG_5_3_0_RELEASE -rRELENG_5_4_0_RELEASE ls
Exemple 5. Savoir quels autres noms de modules peuvent être utilisés:
% setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
% cvs login
At the prompt, enter any word for « password ».
% cvs co modules
% more modules/modules

A.3.4. Autres ressources

Les ressources supplémentaires suivantes peuvent être utiles pour apprendre à se servir de CVS:

  • Guide CVS de Cal Poly.

  • CVS Home, la communauté de développement et de support de CVS.

  • CVSweb est l’interface Web pour CVS du projet FreeBSD.

A.4. Utiliser CTM

CTM est une méthode pour synchroniser une arborescence de répertoires distants avec une arborescence centrale. Elle a été développée pour être utilisée avec l’arborescence des sources de FreeBSD, bien que d’autres puissent avec le temps la trouver utile pour d’autres besoins. Il existe actuellement très peu, sinon aucune, documentation sur la façon de créer les deltas, contactez-donc la liste de diffusion ctm-users-desc pour obtenir plus d’informations et si vous souhaitez utiliser CTM pour autre chose.

A.4.1. Pourquoi utiliser CTM?

CTM vous procurera un exemplaire local de l’arborescence des sources de FreeBSD. Il y a plusieurs "moutures" de l’arborescence disponibles. Que vous désiriez suivre toute l’arborescence CVS ou seulement une de ses branches, CTM peut vous fournir ce dont vous avez besoin. Si vous développez activement sous FreeBSD, mais ne disposez que d’une connectivité TCP/IP peu fiable ou n’en avez pas du tout, ou voulez tout simplement que les modifications vous soient automatiquement envoyées, CTM est ce qu’il vous faut. Il vous faudra jusqu’à trois deltas par jour sur les branches les plus actives. Cependant, vous devriez envisager de vous les faire envoyer automatiquement par courrier électronique. La taille des mises à jour est toujours aussi petite que possible. Typiquement moins de 5KO, occasionnellement (une fois sur 10), entre 10 et 50KO, et de temps à autre, une grosse modification de 100KO ou plus.

Vous devrez aussi vous tenir au courant des différentes contre-parties liées au fait de travailler directement avec les sources en cours de développement plutôt qu’avec les versions publiées. C’est particulièrement vrai si vous choisissez les sources de la branche "-CURRENT". Il est recommandé de lire Se synchroniser avec la version -CURRENT de FreeBSD.

A.4.2. Que vous faut-il pour utiliser CTM?

Vous aurez besoin de deux choses: le programme CTM, et les deltas initiaux à lui fournir (pour mettre à jour avec la version "courante").

Le programme CTM fait partie de FreeBSD depuis la publication de la version 2.0, et se trouve dans /usr/src/usr.sbin/ctm si vous avez un exemplaire des sources en ligne.

Vous pouvez obtenir les "deltas" à fournir à CTM de deux façons, par FTP ou par courrier électronique. Si vous avez un accès FTP à l’Internet, les sites suivants supportent l’accès à CTM:

ou reportez-vous à la section Sites miroirs.

Allez dans le répertoire vous concernant et commencez par télécharger le fichier README.

Si vous souhaitez récupérer vos deltas par courrier électronique:

Abonnez-vous à l’une des listes de distribution CTM. ctm-cvs-cur-desc comprend toute l’arborescence -CURRENT. liste de diffusion des sources de la branche 4-STABLE via CTM concerne la branche 4.X, etc…​ (Si vous ne savez pas comment vous abonner à une liste, cliquez sur le nom de la liste ci-dessus ou sur https://lists.freebsd.org puis cliquez sur la liste à laquelle vous désirez vous abonner. La page devrait contenir toutes les instructions nécessaires à l’abonnement.)

Dès que vous commencez à recevoir vos mises à jour CTM par courrier électronique, vous pouvez utiliser le programme ctm_rmail pour les décompacter et les appliquer. Vous pouvez en fait utiliser directement le programme ctm_rmail à partir d’une entrée dans /etc/aliases si vous voulez automatiser complètement le processus. Consultez les pages de manuel de ctm_rmail pour plus de détails.

Quelle que soit la méthode que vous utilisez pour récupérer les deltas CTM, vous devriez vous abonner à la liste de diffusion ctm-announce-desc. Ce sera, dans l’avenir, le seul endroit où les annonces concernant le fonctionnement du système CTM seront faites. Cliquez sur le nom de la liste et suivez les instructions pour s’inscrire à la liste.

A.4.3. Utiliser CTM pour la première fois

Avant de pouvoir utiliser les deltas CTM, il vous faut un point de départ pour appliquer les deltas générés à partir de là.

Tout d’abord vous devez déterminer ce que vous avez déjà. Tout le monde peut partir d’un répertoire "vide". Vous devez utiliser un delta "Empty" (vide) au départ pour débuter votre arborescence supportée par CTM. Il fut question que l’un de ces deltas de départ soit distribué sur le CD, cependant ce n’est actuellement pas le cas.

Puisque les arborescences représentent plusieurs dizaines de mégaoctets, vous préférerez commencer avec ce que vous avez déjà sous la main. Si vous disposez d’une version de FreeBSD sur CD, vous pouvez copier ou extraire les sources initiales qui s’y trouvent. Cela évitera un transfert de données conséquent.

Vous pouvez reconnaître ces deltas de transition au X qui suit leur numéro de séquence (src-cur.3210XEmpty.gz par exemple). La dénomination après le X correspond à l’origine de votre "racine" initiale. Empty est un répertoire vide. La règle est qu’une transition de base à partir de Empty est générée tous les 100 deltas. Au passage, elles sont volumineuses! De 70 à 80 mégaoctets de données compressées avec gzip est une taille habituelle pour les deltas XEmpty.

Une fois que vous avez sélectionné un delta initial à partir duquel commencer, il vous faudra également tous les deltas de numéro supérieur qui le suivent.

A.4.4. Utiliser CTM au quotidien

Pour appliquer les deltas, tapez simplement:

# cd /où/vous/voulez/mettre/les/fichiers
# ctm -v -v /où/vous/mettez/vos/deltas/src-xxx.*

CTM reconnaît les deltas qui ont été compressés avec gzip, vous n’avez donc pas besoin de les décompresser avant, ce qui économise de l’espace disque.

A moins d’être absolument sûr du résultat, CTM ne touchera pas à votre arborescence. Pour contrôler la validité d’un delta, vous pouvez également utiliser l’indicateur -c et CTM ne modifiera alors pas votre arborescence; il vérifiera simplement l’intégrité du delta et regardera s’il peut s’appliquer proprement à votre arborescence en l’état.

Il y a aussi d’autres option pour CTM, voyez les pages de manuel ou lisez les sources pour plus d’informations.

C’est à peu près tout. Chaque fois que vous recevez un delta, passez-le à CTM pour tenir à jour votre arborescence des sources.

N’effacez pas les deltas s’il vous est difficile de les télécharger de nouveau. Vous pouvez en avoir besoin si quelque chose mauvais se produit. Même si vous n’avez que des disquettes, envisagez d’utiliser fdwrite(1) pour en faire une copie.

A.4.5. Conserver vos modifications locales

Si vous êtes développeur vous voudrez expérimenter et modifier des fichiers de l’arborescence des sources. CTM supporte de façon limitée les modifications locales: avant de contrôler l’existence d’un fichier foo, il regarde tout d’abord s’il y a un fichier foo.ctm. Si ce fichier existe, CTM l’utilisera au lieu de foo.

Ce comportement vous permet de conserver de façon simple des modifications locales: copiez simplement les fichiers que vous envisagez de modifier dans des fichiers de même nom, mais avec le suffixe .ctm. Vous pouvez ensuite bidouiller tranquillement le code, pendant que CTM maintient à jour le fichier .ctm.

A.4.6. D’autres options intéressantes de CTM

A.4.6.1. Savoir avec précision ce que va modifier une mise à jour

Vous pouvez connaître la liste des modifications que CTM appliquera à votre archive des sources en utilisant CTM avec l’option -l.

C’est utile si vous voulez conserver la trace des modifications, pré- ou post- modifier les fichiers concernés, ou vous vous sentez un tantinet paranoïaque.

A.4.6.2. Faire des sauvegardes avant la mise à jour

Parfois vous voudrez sauvegarder tous les fichiers qui seraient toucher par une mise à jour CTM.

Avec l’option -B fichier_de_sauvegarde, CTM sauvegarde tous les fichiers que seraient modifiés par delta CTM donné dans fichier_de_sauvegarde.

A.4.6.3. Restreindre la liste des fichiers touchés par une mise à jour

Parfois vous voudrez restreindre le champ d’application d’une mise à jour CTM, ou serez intéressé à n’extraire que quelques fichiers d’une séquence de deltas.

Vous pouvez contrôler la liste de fichiers sur laquelle travaillera CTM en donnant comme filtre une expression régulière avec les options -e et -x.

Par exemple, pour extraire une version à jour de lib/libc/Makefile de la série de deltas CTM que vous avez sauvegardé, lancez les commandes:

# cd /where/ever/you/want/to/extract/it/
# ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.*

Pour chaque fichier d’un delta CTM, les options -e et -x sont appliquées dans l’ordre donné sur la ligne de commande. Le fichier est traité par CTM uniquement s’il est sélectionné après application des options -e et -x.

A.4.7. Perspectives pour CTM

Il y en a des tonnes:

  • Utiliser une méthode d’authentification au système CTM pour détecter la substitution de mises à jour.

  • Faire le ménage dans les options de CTM, elles commencent à engendrer de la confusion et à contredire l’intuition.

A.4.8. Divers

Il existe aussi une séquence de deltas pour le catalogue des logiciels portés, mais elle n’a pas reçue beaucoup d’écho jusqu’ici.

A.4.9. Miroirs CTM

CTM/FreeBSD est disponible via FTP anonyme sur les miroirs suivants. Si vous faites le choix de vous procurer CTM via FTP anonyme, utilisez s’il vous plaît un site proche de vous.

En cas de problème, contactez la liste de diffusion ctm-users-desc.

Si vous n’avez pas trouvé de miroir proche de vous, où si le miroir est incomplet, essayez d’utiliser un moteur de recherche comme alltheweb.

A.5. Utiliser CVSup

A.5.1. Introduction

CVSup est un ensemble de logiciels pour la distribution et la mise à jour d’arborescences de sources à partir d’un référentiel CVS principal sur une machine serveur distante. Les sources de FreeBSD sont archivées sous un référentiel CVS sur une machine centrale de développement en Californie. Grâce à CVSup, les utilisateurs de FreeBSD peuvent facilement tenir à jour leur propre arborescence de sources.

CVSup utilise le modèle pull de mise à jour. Dans ce schéma, chaque client réclame les mises à jour au serveur, si et quand il le souhaite. Le serveur attend passivement les demandes de mises à jour de ses clients. Toutes les mises à jour sont donc faites à la demande du client. Le serveur n’envoie jamais de mise à jour non sollicitée. Les utilisateurs doivent soit exécuter le client CVSup à la main pour obtenir une mise à jour, soit mettre en oeuvre une tâche cron pour l’exécuter automatiquement et à intervalles réguliers.

Le terme CVSup, avec les majuscules, désigne l’ensemble du logiciel. Ses principales composantes sont le client cvsup qui s’exécute sur les machines de chaque utilisateur, et le serveur cvsupd, qui tourne sur tous les sites miroir de FreeBSD.

En lisant la documentation et les listes de diffusion de FreeBSD, vous trouverez des références à sup. sup était le prédécesseur de CVSup, et remplissait la même fonction. CVSup est utilisé de la même façon que sup et, emploie de fait des fichiers de configuration qui sont compatibles avec ceux de sup. sup n’est plus utilisé pour le projet FreeBSD, parce que CVSup est à la fois plus rapide et plus souple.

L’utilitaire csup est une réécriture en C du logiciel CVSup. Son plus grand avantage est d’être plus rapide et de ne pas dépendre du langage Modula-3, vous n’avez donc pas besoin de l’installer. De plus si vous utilisez FreeBSD 6.2 ou une version suivante, vous pouvez directement utiliser cet utilitaire puisqu’il fait partie du système de base. Les anciennes versions de FreeBSD ne disposent pas de csup(1) dans leur système de base, mais vous pouvez facilement installer le logiciel porté net/csup, ou le paquetage pré-compilé correspondant. L’utilitaire csup ne supporte pas, cependant, le mode CVS. Si vous désirez dupliquer l’intégralité de dépôts, vous aurez toujours besoin de CVSup. Si vous avez décidé d’utiliser csup, passez les étapes concernant l’installation de CVSup et remplacez les références à CVSup par csup dans le reste de cette section.

A.5.2. Installation

La méthode la plus simple pour installer CVSup est d’utiliser la version pré-compilée net/cvsup du catalogue des logiciels portés de FreeBSD. Si vous préférez compiler CVSup à partir des sources, vous pouvez directement utiliser le logiciel porté net/cvsup. Cependant soyez averti: le logiciel porté net/cvsup est écrit en Modula-3, qui demande un temps et un espace disque non négligeables pour le télécharger et le compiler.

Si vous avez l’intention d’utiliser CVSup sur une machine qui ne disposera pas de XFree86™ ou Xorg, comme un serveur, assurez-vous que le logiciel porté de n’incluera pas l’interface graphique ("GUI") de CVSup, net/cvsup-without-gui.

Si vous voulez installer csup sous FreeBSD 6.1 et version précédentes, vous pouvez utiliser le paquetage pré-compilé net/csup du catalogue des logiciels portés. Si vous préférez compiler csup à partir des sources, vous pouvez directement utiliser le logiciel porté net/csup.

A.5.3. Configuration de CVSup

Le fonctionnement de CVSup est contrôlé par un fichier de configuration appelé supfile. Il y a des exemples de fichiers supfile dans le répertoire /usr/shared/examples/cvsup/.

Les informations du fichier supfile répondent pour CVSup aux question suivantes:

Dans les sections suivantes, nous allons renseigner un fichier supfile typique en répondant une à une à chacune de ces questions. Commençons par décrire la structure d’ensemble d’un fichier supfile.

Un fichier supfile est un fichier texte. Les commentaires débutent par un # et se prolongent jusqu’à la fin de la ligne. Les lignes vides ou qui ne contiennent que des commentaires sont ignorées.

Les autres lignes décrivent les ensembles de fichiers que l’utilisateur souhaite recevoir. Ces lignes commencent par le nom d’un "catalogue" - collection, un regroupement logique de fichiers défini par le serveur. Le nom du catalogue dit au serveur quels fichiers vous voulez. Ce nom est éventuellement suivi d’un ou plusieurs champs, séparés par un espace. Ces champs répondent aux questions listées ci-dessus. Il y deux types de champs: des indicateurs et des valeurs. Un indicateur est un mot-clé autonome, e.g., delete ou compress. Une valeur commence aussi par un mot-clé, mais il est impérativement suivi sans espace par un = et un deuxième mot. Par exemple, release=cvs est un champ définissant une valeur.

Un fichier supfile spécifie en général plus d’un catalogue à télécharger. Une façon de construire un fichier supfile consiste à préciser explicitement tous les champs nécessaires pour chaque catalogue. Cependant, cela tend à donner des fichiers supfile avec des lignes assez longues, et ce n’est pas très pratique parce que la plupart des champs sont les mêmes pour tous les catalogues du fichier supfile. CVSup fournit un mécanisme pour s’affranchir de ce problème. Les lignes qui commencent par le nom du pseudo-catalogue spécial *default servent à définir les indicateurs et les valeurs qui seront pris par défaut pour les catalogues listés ensuite dans le fichier supfile. Une valeur par défaut peut-être surchargée pour un catalogue particulier, en associant au catalogue lui-même une valeur différente. Les valeurs par défaut peuvent également être redéfinies, ou bien on peut en définir de nouvelles, en cours de fichier supfile, par de nouvelles lignes *default.

Sachant cela, nous allons maintenant mettre au point un fichier supfile pour télécharger et mettre à jour l’arborescence principale de FreeBSD-CURRENT.

  • Quels fichiers voulez-vous télécharger?

    Les fichiers disponibles via CVSup sont regroupés par "catalogues" - collections. Les catalogues disponibles sont décrits dans la section suivante. Dans notre exemple, nous souhaitons recevoir toute l’arborescence principale du système FreeBSD. Il existe un unique gros catalogue src-all qui correspond à tout cela. Pour commencer à renseigner notre fichier supfile, nous listons simplement les catalogues, un par ligne (dans notre cas, une seule ligne):

    src-all
  • Quelle(s) version(s) voulez-vous télécharger?

    Avec CVSup, vous pouvez obtenir pratiquement n’importe quelle version qui ait existé des sources. C’est possible parce que le serveur cvsupd travaille directement à partir du référentiel CVS, qui contient toutes les versions. Vous indiquez quelle version vous voulez en utilisant les valeurs tag= et date=.

    Faites très attention à définir correctement la valeur tag=. Certaines étiquettes ne s’appliquent qu’à certains catalogues. Si l’étiquette que vous donnez n’est pas valable ou mal orthographiée, CVSup effacera des fichiers que vous ne vouliez probablement pas supprimer. En particulier, n’utilisez que`tag=.` pour les catalogues ports-*.

    Les valeurs données avec tag= sont des étiquettes symboliques définies dans le référentiel. Il y a deux sortes d’étiquettes, les étiquettes de révision et les étiquettes de branches. Les étiquettes de révision s’appliquent à une révision particulière. Leur signification ne varie pas d’un jour à l’autre. Les étiquettes de branches, à l’inverse, se rapportent à la dernière révision sur une branche particulière à un moment donné. Comme les étiquettes de branches ne se rapportent pas à une révision particulière, elles peuvent désigner demain quelque chose de différent de ce qu’elles référencent aujourd’hui.

    Etiquettes CVS contient les étiquettes de branches qui peuvent intéresser les utilisateurs. Quand on spécifie une étiquette dans le fichier de configuration de CVSup, elle doit être précédée du champ tag= (RELENG_4 deviendra tag=RELENG_4). Gardez à l’esprit que seule l’étiquette tag=. n’a de signification pour le catalogue des logiciels portés.

    Faites très attention à mentionner précisément l’étiquette exacte. CVSup ne sait différencier une étiquette valide d’une étiquette qui ne l’est pas. Si vous orthographiez mal l’étiquette, CVSup se comportera comme si vous aviez donné une étiquette valide qui ne se réfère à aucun fichier. Dans ce cas il supprimera toutes les sources que vous avez déjà.

    Lorsque vous indiquez une étiquette de branche, vous recevez normalement les dernières versions des fichiers sur cette branche de développement. Si vous voulez récupérer des version antérieures, vous pouvez le faire en donnant une date avec le champ date=. La page de manuel de cvsup(1) vous expliquent comment le faire.

    Dans notre exemple, nous désirons obtenir FreeBSD-CURRENT. Nous ajoutons alors la ligne suivante au début de notre fichier supfile:

    *default tag=.

    Il existe un cas particulier important qui se produit lorsque que l’on ne spécifie ni le champ tag= ni le champ date=. Dans ce cas, vous obtenez alors les fichiers RCS directement du référentiel CVS du serveur, plutôt que de recevoir une version donnée. Les développeurs préfèrent généralement cette façon de travailler. En maintenant une version du référentiel lui-même sur leur système, ils ont la possibilité de consulter l’historique des révisions et d’accéder aux versions antérieures des fichiers. Cet avantage ne s’obtient cependant qu’au prix d’une consommation importante d’espace disque.

  • D’où voulez-vous les télécharger?

    Nous employons le champ host= pour dire à cvsup où récupérer ses mises à jour. N’importe quel des sites miroir CVSup fera l’affaire, bien que vous devriez essayer de choisir un site proche de vous. Dans cet exemple, nous utiliserons un site fictif de distribution de FreeBSD cvsup99.FreeBSD.org:

    *default host=cvsup99.FreeBSD.org

    Vous devrez changer le site pour un qui existe réellement avant d’exécuter CVSup. Lors de l’exécution de cvsup, vous pouvez surcharger cette définition sur la ligne de commande avec l’option -h nom_de_machine.

  • Où voulez-vous les mettre sur votre machine?

    Le champ prefix= dit à cvsup où mettre les fichiers qu’il obtient. Dans l’exemple, nous mettrons les fichiers source directement dans notre arborescence des sources, /usr/src. Le répertoire src est déjà implicitement défini dans les catalogues que nous avons choisis de télécharger, voici donc la définition correcte:

    *default prefix=/usr
  • cvsup doit-il mettre les fichiers d’état?

    Le client CVSup tient à jour des fichiers d’état dans ce qui est appelé le répertoire de "base". Ces fichiers permettent à CVSup de travailler plus efficacement en gardant la trace des modifications que vous avez déjà reçues. Nous utiliserons le répertoire de base standard, /var/db:

    *default base=/var/db

    Si votre répertoire de base n’existe pas encore, c’est le moment de le créer. Le client cvsup refusera de s’exécuter si le répertoire de base n’existe pas.

  • Diverses autres options de configuration dans le fichier supfile:

    Il y a une autre ligne d’instruction qui doit normalement figurer dans le fichier supfile:

    *default release=cvs delete use-rel-suffix compress

    release=cvs dit au serveur d’obtenir les informations du référentiel principal de FreeBSD. C’est quasiment toujours le cas, mais il existe d’autres possibilités qui sortent du cadre du présent document.

    delete donne à CVSup l’autorisation de supprimer des fichiers. Vous devriez toujours utiliser cette possibilité, de sorte que CVSup puisse vraiment maintenir à jour votre arborescence des sources. CVSup veille à ne supprimer que les fichiers qu’il maintient. Les fichiers supplémentaires que vous pourriez avoir ne seront pas touchés.

    use-rel-suffix est…​ ésotérique. Si vous voulez vraiment savoir de quoi il retourne, lisez la page de manuel de cvsup(1). Sinon, mettez cet indicateur et ne vous en souciez pas plus.

    compress permet d’utiliser un algorithme de compression de type gzip(1) sur la ligne de communication. Si votre connexion a la vitesse d’une ligne T1 ou plus, vous ne devriez probablement pas utiliser la compression. Sinon, cela facilite substantiellement les choses.

  • Assembler les morceaux:

    Voici le fichier supfile de notre exemple en entier:

    *default tag=.
    *default host=cvsup99.FreeBSD.org
    *default prefix=/usr
    *default base=/var/db
    *default release=cvs delete use-rel-suffix compress
    
    src-all

A.5.3.1. Le fichier refuse

Comme mentionné ci-dessus, CVSup utilise une méthode de type pull. Fondamentalement, cela signifie que vous vous connectez au serveur CVSup, ce dernier dit, "Voici ce que vous pouvez télécharger…​", puis votre client répond "Ok, je prendrai ceci, ceci, ceci et cela". Dans la configuration par défaut, le client CVSup téléchargera chaque fichier associé avec le catalogue et l’étiquette que vous avez choisi dans le fichier de configuration. Cependant cela ne correspond pas toujours à ce que vous désirez, tout particulièrement si vous mettez à jour les arborescences doc, ports, ou www - la plupart des personnes sont incapables de lire quatre ou cinq langues différentes, et donc elles n’ont pas besoin de télécharger les fichiers spécifiques à certaines langues. Si vous mettez à jour le catalogue des logiciels portés, vous pouvez remédier à cela en spécifiant chaque catalogue individuellement (e.g., ports-astrology, ports-biology, etc au lieu de spécifier simplement ports-all). Cependant puisque les arborescences doc et www ne disposent pas de catalogues spécifiques à chaque langue, vous devez utiliser une des nombreuses fonctions de CVSup: le fichier refuse.

Le fichier refuse indique essentiellement à CVSup qu’il ne doit pas télécharger chaque fichier d’un catalogue; en d’autre termes, il dit au client de refuser certains fichiers du serveur. Le fichier refuse peut être trouvé (ou, si vous n’en disposez pas encore d’un, doit être placé) dans base/sup/. base est défini dans votre supfile; notre répertoire base est défini en tant que /var/db ce qui signifie que le fichier refuse est par défaut /var/db/sup/refuse.

Le fichier refuse a un format très simple; il contient tout simplement les noms des fichiers ou des répertoires que vous ne désirez pas rapatrier. Par exemple, si vous ne pouvez parler d’autres langues que l’anglais ou un peu d’allemand, et vous ne ressentez pas le besoin de lire la traduction en allemand de la documentation, vous pouvez mettre ce qui suit dans le fichier refuse:

doc/bn_*
doc/da_*
doc/de_*
doc/el_*
doc/es_*
doc/fr_*
doc/it_*
doc/ja_*
doc/nl_*
doc/no_*
doc/pl_*
doc/pt_*
doc/ru_*
doc/sr_*
doc/tr_*
doc/zh_*

et ainsi de suite pour les autres langues (vous pouvez en trouver une liste complète en parcourant le référentiel CVS de FreeBSD).

Avec cette fonction très utile, les utilisateurs disposant d’une connexion lente ou payant le temps de connexion à la minute seront en mesure d’économiser de précieuses minutes comme ils n’auront plus du tout besoin de télécharger des fichiers qu’ils n’utiliseront jamais. Pour plus d’information sur les fichiers refuse et d’autres caractéristiques intéressantes de CVSup, consultez sa page de manuel.

A.5.4. Exécuter CVSup

Vous êtes maintenant prêt à essayer de faire une mise à jour. La ligne de commande à utiliser est très simple:

# cvsup supfile

supfile est bien sûr le nom du fichier supfile que vous venez de créer. Si vous êtes sous X11, cvsup affichera une interface graphique avec des boutons pour les opérations courantes. Appuyez sur le bouton btn[go] et suivez le déroulement des opérations.

Comme, dans cet l’exemple, vous mettez directement à jour votre arborescence /usr/src, vous devrez exécuter le programme en tant que root de façon à ce que cvsup ait le droit de mettre à jour vos fichiers. Comme vous venez juste de créer votre fichier de configuration et n’avez encore jamais utilisé le programme, il est compréhensible que cela vous rende nerveux. Il est facile de faire un essai sans toucher à vos précieux fichiers. Créez juste un nouveau répertoire quelque part et donnez-le en argument supplémentaire sur la ligne de commande:

# mkdir /var/tmp/dest
# cvsup supfile /var/tmp/dest

Le répertoire indiqué sera pris comme destination pour tous les fichiers modifiés. CVSup examinera les fichiers habituels dans /usr/src, mais ne les modifiera pas et n’en supprimera aucun. Les modifications atterriront dans /var/tmp/dest/usr/src. CVSup ne touchera pas non plus à ses fichiers d’état dans le répertoire de base, lorsqu’il est invoqué de cette manière. Les nouvelles versions de ces fichiers iront dans le répertoire indiqué. A partir du moment où vous avez les les droits en lecture sur /usr/src, vous n’avez pas besoin d’être root pour faire ce genre d’essai.

Si vous n’êtes pas sous X11, ou si vous n’aimez tout simplement pas les interfaces graphiques, vous devrez ajouter quelques options supplémentaires sur la ligne de commande de cvsup:

# cvsup -g -L 2 supfile

L’option -g dit à CVSup de ne pas utiliser son interface graphique. C’est automatique si vous n’êtes pas sous X11, sinon vous devez le préciser.

L’option`-L 2` dit à CVSup d’afficher le détail de ce qu’il est en train de faire. Il y a trois niveaux de trace, de -L 0 à -L 2. La valeur par défaut est de 0, ce qui équivaut à n’émettre que les messages d’erreur.

Il y a de nombreuses autres option disponibles. Pour en obtenir un résumé, tapez cvsup -H. Pour une description plus détaillée, reportez-vous aux pages de manuel.

Une fois que vous êtes satisfait de la façon dont se passent les mises à jour, vous pouvez mettre en place une exécution de CVSup à intervalles réguliers en utilisant cron(8). Bien évidemment, vous ne devez pas laisser CVSup utiliser don interface graphique quand vous le lancez depuis cron(8).

A.5.5. Catalogue de fichiers CVSup

Les catalogues de fichiers disponibles via CVSup sont organisés hiérarchiquement. Il y a quelques gros catalogues, qui sont divisés en plus petits sous-catalogues. Recevoir un gros catalogue équivaut à recevoir chacun de ces sous-catalogues. Les relations hiérarchiques entre les sous-catalogues sont décrites par les indentations dans la liste ci-dessous.

Les catalogues habituellement les plus employés sont src-all, et ports-all. Les autres catalogues ne sont utilisés que par de petits groupes de personnes pour des besoins particuliers, et certains sites miroir ne les mettent pas à disposition.

cvs-all release=cvs

Le référentiel CVS principal de FreeBSD, incluant les logiciels de chiffrement.

distrib release=cvs

Les fichiers ayant trait à la distribution et à la mise en place de sites miroir FreeBSD.

doc-all release=cvs

Les sources du manuel FreeBSD et d’autres documentations. Cela de comprend pas les fichiers pour le site Web de FreeBSD.

ports-all release=cvs

Le catalogue des logiciels portés de FreeBSD.

Si vous ne voulez pas mettre à jour l’intégralité du catalogue ports-all (l’intégralité du catalogue des logiciels portés), mais utiliser un des sous-catalogues listés ci-dessous, assurez-vous de toujours mettre à jour le sous-catalogue ports-base! Dès qu’il y a un changement dans l’infrastructure de compilation des logiciels portés représentée par ports-base, il est certain que ces changements seront utilisés par un logiciel porté très rapidement. Donc, si vous ne mettez à jour que les logiciels portés en tant que tel et qu’ils utilisent certains des changements, il y a de grandes chances pour que leur compilation échoue avec de mystérieux messages d’erreur. La première chose à faire dans ce cas est de vérifier que votre sous-catalogue ports-base est à jour.

Si vous voulez construire votre propre version locale du fichier ports/INDEX, vous devez accepter le catalogue ports-all (l’intégralité du catalogue des logiciels portés). La construction de ports/INDEX avec une arborescence partielle n’est pas supportée. Consultez la FAQ.

ports-accessibility release=cvs

Logiciels pour utilisateurs handicapées.

ports-arabic release=cvs

Support pour l’arabe.

ports-archivers release=cvs

Outils d’archivage.

ports-astro release=cvs

Logiciels d’astronomie.

ports-audio release=cvs

Support du son.

ports-base release=cvs

L’infrastructure de compilation du catalogue des logiciels portés - divers fichiers situés dans les répertoires Mk/ et Tools/ sous-répertoires de la hiérarchie /usr/ports.

Lisez l'important avertissement ci-dessus: vous devriez toujours mettre à jour ce sous-catalogue, dès que vous mettez à jour une partie du catalogue des logiciels portés de FreeBSD!

ports-benchmarks release=cvs

Evaluation de performances.

ports-biology release=cvs

Biologie.

ports-cad release=cvs

Outils de conception assistée par ordinateur.

ports-chinese release=cvs

Support pour le chinois.

ports-comms release=cvs

Logiciels de communication.

ports-converters release=cvs

Conversion entre codages de caratères.

ports-databases release=cvs

Bases de données.

ports-deskutils release=cvs

Les choses que l’on trouvait sur un bureau avant l’invention des ordinateurs.

ports-devel release=cvs

Outils de développement.

ports-dns release=cvs

Logiciels relatifs au DNS.

ports-editors release=cvs

Editeurs.

ports-emulators release=cvs

Emulateurs d’autres systèmes d’exploitation.

ports-finance release=cvs

Applications concernant les finances et l’argent.

ports-ftp release=cvs

Clients et serveurs FTP.

ports-games release=cvs

Jeux.

ports-german release=cvs

Support pour l’allemand.

ports-graphics release=cvs

Outils graphiques.

ports-hebrew release=cvs

Support de l’hébreu.

ports-hungarian release=cvs

Support du hongrois.

ports-irc release=cvs

Outils pour l’IRC.

ports-japanese release=cvs

Support pour le japonais.

ports-java release=cvs

Outils Java™.

ports-korean release=cvs

Support pour le coréen.

ports-lang release=cvs

Langages de programmation.

ports-mail release=cvs

Logiciels de courrier électronique.

ports-math release=cvs

Logiciels de calcul numérique.

ports-mbone release=cvs

Applications MBone.

ports-misc release=cvs

Utilitaires divers.

ports-multimedia release=cvs

Logiciels pour le multimedia.

ports-net release=cvs

Logiciels réseau.

ports-net-im release=cvs

Logiciels de messagerie instantanée.

ports-net-mgmt release=cvs

Logiciels de gestion des réseaux.

ports-net-p2p release=cvs

Logiciels pour le "peer to peer".

ports-news release=cvs

Logiciels pour les forums de discussion USENET.

ports-palm release=cvs

Logiciels de support des machines Palm™.

ports-polish release=cvs

Support pour le polonais.

ports-ports-mgmt release=cvs

Utilitaires pour la gestion des logiciels portés et des paquetages.

ports-portuguese release=cvs

Support pour le portugais.

ports-print release=cvs

Logiciels d’impression.

ports-russian release=cvs

Support pour le russe.

ports-science release=cvs

Science.

ports-security release=cvs

Outils de sécurité.

ports-shells release=cvs

Interpréteurs de commandes.

ports-sysutils release=cvs

Utilitaires système.

ports-textproc release=cvs

Outils de traitement de texte (sauf les logiciels de publication assistée par ordinateur).

ports-ukrainian release=cvs

Support de l’ukrainien.

ports-vietnamese release=cvs

Support du vietnamien.

ports-www release=cvs

Logiciels concernant le World Wide Web.

ports-x11 release=cvs

Logiciel pour le système X window.

ports-x11-clocks release=cvs

Horloges pour X11.

ports-x11-drivers release=cvs

pilotes de périphérique X11.

ports-x11-fm release=cvs

Gestionnaires de fichiers pour X11.

ports-x11-fonts release=cvs

Polices de caractères et outils associés pour X11.

ports-x11-toolkits release=cvs

"Toolkits" X11.

ports-x11-servers release=cvs

Serveurs X11.

ports-x11-themes release=cvs

Thèmes X11.

ports-x11-wm release=cvs

Gestionnaires de fenêtres pour X11.

projects-all release=cvs

Les sources présentes dans le dépots des projets FreeBSD.

src-all release=cvs

Les sources du système FreeBSD, comprenant les logiciels de chiffrement.

src-base release=cvs

Divers fichiers en haut de la hiérarchie /usr/src.

src-bin release=cvs

Programmes utilisateurs qui peuvent être utiles en mode mono-utilisateur (/usr/src/bin).

src-cddl release=cvs

Utilitaires et bibliothèques sous licence CDDL (/usr/src/cddl).

src-contrib release=cvs

Utilitaires et bibliothèques d’origine indépendante du projet FreeBSD, employés à peu près tels quels (/usr/src/contrib).

src-crypto release=cvs

Utilitaires et bibliothèques pour le chiffrement d’origine indépendante du projet FreeBSD, employés à peu près tels quels (/usr/src/crypto).

src-eBones release=cvs

Kerberos et DES (/usr/src/eBones). Non utilisés dans les versions de FreeBSD actuellement publiées.

src-etc release=cvs

Fichiers de configuration du système (/usr/src/etc).

src-games release=cvs

Jeux (/usr/src/games).

src-gnu release=cvs

Utilitaires soumis à la licence publique GNU (/usr/src/gnu).

src-include release=cvs

Fichiers d’entête (/usr/src/include).

src-kerberos5 release=cvs

Logiciel de sécurité Kerberos5 (/usr/src/kerberos5).

src-kerberosIV release=cvs

Logiciel de sécurité KerberosIV (/usr/src/kerberosIV).

src-lib release=cvs

Bibliothèques (/usr/src/lib).

src-libexec release=cvs

Programmes système normalement exécutés par d’autres programmes (/usr/src/libexec).

src-release release=cvs

Fichiers nécessaires à la génération d’une version publiable de FreeBSD (/usr/src/release).

src-rescue release=cvs

Programmes liés en statique pour les dépannages d’urgence; consultez la page de manuel rescue(8) (/usr/src/rescue).

src-sbin release=cvs

Utilitaires système pour le mode mono-utilisateur (/usr/src/sbin).

src-secure release=cvs

Commandes et bibliothèques pour le chiffrage (/usr/src/secure).

src-share release=cvs

Fichiers qui peuvent être partagés par plusieurs systèmes (/usr/src/share).

src-sys release=cvs

Le noyau (/usr/src/sys).

src-sys-crypto release=cvs

Code du noyau destiné au chiffrement (/usr/src/sys/crypto).

src-tools release=cvs

Divers outils pour la maintenance de FreeBSD (/usr/src/tools).

src-usrbin release=cvs

Outils utilisateur (/usr/src/usr.bin).

src-usrsbin release=cvs

Utilitaires système (/usr/src/usr.sbin).

www release=cvs

Les sources du site WWW de FreeBSD.

distrib release=self

Fichiers de configuration du serveur CVSup. Utilisés par les sites miroir CVSup.

gnats release=current

Base de données GNATS d’historique des bogues.

mail-archive release=current

Archives des listes de diffusion FreeBSD.

www release=current

Les fichiers/données WWW publiés (pas les fichiers source). Utilisés par les sites miroir WWW.

A.5.6. Pour plus d’informations

Pour la FAQ de CVSup et d’autres informations concernant CVSup, consultez la page Web de CVSup.

La plupart des discussions relatives à l’utilisation de CVSup sous FreeBSD ont lieu sur la liste de diffusion pour les discussions techniques sur FreeBSD. Les nouvelles versions du logiciel y sont annoncés ainsi que sur la liste de diffusion pour les annonces relatives à FreeBSD.

Pour toutes les questions et rapports de bogues concernant CVSup, consultez la FAQ CVSup.

A.5.7. Sites CVSup

Des serveurs CVSup pour FreeBSD fonctionnent aux sites suivants:

A.6. Utiliser Portsnap

A.6.1. Introduction

Portsnap est un système de distribution sécurisée du catalogue des logiciels portés de FreeBSD. Approximativement chaque heure, un "instantané" du catalogue des logiciels portés est généré, rassemblé et signé de manière chiffrée. Les fichiers résultants sont alors distribués par l’intermédiaire du protocole HTTP.

Tout comme CVSup, Portsnap utilise un modèle de mise à jour de type pull: le catalogue des logiciels portés packagé et signé est placé sur un serveur Web qui attend les requêtes des clients. Les utilisateurs doivent soit exécuter manuellement portsnap(8) pour télécharger les mises à jour, soit configurer cron(8) pour un téléchargement régulier et automatique des mises à jour.

Pour des raisons techniques, Portsnap ne met pas à jour le catalogue des logiciels portés directement dans le répertoire /usr/ports; le logiciel travaille plutôt par défaut sur une version compressée de l’arborescence des logiciels portés dans le répertoire /var/db/portsnap. Cette copie compressée est ensuite utilisée pour mettre à jour le catalogue des logiciels portés.

Si Portsnap est installé à partir du catalogue des logiciels portés de FreeBSD, alors l’emplacement par défaut pour son instantané compressé sera /usr/local/portsnap au lieu de /var/db/portsnap.

A.6.2. Installation

Sous FreeBSD 6.0 et les versions plus récentes, Portsnap fait partie du système de base de FreeBSD. Sous des versions plus anciennes de FreeBSD, il peut être installé à partir du logiciel porté ports-mgmt/portsnap.

A.6.3. Configuration de Portsnap

L’exécution de Portsnap est contrôlée par le fichier de configuration /etc/portsnap.conf. Pour la plupart des utilisateurs, le fichier de configuration par défaut sera suffisant; pour plus de détails, consultez la page de manuel portsnap.conf(5).

Si Portsnap est installé à partir du catalogue des logiciels portés, il utilisera /usr/local/etc/portsnap.conf comme fichier de configuration au lieu de /etc/portsnap.conf. Ce fichier n’est pas créé lors de l’installation du logiciel, mais un fichier d’exemple est fourni; pour le copier à son emplacement correct, utilisez la commande suivante:

# cd /usr/local/etc  cp portsnap.conf.sample portsnap.conf

A.6.4. Exécuter Portsnap pour la première fois

Au premier lancement de la commande portsnap(8), il sera nécessaire de télécharger un instantané compressé de l’intégralité de l’arborescence des logiciels portés dans /var/db/portsnap (ou /usr/local/portsnap si Portsnap a été installé à partir du catalogue des logiciels portés). Au début de l’année 2006, cela représentait un téléchargement d’environ 41 Mo.

# portsnap fetch

Une fois que l’instantané compressé a été récupéré, une copie utilisable de l’arborescence des logiciels portés peut être extraite dans le répertoire /usr/ports. Cela est nécessaire même si une arborescence a déjà été créée dans ce répertoire (par exemple en utilisant CVSup), puisque cela met en place une version de référence à partir de laquelle portsnap peut déterminer plus tard quelles parties du catalogue des logiciels portés a besoin d’une mise à jour.

# portsnap extract

Dans l’installation par défaut de FreeBSD /usr/ports n’est pas créé. Si vous utilisez FreeBSD 6.0-RELEASE, ce répertoire doit être créé avant d’utiliser la commande portsnap. Sur les versions de FreeBSD plus récentes ou de Portsnap, cette création est effectuée automatiquement à la premiere utilisation de la commande portsnap.

A.6.5. Mettre à jour l’arborescence des logiciels portés

Après qu’un instantané initial du catalogue des logiciels portés ait été récupéré puis décompressé dans le répertoire /usr/ports, la mise à jour du catalogue se divise en deux étapes: la récupération (fetch) des mises à jour de l’instantané, et leur utilisation pour mettre à jour (update) le catalogue des logiciels portés en tant que tel. Ces deux étapes peuvent être effectuées par l’intermédiaire d’une seule commande portsnap:

# portsnap fetch update

Des versions anciennes de portsnap ne supporte pas cette syntaxe; en cas d’échec, utilisez à la place ceci:

# portsnap fetch
# portsnap update

A.6.6. Exécuter Portsnap à partir de cron

Afin d’éviter tout problème "d’embouteillage" lors de l’accès aux serveurs Portsnap, portsnap fetch ne fonctionnera pas à partir d’une tâche cron(8). Il existe, à la place, une commande portsnap cron spécifique, qui patiente durant un délai aléatoire pouvant aller jusqu’à 3600 secondes avant de récupérer les mises à jour.

De plus, il est fortement recommandé de ne pas exécuter portsnap update à partir d’une tâche cron, puisque cela peut être à l’origine de graves problèmes si la commande a lieu au même moment qu’un logiciel porté est en train d’être compilé ou installé. Cependant, les fichiers INDEX peuvent être mis à jour sans risque, et cela peut être fait en passant l’indicateur -I à la commande portsnap (bien entendu si portsnap -I update est exécuté à par cron, il sera alors nécessaire de lancer portsnap update sans l’option -I ultérieurement pour mettre à jour le reste de l’arborescence).

L’ajout de la ligne suivante dans le fichier /etc/crontab demandera à portsnap de mettre à jour son instantané compressé et les fichiers INDEX du répertoire /usr/ports, et enverra un courrier électronique si un logiciel porté installé n’est pas à jour:

0 3 * * * root portsnap -I cron update  pkg_version -vIL=

Si l’horloge système n’est pas positionnée sur le fuseau horaire local, remplacez 3 par une valeur quelconque comprise entre 0 et 23, afin de répartir de manière plus équilibrée la charge sur les serveurs Portsnap.

Des versions anciennes de portsnap ne supportent pas l’utilisation de commandes multiples (par exemple cron update) lors de la même invocation de portsnap. Si la ligne précédente échoue, essayez de remplacer portsnap -I cron update par portsnap cron portsnap -I update.

A.7. Etiquettes CVS

Quand on récupère ou l’on met à jour les sources en utilisant cvs ou CVSup, une étiquette de révision doit être spécifiée. Une étiquette de révision fait référence soit à une branche particulière de développement de FreeBSD, soit à un moment particulier dans le temps. Le premier type d’étiquette est nommé "étiquette de branche", le second type "étiquette de publication" - release tags.

A.7.1. Etiquettes de branche

Toutes ces étiquettes, à l’exception de l’étiquette HEAD (qui est une étiquette toujours valide), ne s’appliquent qu’à l’arborescence src/. Il n’y a pas de branche pour les arborescences ports/, doc/, et www/.

HEAD

Nom symbolique pour la branche principale de développement, ou FreeBSD-CURRENT. C’est aussi la valeur par défaut lorsque la révision n’est pas précisée.

Sous CVSup, cette étiquette est représentée par un . (ce n’est pas une ponctuation, mais bien le caractère .).

Sous CVS, c’est la valeur par défaut quand aucune étiquette de révision n’est précisée. Ce n’est généralement pas une bonne idée de récupérer ou mettre à jour vers les sources CURRENT sur une machine STABLE, à moins que cela ne soit vraiment votre intention.

RELENG_6

Branche de développement pour FreeBSD-6.X, également connue sous le nom de FreeBSD 6-STABLE.

RELENG_6_2

Branche de publication de la version FreeBSD-6.2, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques.

RELENG_6_1

Branche de publication de la version FreeBSD-6.1, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques.

RELENG_6_0

Branche de publication de la version FreeBSD-6.0, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques.

RELENG_5

Branche de développement pour FreeBSD-5.X, également connue sous le nom de FreeBSD 5-STABLE.

RELENG_5_5

Branche de publication de la version FreeBSD-5.5, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques.

RELENG_5_4

Branche de publication de la version FreeBSD-5.4, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques.

RELENG_5_3

Branche de publication de la version FreeBSD-5.3, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques.

RELENG_5_2

Branche de publication des versions FreeBSD-5.2 et FreeBSD-5.2.1, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques.

RELENG_5_1

Branche de publication de la version FreeBSD-5.1, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques.

RELENG_5_0

Branche de publication de la version FreeBSD-5.0, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques.

RELENG_4

Branche de développement de FreeBSD-4.X, aussi connue sous le nom de FreeBSD 4-STABLE.

RELENG_4_11

Branche de publication de la version FreeBSD-4.11, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques.

RELENG_4_10

Branche de publication de la version FreeBSD-4.10, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques.

RELENG_4_9

Branche de publication de la version FreeBSD-4.9, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques.

RELENG_4_8

Branche de publication de la version FreeBSD-4.8, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques.

RELENG_4_7

Branche de publication de la version FreeBSD-4.7, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques.

RELENG_4_6

Branche de publication des versions FreeBSD-4.6 et FreeBSD-4.6.2, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques.

RELENG_4_5

Branche de publication de la version FreeBSD-4.5, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques.

RELENG_4_4

Branche de publication de la version FreeBSD-4.4, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques.

RELENG_4_3

Branche de publication de la version FreeBSD-4.3, utilisée uniquement pour les avis de sécurité et autres correctifs de problèmes critiques.

RELENG_3

Branche de développement de FreeBSD-3.X, aussi connue sous le nom de 3.X-STABLE.

RELENG_2_2

Branche de développement de FreeBSD-2.2.X, aussi connue sous le nom de 2.2-STABLE. Cette branche est en grande partie obsolète.

A.7.2. Etiquettes de publication

Ces étiquettes font référence à un moment bien précis dans le temps quand une version particulière de FreeBSD a été publiée. Le processus d’ingénierie des publications est documenté en détails dans les documents Information sur la publication des versions et Processus de publication. L’arborescence src utilise des étiquettes commençant par RELENG_. Les arborescences ports et doc utilisent des étiquettes dont les noms commencent par RELEASE. Enfin, l’arborescence www ne bénéficie pas d’étiquette particulière pour les publications.

RELENG_6_2_0_RELEASE

FreeBSD 6.2

RELENG_6_1_0_RELEASE

FreeBSD 6.1

RELENG_6_0_0_RELEASE

FreeBSD 6.0

RELENG_5_5_0_RELEASE

FreeBSD 5.5

RELENG_5_4_0_RELEASE

FreeBSD 5.4

RELENG_4_11_0_RELEASE

FreeBSD 4.11

RELENG_5_3_0_RELEASE

FreeBSD 5.3

RELENG_4_10_0_RELEASE

FreeBSD 4.10

RELENG_5_2_1_RELEASE

FreeBSD 5.2.1

RELENG_5_2_0_RELEASE

FreeBSD 5.2

RELENG_4_9_0_RELEASE

FreeBSD 4.9

RELENG_5_1_0_RELEASE

FreeBSD 5.1

RELENG_4_8_0_RELEASE

FreeBSD 4.8

RELENG_5_0_0_RELEASE

FreeBSD 5.0

RELENG_4_7_0_RELEASE

FreeBSD 4.7

RELENG_4_6_2_RELEASE

FreeBSD 4.6.2

RELENG_4_6_1_RELEASE

FreeBSD 4.6.1

RELENG_4_6_0_RELEASE

FreeBSD 4.6

RELENG_4_5_0_RELEASE

FreeBSD 4.5

RELENG_4_4_0_RELEASE

FreeBSD 4.4

RELENG_4_3_0_RELEASE

FreeBSD 4.3

RELENG_4_2_0_RELEASE

FreeBSD 4.2

RELENG_4_1_1_RELEASE

FreeBSD 4.1.1

RELENG_4_1_0_RELEASE

FreeBSD 4.1

RELENG_4_0_0_RELEASE

FreeBSD 4.0

RELENG_3_5_0_RELEASE

FreeBSD-3.5

RELENG_3_4_0_RELEASE

FreeBSD-3.4

RELENG_3_3_0_RELEASE

FreeBSD-3.3

RELENG_3_2_0_RELEASE

FreeBSD-3.2

RELENG_3_1_0_RELEASE

FreeBSD-3.1

RELENG_3_0_0_RELEASE

FreeBSD-3.0

RELENG_2_2_8_RELEASE

FreeBSD-2.2.8

RELENG_2_2_7_RELEASE

FreeBSD-2.2.7

RELENG_2_2_6_RELEASE

FreeBSD-2.2.6

RELENG_2_2_5_RELEASE

FreeBSD-2.2.5

RELENG_2_2_2_RELEASE

FreeBSD-2.2.2

RELENG_2_2_1_RELEASE

FreeBSD-2.2.1

RELENG_2_2_0_RELEASE

FreeBSD-2.2.0

A.8. Sites AFS

Il y a des serveurs AFS pour FreeBSD sur les sites suivants:

Suède

Le chemin d’accès au fichiers est /afs/stacken.kth.se/ftp/pub/FreeBSD/

stacken.kth.se         # Stacken Computer Club, KTH, Suède
130.237.234.43         #hot.stacken.kth.se
130.237.237.230        #fishburger.stacken.kth.se
130.237.234.3          #milko.stacken.kth.se

Responsable ftp@stacken.kth.se

A.9. Sites rsync

Les sites suivants fournissent FreeBSD en utilisant le protocole rsync. L’utilitaire rsync fonctionne globalement de la même manière que la commande rcp(1), mais il dispose de plus d’options et utilise le protocole de mise à jour à distance rsync qui ne transfert que les différences entre deux ensembles de fichiers, ce qui accélère énormément la synchronisation par le réseau. C’est surtout utile si vous disposez d’un miroir du serveur FTP de FreeBSD, ou du référentiel CVS. La suite rsync est disponible sur de nombreux systèmes d’exploitation, et sous FreeBSD, voir le logiciel porté net/rsync ou utilisez la version pré-compilée.

République Tchèque

rsync://ftp.cz.FreeBSD.org/

Collections disponibles:

  • ftp: un miroir partiel du serveur FTP FreeBSD.

  • FreeBSD: un miroir complet du serveur FTP FreeBSD.

Allemagne

rsync://grappa.unix-ag.uni-kl.de/

Collections disponibles:

  • freebsd-cvs: référentiel CVS FreeBSD complet.

Cette machine est également miroir des référentiels CVS des projets NetBSD et OpenBSD, parmi d’autres.

Hollande

rsync://ftp.nl.FreeBSD.org/

Collections disponibles:

  • vol/4/freebsd-core: un miroir complet du serveur FTP FreeBSD.

Thailande

rsync://ftp.tw.FreeBSD.org/

rsync://ftp2.tw.FreeBSD.org/

rsync://ftp6.tw.FreeBSD.org/

Collections disponibles:

  • FreeBSD: Un miroir complet du serveur FTP FreeBSD.

Royaume-Uni

rsync://rsync.mirror.ac.uk/

Collections disponibles:

  • ftp.freebsd.org: Un miroir complet du serveur FTP FreeBSD.

Etats Unis d’Amérique

rsync://ftp-master.FreeBSD.org/

Ce serveur ne pourra être utilisé que par les sites miroirs primaires FreeBSD.

Collections disponibles:

  • FreeBSD: l’archive principale du serveur FTP FreeBSD.

  • acl: la liste principale ACL de FreeBSD.

    rsync://ftp13.FreeBSD.org/

    Collections disponibles:

  • FreeBSD: Un miroir complet du serveur FTP FreeBSD.


Ce document, ainsi que d'autres peut être téléchargé sur https://download.freebsd.org/ftp/doc/

Pour toutes questions à propos de FreeBSD, lisez la documentation avant de contacter <freebsd-questions@FreeBSD.org>.
Pour les questions sur cette documentation, contactez <freebsd-doc@FreeBSD.org>.