Se procurer &os; &trans.a.fonvieille; Editeurs de CD-ROMs et DVDs Produits vendus en boîte Des versions en boîte de &os; sont disponibles (CDs de &os;, logiciels supplémentaires, et documentation papier) auprès de plusieurs revendeurs:
CompUSA WWW:
Frys Electronics WWW:
CDs et DVDs Les CDs et DVDs de &os; sont disponibles auprès de nombreux revendeurs en ligne:
BSD Mall by Daemon News PO Box 161 Nauvoo, IL 62354 USA Phone: +1 866 273-6255 Fax: +1 217 453-9956 Email: sales@bsdmall.com WWW:
BSD-Systems Email: info@bsd-systems.co.uk WWW:
FreeBSD Mall, Inc. 3623 Sanford Street Concord, CA 94520-1405 USA Phone: +1 925 240-6652 Fax: +1 925 674-0821 Email: info@freebsdmall.com WWW:
Dr. Hinner EDV St. Augustinus-Str. 10 D-81825 München Allemagne Phone: (089) 428 419 WWW:
Ikarios 22-24 rue Voltaire 92000 Nanterre France WWW:
JMC Software Ireland Phone: 353 1 6291282 WWW:
Linux CD Mall Private Bag MBE N348 Auckland 1030 New Zealand Phone: +64 21 866529 WWW:
The Linux Emporium Hilliard House, Lester Way Wallingford OX10 9TA Royaume-Uni Phone: +44 1491 837010 Fax: +44 1491 837016 WWW:
Linux+ DVD Magazine Lewartowskiego 6 Warsaw 00-190 Poland Phone: +48 22 860 18 18 Email: editors@lpmagazine.org WWW:
Linux System Labs Australie 21 Ray Drive Balwyn North VIC - 3104 Australie Phone: +61 3 9857 5918 Fax: +61 3 9857 8974 WWW:
LinuxCenter.Ru Galernaya Street, 55 Saint-Petersburg 190000 Russia Phone: +7-812-3125208 Email: info@linuxcenter.ru WWW:
Distributeurs Si vous êtes un revendeur et désirez vendre des CDROMs de &os;, veuillez contacter un distributeur:
Cylogistics 809B Cuesta Dr., #2149 Mountain View, CA 94040 USA Phone: +1 650 694-4949 Fax: +1 650 694-4953 Email: sales@cylogistics.com WWW:
Ingram Micro 1600 E. St. Andrew Place Santa Ana, CA 92705-4926 USA Phone: 1 (800) 456-8000 WWW:
Kudzu, LLC 7375 Washington Ave. S. Edina, MN 55439 USA Phone: +1 952 947-0822 Fax: +1 952 947-0876 Email: sales@kudzuenterprises.com
Navarre Corp 7400 49th Ave South New Hope, MN 55428 USA Phone: +1 763 535-8333 Fax: +1 763 535-0341 WWW:
Sites FTP >Les sources officielles de &os; sont disponibles via FTP anonyme à partir d'un ensemble de sites miroir. Le site 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 &os; 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, &os; est disponible via FTP anonyme à partir des sites miroir ci-dessous. Si vous décidez de vous procurer &os; 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 &os; (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 &os;. 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. &chap.mirrors.ftp.inc; CVS anonyme <anchor id="anoncvs-intro"/>Introduction CVS anonyme CVS anonyme (ou comme on l'appelle également, anoncvs) est une de fonctionnalité des utilitaires CVS livrés avec &os; qui permet la synchronisation avec un référentiel CVS sur une machine distante. Elle permet, entre autres, aux utilisateurs de &os;, de lire, sans autorisation particulière, les archives disponibles sur l'un des serveurs anoncvs officiels du projet &os;. 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 &man.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 &os;, alors vous n'avez d'autre choix que d'utiliser CVSup. <anchor id="anoncvs-usage"/>Utiliser CVS anonyme Configurer &man.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 &os;. 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 &os; ayant existé (ou, dans certains cas, à venir), vous devez maîtriser l'indicateur de révision () de &man.cvs.1; et connaître les valeurs qu'il peut prendre dans le référentiel du projet &os;. 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. 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 . Reportez-vous aux pages de manuel &man.cvs.1; pour plus de détails. Exemples Bien qu'il soit vraiment recommandé de lire attentivement les pages de manuel de &man.cvs.1; avant de faire quoi que ce soit, voici quelques exemples rapides qui vous montrent essentiellement comment utiliser CVS anonyme: Récupérer quelque chose de -CURRENT (&man.ls.1;): &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login At the prompt, enter any word for password. &prompt.user; cvs co ls Utiliser SSH pour récupérer l'arborescence <filename>src/</filename>: &prompt.user; 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. Récupérer la version 6-STABLE de &man.ls.1;: &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login At the prompt, enter any word for password. &prompt.user; cvs co -rRELENG_6 ls Générer la liste des différences concernant &man.ls.1; (sous forme de “diffs unifiés”) entre différentes versions de &os; &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login At the prompt, enter any word for password. &prompt.user; cvs rdiff -u -rRELENG_5_3_0_RELEASE -rRELENG_5_4_0_RELEASE ls Savoir quels autres noms de modules peuvent être utilisés: &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login At the prompt, enter any word for password. &prompt.user; cvs co modules &prompt.user; more modules/modules 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 &os;. Utiliser CTM 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 &os;, 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 &a.ctm-users.name; pour obtenir plus d'informations et si vous souhaitez utiliser CTM pour autre chose. Pourquoi utiliser <application>CTM</application>? CTM vous procurera un exemplaire local de l'arborescence des sources de &os;. 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 &os;, 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. Que vous faut-il pour utiliser <application>CTM</application>? 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 &os; 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. &a.ctm-cvs-cur.name; comprend toute l'arborescence -CURRENT. &a.ctm-src-4.name; 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 &a.mailman.lists.link; 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 &a.ctm-announce.name;. 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. Utiliser <application>CTM</application> 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 &os; 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. Utiliser <application>CTM</application> au quotidien Pour appliquer les deltas, tapez simplement: &prompt.root; cd /où/vous/voulez/mettre/les/fichiers &prompt.root; 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 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 &man.fdwrite.1; pour en faire une copie. 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. D'autres options intéressantes de <application>CTM</application> 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 . 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. 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 , CTM sauvegarde tous les fichiers que seraient modifiés par delta CTM donné dans fichier_de_sauvegarde. 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 et . 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: &prompt.root; cd /where/ever/you/want/to/extract/it/ &prompt.root; ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.* Pour chaque fichier d'un delta CTM, les options et 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 et . Perspectives pour <application>CTM</application> 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. 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. Miroirs <application>CTM</application> 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 &a.ctm-users.name;. Californie, Bay Area, source officielle Afrique du Sud, serveur de sauvegarde pour les anciens deltas Taïwan/R.O.C. 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. Utiliser CVSup 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 &os; sont archivées sous un référentiel CVS sur une machine centrale de développement en Californie. Grâce à CVSup, les utilisateurs de &os; 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 &os;. En lisant la documentation et les listes de diffusion de &os;, 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 &os;, 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 &os; 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 &os; ne disposent pas de &man.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. 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 &os;. 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 &os; 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. Configuration de <application>CVSup</application> 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/share/examples/cvsup/. Les informations du fichier supfile répondent pour CVSup aux question suivantes: Quels fichiers voulez-vous télécharger? Quelles versions de ces fichiers voulez-vous? D'où voulez-vous les télécharger? Où voulez-vous les mettre sur votre machine? Où voulez-vous mettre les fichiers d'état de votre machine? 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 &os;. 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 . 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. 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 . La page de manuel de &man.cvsup.1; vous expliquent comment le faire. Dans notre exemple, nous désirons obtenir &os.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 &os; 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 . 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 &os;. 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 &man.cvsup.1;. Sinon, mettez cet indicateur et ne vous en souciez pas plus. compress permet d'utiliser un algorithme de compression de type &man.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 Le fichier <filename>refuse</filename> 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 &os;). 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. Exécuter <application>CVSup</application> Vous êtes maintenant prêt à essayer de faire une mise à jour. La ligne de commande à utiliser est très simple: &prompt.root; 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 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: &prompt.root; mkdir /var/tmp/dest &prompt.root; 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: &prompt.root; cvsup -g -L 2 supfile L'option 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 dit à CVSup d'afficher le détail de ce qu'il est en train de faire. Il y a trois niveaux de trace, de à . 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 &man.cron.8;. Bien évidemment, vous ne devez pas laisser CVSup utiliser don interface graphique quand vous le lancez depuis &man.cron.8;. Catalogue de fichiers <application>CVSup</application> 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 &os;, incluant les logiciels de chiffrement. distrib release=cvs Les fichiers ayant trait à la distribution et à la mise en place de sites miroir &os;. doc-all release=cvs Les sources du manuel &os; et d'autres documentations. Cela de comprend pas les fichiers pour le site Web de &os;. ports-all release=cvs Le catalogue des logiciels portés de &os;. 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 &os;! 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 &os;. src-all release=cvs Les sources du système &os;, 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 &os;, 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 &os;, 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 &os; 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 &os; (/usr/src/release). src-rescue release=cvs Programmes liés en statique pour les dépannages d'urgence; consultez la page de manuel &man.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 &os; (/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 &os;. 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 &os;. www release=current Les fichiers/données WWW publiés (pas les fichiers source). Utilisés par les sites miroir WWW. 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 &os; ont lieu sur la &a.hackers;. Les nouvelles versions du logiciel y sont annoncés ainsi que sur la &a.announce;. Pour toutes les questions et rapports de bogues concernant CVSup, consultez la FAQ CVSup. Sites CVSup Des serveurs CVSup pour &os; fonctionnent aux sites suivants: &chap.mirrors.cvsup.inc; Utiliser Portsnap Introduction Portsnap est un système de distribution sécurisée du catalogue des logiciels portés de &os;. 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 &man.portsnap.8; pour télécharger les mises à jour, soit configurer &man.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 &os;, alors l'emplacement par défaut pour son instantané compressé sera /usr/local/portsnap au lieu de /var/db/portsnap. Installation Sous &os; 6.0 et les versions plus récentes, Portsnap fait partie du système de base de &os;. Sous des versions plus anciennes de &os;, il peut être installé à partir du logiciel porté ports-mgmt/portsnap. 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 &man.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: &prompt.root; cd /usr/local/etc && cp portsnap.conf.sample portsnap.conf Exécuter <application>Portsnap</application> pour la première fois Au premier lancement de la commande &man.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. &prompt.root; 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. &prompt.root; portsnap extract Dans l'installation par défaut de &os; /usr/ports n'est pas créé. Si vous utilisez &os; 6.0-RELEASE, ce répertoire doit être créé avant d'utiliser la commande portsnap. Sur les versions de &os; plus récentes ou de Portsnap, cette création est effectuée automatiquement à la premiere utilisation de la commande portsnap. 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: &prompt.root; portsnap fetch update Des versions anciennes de portsnap ne supporte pas cette syntaxe; en cas d'échec, utilisez à la place ceci: &prompt.root; portsnap fetch &prompt.root; portsnap update 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 &man.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 à 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 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. 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 &os;, 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. 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 &os;-6.X, également connue sous le nom de &os; 6-STABLE. RELENG_6_2 Branche de publication de la version &os;-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 &os;-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 &os;-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 &os;-5.X, également connue sous le nom de &os; 5-STABLE. RELENG_5_5 Branche de publication de la version &os;-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 &os;-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 &os;-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 &os;-5.2 et &os;-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 &os; 4-STABLE. RELENG_4_11 Branche de publication de la version &os;-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 &os;-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 &os;-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. Etiquettes de publication Ces étiquettes font référence à un moment bien précis dans le temps quand une version particulière de &os; 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 Sites AFS Il y a des serveurs AFS pour &os; 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 Sites rsync Les sites suivants fournissent &os; en utilisant le protocole rsync. L'utilitaire rsync fonctionne globalement de la même manière que la commande &man.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 &os;, ou du référentiel CVS. La suite rsync est disponible sur de nombreux systèmes d'exploitation, et sous &os;, 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 &os;. FreeBSD: un miroir complet du serveur FTP &os;. Allemagne rsync://grappa.unix-ag.uni-kl.de/ Collections disponibles: freebsd-cvs: référentiel CVS &os; 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 &os;. Thailande rsync://ftp.tw.FreeBSD.org/ rsync://ftp2.tw.FreeBSD.org/ rsync://ftp6.tw.FreeBSD.org/ Collections disponibles: &os;: Un miroir complet du serveur FTP &os;. Royaume-Uni rsync://rsync.mirror.ac.uk/ Collections disponibles: ftp.freebsd.org: Un miroir complet du serveur FTP &os;. Etats Unis d'Amérique rsync://ftp-master.FreeBSD.org/ Ce serveur ne pourra être utilisé que par les sites miroirs primaires &os;. Collections disponibles: FreeBSD: l'archive principale du serveur FTP &os;. acl: la liste principale ACL de &os;. rsync://ftp13.FreeBSD.org/ Collections disponibles: FreeBSD: Un miroir complet du serveur FTP &os;.