%man; %freebsd; %authors; %teams; %mailing-lists; %release; X"> X"> ]>
Guide pour les testeurs des nouvelles fonctions à &release.current; L'équipe de confection des versions de &os; $FreeBSD$ 2002 2003 L'équipe de confection des versions de &os; Introduction &os; &release.5x; annonce une nouvelle version majeur de &os; depuis deux ans. En plus d'un nombre important de nouvelles fonctionnalités, elle contient un grand nombre de développements majeur dans l'architecture du système. Parmi toutes ces avancées, ce système inclu un nombre importants de code non testé sur des grands environnements. Comparé à la branche des versions &release.4x;, les premières versions de la branche &release.5x; peuvent comporter des regressions dans la stabilité, performance et occasionnellement dans les fonctionnalités. C'est pour ces raisons que &a.re; n'encourage pas les utilisateurs à mettre à jour aveuglément leur ancienne version de &os; en &release.current;. Spécifiquement, pour les utilisateurs les plus conservateurs, nous recommandons de fonctionner en version &release.4x; (comme la 4.7-RELEASE ou la future 4.8-RELEASE) dans un futur proche. Nous pensons que de tels utilisateurs seront mieux servis dès l'apparition d'une branche de développement 5-STABLE pour une mise à jour en &release.5x; cela devrait arriver au moment d'une version 5.2-RELEASE. (&os; 5.0 souffre du problème que nous appelons l'oeuf et la poule. L'ensemble du projet a comme but de fournir une version 5.0-RELEASE aussi stable et utilisable que possible. Cette stabilité et cet usabilité nécessite énormément de tests, en particulier dans les nouvelles fonctionnalités. Néanmoins, l'obtention d'un grand nombre d'utilisateurs pour tester le système, en pratique, implique de compiler et de distribuer une version en premier!) Cet article décrit quelques problèmes dans l'installation et le fonctionnement de &os; 5.0-RELEASE. Nous commencerons par une rapide description du processus de version de &os;. Puis nous aborderons quelques unes des nouvelles fonctionnalités de &os; 5.0, qui peuvent poser des problèmes à certains utilisateurs. Pour les utilisateurs préférant continuer à fonctionner sous des versions basées sur 4.X, nous donnerons les plans de développement, à court et moyen terme, de cette branche. Pour finir, nous présenterons quelques notes pour la mise à jour des systèmes 4.X en 5.0. Une introduction au processus de confection des versions de &os; &os; utilise un modèle de développement qui se base sur de multiples branches dans l'arbre du code source. La branche principale s'appelle CURRENT, et se réfère au tag HEAD de l'arbre CVS. Les nouvelles fonctionnalités sont d'abord intégrées dans cette branche; cela veut dire que CURRENT est la première version à voir la fonction, mais qu'elle souffre, par moment, d'instabilité ou de problèmes lorsque ces nouvelles fonctionnalités sont ajoutées et déboguées. La plupart des versions de &os; sont confectionnées depuis les différentes branches STABLE. Les fonctionnalités ne sont ajoutées à ces branches qu'après un nombre important de test dans la branche CURRENT. Actuellement, il n'existe qu'une seule branche de développement STABLE; cette branche est appelée 4-STABLE, et toutes les version de &os; 4.X en sont issue. Cette branche dispose du tag RELENG_4 dans l'arbre CVS. &os; 5.0 sera basée sur la branche CURRENT. Cela sera la première nouvelle version de cette branche depuis deux ans (la dernière fut &os; 4.0, en mars 2000). Quelque temps après la version &os; 5.0, une branche 5-STABLE sera crée dans l'arbre CVS de &os; avec le tag de branche RELENG_5. Les anciennes deux dernières branches stable (3-STABLE et 4-STABLE) furent crée immédiatement après la publication de leur version respective (3.0 et 4.0). Cette pratique ne laisse pas assez de temps entre la branche CURRENT et STABLE pour obtenir une nouvelle branche suffisement stabilisée. Quoi qu'il en soit, &a.re; ne créera une branche 5-STABLE dans l'arbre CVS que lorsqu'ils auront trouvé la version CURRENT suffisement stable pour être utilisée. La plupart du temps, plusieurs versions de 5.X apparaîtrons; nous estimons que la branche 5-STABLE sera crée un peu après la version 5.1-RELEASE ou 5.2-RELEASE. Plus d'informations sur le procesuss de version de &os; se trouve à la page Web de confection des versions et dans l'article sur le mécanisme de versions . Nouvelles fonctionnalités L'intérêt de &os; 5.0 est le nombre de nouvelles fonctionnalités. Ces nouvelles fonctionnalités nécessitent généralement un nombre important de changement d'architectures qui ne seront pas toutes ré-intégrable dans la branche de développement de &os; 4-STABLE. (Néanmoins, un nombre importants d'améliorations, comme les nouveaux gestionnaires de périphériques ou les nouveaux utilitaires pour les utilisateurs ont été portés). Une liste rapide, mais non exaustive inclue: SMPng: Le support nouvelle génération pour les machines SMP (en cours). Actuellement le support partiel du noyau pour plusieurs processeurs. KSE: les Kernel Scheduled Entities permettent à un processus de disposer de plusieurs threads noyaux, de façon similaire à "Scheduler Activations". Nouvelles architectures: Le support des architectures sparc64 et ia64, en plus de i386, pc98, et alpha. GCC: la chaine de compilation est maintenant basée sur GCC 3.X, plutot que GCC 2.95.X. MAC: le support pour des politiques de controle d'accès via des mandataires extensibles. GEOM: un nouvel environnement pour les requètes d'entrée/sortie sur les disques. Une fonction expérimentale de chiffrement des disque basée sur GEOM a été développée. FFS: le système de fichiers FFS supporte maintenant le &man.fsck.8; en arrière plan (pour un redémarrage plus rapide après un plantage) et les images de système de fichiers. UFS2: un nouveau format de fichier UFSS a été ajouté, permettant des attributs étendus par fichier et un support de plus grandes tailles de fichiers. Cardbus: le support des périphériques Cardbus. Une liste plus importante des nouvelles fonctionnalités est disponible dans les notes de version de &os; 5.0. Retour sur l'adoption de la nouvelle version Parmis toutes les nouvelles fonctions de &os; 5.0, certaines peuvent poser des problèmes ou ne pas obtenir le retour désiré. Générallement, cela arrive car un nombre importants de nouvelles fonctionnalités est en cours de développement. Parmis ces problèmes, il y a: Un nombre important de fonctions ne sont pas finies. Comme par exemple, le SMPng et KSE. Du aux changements dans les structures de données du noyau et dans ses ABIs/APIs, les gestionnaires de périphériques binaires nécessitent des modifications pour fonctionner correctement sous &os; 5.0. Plusieurs fonctionnalités du système de base de &os; ont été déplacées dans la collection des ports. Les exemples les plus importants sont Perl, UUCP, et la plupart (mais pas tous) les jeux. Comme ces programmes sont encore supportés, leur effacement du système de base peut porter à confusion. Un nombre important d'applications portées ne compile ou ne fonctionne pas correctement sous &os; 5.0, alors qu'elles le font sous &os; 4-STABLE. La plupart du temps, ces problèmes proviennent de changements dans la chaine de compilation ou dans le ménage des fichiers inclus. Comme &os; 5.0 est la première version de la branche -CURRENT depuis deux ans, plusieurs fonctions nécessitent d'être exposées pour la première fois. Plusieurs fonctions (comme SMPng) ont un fort impact sur le noyau. Un nombre important de code de diagnostic et de déboggage est encore présent dans &os; 5.0 pour permettre de tracer les problèmes. Cela rend &os; 5.0 plus lent que 4-STABLE. Les fonctionnalités ne sont aujoutées à la branche de développement 4-STABLE qu'après avoir passer un certain temps dans -CURRENT. &os; 5.0 n'a pas comme but d'influencer la stabilité comme la branche -STABLE.(c'est ce que fera la branche de développement 5-STABLE qui sera créer aux moments de la version 5.1-RELEASE ou 5.2-RELEASE) Comme un certain nombre de problèmes affecte la stabilité, &a.re; recommande aux sites nécessitant cela de rester sur des versions basées sur la branche 4-STABLE en attendant que les versions 5.X soient plus élaborées. Plans pour la branche 4-STABLE La version de &os; 5.0 ne veut pas dire la fin de la branche 4-STABLE. Il y aura surement une autre version dans cette branche qui sera 4.8-RELEASE, actuellement prévue pour le 1er février 2003. Au moment de l'écriture de ce document, &a.re; n'a pas planifié de nouvelle version (après la 4.8) dans la branche 4-STABLE. Néanmoins des 4.9-RELEASE ou même 4.10-RELEASE sont possibles. Les nouvelles versions dans cette branche dépendront de différents facteurs. Le plus important est l'existence et la stabilité de la branche 5-STABLE. Si CURRENT n'est pas suffisement stable pour créer une branche 5-STABLE, alors il se peut qu'il y ait plusieurs nouvelles version dans la branche 4-STABLE. En attendant l'annonce de la dernière version de la branche 4-STABLE, les nouvelles fonctionnalités seront inclues depuis HEAD à la discrétion des développeurs, sujet à la politique de confection des versions actuelle. Par extension, &a.re; écoutera les utilisateurs pour la création de nouvelles version dans la branche 4-STABLE. Ces demandes, seront à envisagées en fonction des ressources pour la confection de version (en termes d'hommes, ressources matérielles et de place disque sur les mirroirs). &a.security-officer; continuera à supporter les futures version de la branche 4-STABLE en fonction de sa politique, qui peut être trouvée à la page sur la sécurité sur le site web de &os;. Générallement les deux dernières plus récentes versions de toutes les branches sont supportées en respectant les avis de sécurité et leur correctifs. L'équipe peut aussi supporter d'autres versions à sa discrétion. Notes relatives à la mise à jour Pour les utilisateurs existant de &os; cette section offrent quelques notes sur la mise à jour de d'un système &os; 4.X vers 5.X. Comme toute mise à jour de &os;, il est très important de lire les notes de version et les errata de la version en question tout comme le fichier src/UPGRADING pour une mise à jour via les sources. Mise à jour binaire La façon la plus simple est de tout sauvegarder, reformatter, ré-installer et restaurer. Cela permet d'éliminer les problèmes de compatibilité ou d'obscolescence des éxécutables ou des fichiers de configuration poluant le nouveau système. Actuellement, l'option de mise à jour binaire de &man.sysinstall.8; n'a pas été assez tester pour des mises à jour entre des version majeures. L'utilisation de cette fonction n'est donc pas recommandée. Sur des plateformes i386 ou pc98, un utilitaire UserConfig existe sur 4-STABLE pour la configuration des périphériques ISA au démarrage. Sous &os; 5.0, cette fonction a été remplacée en partie par le mécanisme de &man.device.hints.5; (il permet de spécifier les mêmes paramètres, mais n'est pas interactif). Les installations binaires via des disquettes, nécessitent le téléchargement d'une troisième disquette, comportant de nouveaux gestionnaires de périphériques en modules noyau. L'image drivers.flp se trouve la plupart du temps au même endroit que les images kern.flp et mfsroot.flp. Les installations via CDROM sur les architectures i386 utilisent maintenant un gestionnaire de démarrage non émulé. Cela permet, entre autre, d'utiliser un noyau GENERIC, plutôt que le noyau restreint se trouvant sur les disquettes images. En théorie, tout système capable de démarrer avec les CDROMs d'installation de Microsoft Windows NT 4 est compatible avec les CDROMs de &os; 5.0. Mise à jour par les sources Lire le fichier src/UPDATING est vraiment essentiel. La section nommée Mise à jour de 4.x-stable à CURRENT contient une procédure pour la mise à jour pas à pas. Cette procédure doit être suivie à la lettre, sans utiliser les raccourcis que certains utilisateurs peuvent occasionellement employer. Notes communes Perl a été retiré du système de base. La manière recommandé d'installer Perl est d'obtenir le pacquetage binaire ou la collection des ports. La compilation de Perl dans le système de base créeait un nombre important de problèmes, rendant problèmatique la mise à jour. Les utilitaires du système de base utilisant Perl, ont été réécrit (si possible) ou effacés( si il étaient obscolètes). Il est générallement possible de faire tourner les anciens exécutable des version 4.X sous 5.X, mais certains nécessitent l'installation de la distribution compat4x. Donc l'utilisation des anciens ports est possible. Lors de l'installation ou la mise à jour sur un systèmes 4-STABLE existant, il est extrèmement important de nettoyer les anciens fichiers du répertoire /usr/include. Le renommer ou le déplacer lors d'une installation binaire ou un installworld est générallement suffisant. Si cette étape n'est pas respectée, une certaine confusion peut se poser au moment de la compilation(spécialement avec les programmes C++) du au mixte de vieux et nouveaux fichiers d'include. En résumé Bien que &os; 5.0 contient énormément de nouvelles fonctionnalités, cette version ne peut convenir a tous les utilisateurs actuellement. Dans ce document, nous avons présenté, une partie des nouvelles fonctions de la série des 5.0, et leurs problèmes potentiels pour une adoption immédiate. Nous avons aussi présenté les futurs plans pour la branche de développement 4-STABLE et certains conseils pour la mise à jour des systèmes.