De la mise sous tension � l'invite de commande de Bash Greg O'Keefe <gcokeefe@postoffice.utas.edu.au> _Dominique van den Broeck - _Traduction fran�aise _Jean-Philippe Gu�rard - _Relecture de la version fran�aise v0.9, novembre 2000 Voici une description rapide de ce qui se passe dans un syst�me Linux, depuis l'instant o� vous mettez celui-ci sous tension, jusqu'au moment o� vous vous connectez et obtenez l'invite de commande de Bash. Comprendre ces m�canismes vous sera tr�s utile lorsque vous aurez besoin de r�soudre des probl�mes ou de configurer votre syst�me. _________________________________________________________________ _Table des mati�res_ 1. Introduction 2. Partie mat�rielle 2.1. Configuration 2.2. Exercices 2.3. Aller plus loin 3. Lilo 3.1. Configuration 3.2. Exercices 3.3. Aller plus loin 4. Le noyau Linux 4.1. Configuration 4.2. Exercices 4.3. Aller plus loin 5. La biblioth�que C de GNU 5.1. Configuration 5.2. Exercices 5.3. Aller plus loin 6. Init 6.1. Configuration 6.2. Exercices 6.3. Aller plus loin 7. Le syst�me de fichiers 7.1. Configuration 7.2. Exercices 7.3. Aller plus loin 8. Les d�mons du noyau 8.1. Configuration 8.2. Exercices 8.3. Aller plus loin 9. Le journal syst�me 9.1. Configuration 9.2. Exercices 9.3. Aller plus loin 10. Getty et Login 10.1. Configuration 10.2. Exercices 11. Bash 11.1. Configuration 11.2. Exercices 11.3. Aller plus loin 12. Les commandes 13. Conclusion 14. Section administrative 14.1. Copyright 14.2. Page principale 14.3. R�actions 14.4. R�f�rences et remerciements 14.5. Historique des changements 14.6. Am�liorations pr�vues 14.7. Adaptation fran�aise 1. Introduction Je trouve frustrant qu'il se passe dans ma machine Linux des choses que je ne comprends pas. Si, comme moi, vous souhaitez vraiment comprendre votre syst�me plut�t que simplement savoir comment l'utiliser, ce document devrait �tre un bon point de d�part. Ce genre de connaissance de fond est aussi requis si vous voulez devenir un as de la r�solution de probl�mes sous Linux. Je pars du principe que vous avez une machine Linux en �tat de marche, et que vous ma�trisez les bases d'Unix et de l'architecture mat�rielle des PC. Si ce n'est pas le cas, Les notions fondamentales d'Unix et d'Internet est un excellent endroit pour d�buter. C'est un document concis, lisible, et qui couvre toutes les bases. Le sujet principal de ce document est la fa�on dont Linux d�marre. Mais il se veut �galement �tre une ressource d'apprentissage plus large. J'ai inclus des exercices dans chaque section. Si vous en faites vraiment quelques-uns, vous en apprendrez bien plus qu'en vous contentant de lire ce document. J'esp�re que certains lecteurs s'attaqueront au meilleur exercice d'apprentissage de Linux que je connaisse : construire un syst�me � partir du code source. Giambattista Vico, un philosophe italien (1668-1744) disait _verum ipsum factum_ ce qui signifie � de l'exp�rience na�t la compr�hension � (NdT : traduction libre). Merci � Alex (voir r�f�rences et remerciements) pour cette citation. Si vous souhaitez vous r�aliser votre propre installation Linux, je vous conseille d'aller voir le document de Gerard Beekmans Comment faire un syst�me Linux � partir de z�ro (_Linux from scratch - LFS_). LFS fournit des instructions d�taill�es pour b�tir un syst�me complet et exploitable � partir du code source. Sur le site web de LFS, vous trouverez aussi une liste de discussion � la disposition des personnes qui construisent de tels syst�mes. Les instructions jadis incluses � ce guide se trouvent maintenant dans un document distinct nomm� � Construire un syst�me Linux minimum � partir du code source � et qui peut �tre r�cup�r� sur le site From PowerUp to Bash Prompt pour construire un syst�me jouet, purement pour l'exercice. Les paquets sont pr�sent�s dans l'ordre o� ils apparaissent dans le processus de d�marrage du syst�me. Cela signifie que si vous installez les paquets dans cet ordre vous pouvez red�marrer apr�s chaque installation, et voir � chaque fois le syst�me se rapprocher petit � petit de l'�tat o� il vous donnera la ligne de commande. Il y a une notion de progression rassurante dans cela. Je vous recommande de commencer par lire le texte principal de chaque section, en ignorant les exercices et r�f�rences, puis de d�cider du point jusqu'auquel vous souhaitez comprendre votre syst�me. Reprenez alors depuis le d�but, en faisant les exercices et en relisant en d�tail. _________________________________________________________________ 2. Partie mat�rielle Lorsque vous allumez votre ordinateur, celui-ci se teste lui-m�me pour s'assurer que tous ses composants sont en �tat de marche. Cela s'appelle l'auto-test � l'allumage (_Power On Self Test - POST_). Ensuite, un programme nomm� chargeur d'amor�age (_bootstrap loader_), situ� dans le BIOS en ROM, recherche un secteur d'amor�age. Un secteur d'amor�age est le premier secteur d'un disque et contient un petit programme capable de charger un syst�me d'exploitation. Les secteurs d'amor�age sont marqu�s par un nombre magique (i.e. une valeur fixe caract�ristique) 0xAA55 = 43603 � l'octet 0x1FE = 510. Ce sont les deux derniers octets du secteur. C'est de cette fa�on que la partie mat�rielle peut d�terminer s'il s'agit d'un secteur d'amor�age ou pas. Le chargeur d'amor�age a une liste d'endroits o� chercher un secteur d'amor�age. Ma vieille machine regarde d'abord sur le lecteur de disquette, puis sur le disque dur. Les machines modernes peuvent aussi rechercher un secteur d'amor�age sur un CD-ROM. S'il trouve un secteur d'amor�age, il le charge en m�moire et passe ainsi le contr�le au programme qui charge le syst�me d'exploitation en m�moire. Sur un syst�me Linux classique, ce programme sera la premi�re �tape du chargeur de Lilo. Il existe malgr� tout plusieurs mani�res diff�rentes de configurer l'amor�age de votre syst�me. Voir le _Guide de l'utilisateur de Lilo_ pour plus de d�tails. Voir la section liens sur Lilo pour l'url. �videment, il y a bien plus � dire sur ce que fait la partie mat�rielle du PC. Mais ce n'est pas l'objet de ce document. Lisez un des nombreux livres traitant de l'architecture mat�rielle des PC. _________________________________________________________________ 2.1. Configuration La machine stocke des informations sur son propre �tat dans son CMOS. Cela inclut la RAM et les types de disques install�s dans le syst�me. Le BIOS de la machine contient un programme de configuration, Setup, qui vous permet de modifier ces informations. Pour savoir comment y acc�der, regardez attentivement les messages qui apparaissent sur votre �cran lorsque vous mettez votre machine sous tension. Sur ma machine, il faut appuyer sur la touche _Suppr_ avant qu'elle ne commence � charger le syst�me d'exploitation. _________________________________________________________________ 2.2. Exercices Une bonne fa�on d'en apprendre plus sur la partie mat�rielle d'un PC est de monter une machine � partir de composants d'occasion. Prenez au moins un 386 pour pouvoir y installer Linux facilement. Cela ne vous co�tera pas tr�s cher. Posez la question autour de vous, quelqu'un pourrait bien vous donner une partie des pi�ces qu'il vous faut. Allez voir Unios, (ils avaient une page sur http://www.unios.org, mais elle a disparu) et t�l�chargez, compilez et fabriquez votre disquette amor�able. Ce n'est qu'un programme d'amor�age affichant � Hello World! �, contenant � peine plus de 100 lignes d'assembleur. Il serait int�ressant de le voir converti en un format exploitable par l'assembleur _as_ de GNU. Ouvrez l'image de la disquette d'amor�age pour Unios avec un �diteur hexad�cimal. Cette image fait 512 octets de long. Exactement la longueur d'un secteur. Trouvez-y le nombre magique 0xAA55. Faites la m�me chose pour une disquette amor�able de votre propre ordinateur. Vous pouvez utiliser la commande _dd_ pour la copier dans un fichier : _dd if=/dev/fd0 of=secteur.d.amorcage_. Faites _tr�s_ attention � param�trer if (fichier source) et of (fichier destination) comme il faut ! Essayez d'en extraire le code source du chargeur de Lilo. _________________________________________________________________ 2.3. Aller plus loin * Les notions fondamentales d'Unix et d'Internet, par Eric S. Raymond, et particuli�rement la section 3, _Que se passe-t-il lorsque vous allumez un ordinateur ?_ * Le premier chapitre du _Guide de l'utilisateur de Lilo_ donne une excellente explication des partitions de disques sur PC et de l'amor�age. Voir la section liens sur Lilo pour l'url. * _Peter Norton Programmer's Guide to the IBM PC & PS/2_ (Guide Peter Norton du programmeur pour l'IBM PC et PS/2), par Peter Norton et Richard Wilton, Microsoft Press, 1988. Il existe un nouveau livre Norton, qui a l'air bien, mais que je ne peux m'offrir pour le moment. * Un des nombreux ouvrages disponibles sur la mani�re de faire �voluer son PC. _________________________________________________________________ 3. Lilo Lorsque l'ordinateur charge le secteur d'amorce d'un syst�me sous Linux normal, ce qu'il charge est en fait une partie de Lilo, appel�e chargeur d'amor�age de premier niveau (_first stage boot loader_). Il s'agit d'un mini-programme dont la seule t�che est de charger et d'ex�cuter le chargeur d'amor�age de deuxi�me niveau (_second stage boot loader_). Le chargeur d'amor�age de deuxi�me niveau vous donne une invite de commande (s'il a �t� install� de cette mani�re) et charge le syst�me d'exploitation de votre choix. Lorsque votre syst�me est mont� et en �tat de marche, et que vous ex�cutez _lilo_, ce que vous ex�cutez en r�alit� est l'outil de d�finition des localisations (_map installer_). Celui-ci lit le fichier de configuration /etc/lilo.conf et �crit le chargeur d'amor�age sur le disque dur, avec les informations concernant les syst�mes d'exploitation qu'il peut charger. Il y a de nombreuses mani�res de rendre votre syst�me amor�able. Celle que je viens de d�crire est la mani�re la plus �vidente et � normale �, au moins pour une machine dont le syst�me d'exploitation principal est Linux. Le Guide de l'utilisateur Lilo explique plusieurs exemples de m�thodes d'amor�age. Cela vaut la peine de les lire, et d'en essayer quelques-uns. _________________________________________________________________ 3.1. Configuration Le fichier de configuration de Lilo est /etc/lilo.conf. Il existe une page de manuel (man page) � son sujet : tapez _man lilo.conf_ dans un shell pour l'afficher. La principale caract�ristique de lilo.conf est qu'il existe une entr�e pour chaque chose que Lilo doit pouvoir lancer. Pour une entr�e Linux, cela inclut l'emplacement du noyau, et la partition � monter comme racine du syst�me de fichier. Pour les autres syst�mes, la principale information est la partition sur laquelle d�marrer. _________________________________________________________________ 3.2. Exercices _DANGER_ : soyez prudent avec ces exercices. Il est assez facile de faire une erreur quelque part et de bloquer votre bloc de d�marrage (_master boot record - MBR_, premier secteur du disque dur, qui contient le chargeur d'amor�age et la table des partitions) et de rendre ainsi votre syst�me inutilisable. Assurez-vous que vous avez une disquette de r�paration qui fonctionne, et que vous savez comment vous en servir pour remettre les choses en �tat. Voir ci-dessous un lien vers tomsrtbt, la disquette de r�paration que j'utilise et recommande. La meilleure des pr�cautions est d'utiliser une machine qui ne contienne pas de donn�es sensibles. Installez Lilo sur une disquette. Peu importe s'il n'y a rien d'autre sur la disquette que le noyau - vous obtiendrez un kernel panic quand le noyau sera pr�t � charger init, mais au moins vous saurez que Lilo fonctionne. Si vous le souhaitez, vous pouvez essayer de voir jusqu'� quel point vous pouvez faire tenir un syst�me sur une disquette. C'est s�rement la deuxi�me meilleure activit� pour apprendre Linux. Voir le � Comment faire une disquette d'amor�age � (url ci-dessous), et tomsrtbt (url ci-dessous) pour avoir des pistes. Configurez Lilo afin qu'il lance Unios (voir section exercices sur la partie mat�rielle pour une url). Comme d�fi suppl�mentaire, voyez si vous pouvez le faire sur une disquette. Faites une boucle d'amor�age. Configurez le Lilo du bloc de d�marrage pour qu'il lance le Lilo du secteur d'amor�age d'une des partitions principales, puis configurez ce Lilo pour qu'il relance celui du bloc de d�marrage. Ou alors utilisez le bloc de d�marrage et vos quatre partitions principales pour faire une boucle en cinq points ! Marrant ! _________________________________________________________________ 3.3. Aller plus loin * La page de manuel de Lilo * Le paquet Lilo (ftp://lrcftp.epfl.ch/pub/linux/local/lilo/) contient le � Guide l'utilisateur de Lilo � lilo-u-21.ps.gz (ou une version plus r�cente). Il se peut que vous disposiez d�j� de ce document. Regardez dans /usr/share/doc/lilo ou � un endroit similaire. La version PostScript est meilleure que la version en texte brut, car elle contient des diagrammes et des tables. * tomsrtbt : le Linux mono-disquette le plus cool ! Constitue une excellente disquette de secours. * Comment faire une disquette d'amor�age (_Bootdisk HOWTO_). _________________________________________________________________ 4. Le noyau Linux Le noyau (_kernel_) fait vraiment beaucoup de choses. Je pense qu'une bonne mani�re de r�sumer tout cela est de dire qu'il fait faire au mat�riel ce que les programmes veulent, proprement et efficacement. Le processeur ne peut ex�cuter qu'une seule instruction � la fois, mais Linux semble faire tourner beaucoup de choses simultan�ment. Le noyau accomplit cela en sautant de t�che en t�che tr�s rapidement. Il fait le meilleur usage possible du processeur en gardant trace des processus qui sont pr�ts � �tre ex�cut�s et de ceux qui attendent quelque chose comme un enregistrement en provenance d'un disque, ou une saisie clavier quelconque. Cette t�che du noyau est appel�e ordonnancement. Si un programme ne fait rien, alors il n'a pas besoin d'�tre conserv� en m�moire (RAM). M�me un programme qui travaille peut avoir certaines parties inactives, qui n'ont donc pas besoin d'�tre en m�moire. L'espace adressable est divis� en pages. Le noyau garde une trace des pages les plus utilis�es. Les pages qui sont moins souvent utilis�es peuvent �tre d�plac�es dans la partition d'�change (_swap_). Lorsqu'une page est � nouveau sollicit�e, une autre page inutilis�e est retir�e de l'espace adressable pour lui faire de la place. Cela s'appelle la gestion de la m�moire virtuelle. Si vous avez un jour compil� votre propre noyau, vous avez remarqu� qu'il y a un grand nombre d'options pour des p�riph�riques sp�cifiques. Le noyau contient une grande quantit� de code sp�cifique pour interagir avec tous types de mat�riels, et pouvoir les pr�senter d'une fa�on propre et uniforme aux programmes. Le noyau prend aussi en charge la gestion des fichiers, les communications entre processus, et une grande partie du travail concernant le r�seau. Une fois le noyau charg�, la premi�re chose qu'il fait est de rechercher un programme appel� init et l'ex�cuter. _________________________________________________________________ 4.1. Configuration La majorit� de la configuration du noyau est effectu�e quand vous le construisez, en utilisant _make menuconfig_, ou _make xconfig_ dans le r�pertoire /usr/src/linux/ (l� ou se trouvent les sources de votre noyau Linux). La commande _rdev_ vous permet r�initialiser le mode vid�o par d�faut, la racine du syst�me de fichiers, le p�riph�rique d'�change et la taille du disque virtuel (disque RAM). Ces param�tres ainsi que d'autres peuvent aussi �tre pass�s au noyau depuis Lilo. Vous pouvez indiquer � Lilo les param�tres � passer au noyau soit dans lilo.conf, soit � l'invite de Lilo. Par exemple, si vous souhaitiez utiliser hda3 comme racine du syst�me de fichiers plut�t que hda2, vous pourriez taper : LILO: linux root=/dev/hda3 Si vous mettez en place un syst�me � partir de ses sources, vous pouvez vous simplifier la vie en cr�ant un noyau � monolithique �, c'est-�-dire sans module. Vous n'aurez donc pas � copier ceux-ci sur le syst�me cible. Note Le fichier System.map est utilis� lors de l'�criture d'entr�es dans le journal syst�me pour d�terminer les noms des modules g�n�rant les messages. Le programme _top_ utilise �galement ces informations. Lorsque vous copiez le noyau vers un syst�me cible, copiez aussi System.map. _________________________________________________________________ 4.2. Exercices R�fl�chissez � ceci : /dev/hda3 est un type de fichier sp�cial qui d�crit une partition d'un disque dur. Mais il vit sur le syst�me de fichiers comme tous les autres fichiers. Le noyau veut savoir quelle partition monter � la racine - donc il n'a pas encore de syst�me de fichiers. Alors comme peut-il lire /dev/hda3 pour trouver la partition � monter ? Si vous ne l'avez pas encore fait, compilez votre noyau. Lisez l'aide pour chaque option. Essayez de voir jusqu'� quel point vous pouvez r�duire la taille de votre noyau avant qu'il ne cesse de fonctionner. Vous pouvez apprendre beaucoup en �cartant les parties non n�cessaires. Lisez � Le noyau Linux � (url ci-dessous) et ce faisant, trouvez les parties des sources auxquelles il se r�f�re. Le livre (au moment o� j'�cris ces lignes) se r�f�re au noyau version 2.0.33, qui commence � �tre franchement d�pass�. Il pourrait �tre plus facile de suivre si vous t�l�chargiez cette ancienne version et y lisiez le source. Il est tr�s excitant de trouver des morceaux de code C appel�s � process � et � page �. Programmez ! Faites des essais ! Voyez si vous pouvez faire cracher au noyau des messages suppl�mentaires ou quoi que ce soit. _________________________________________________________________ 4.3. Aller plus loin * Le fichier /usr/src/linux/README et le contenu du r�pertoire /usr/src/linux/Documentation/. Leurs emplacements peuvent varier selon votre syst�me. * Le Comment faire un noyau Linux (_Kernel HOWTO_). * L'aide disponible quand vous configurez un noyau en utilisant _make menuconfig_ ou _make xconfig_. Il existe une version fran�aise de cet aide disponible sur http://traduc.org/kernelfr/. * � Le noyau Linux � et les autres guides du projet de documentation Linux (LDP) * Pour le code source, suivre les hyperliens dans Construire un syst�me Linux minimum � partir du code source _________________________________________________________________ 5. La biblioth�que C de GNU L'�tape suivante qui se produit au d�marrage de votre ordinateur est le chargement d'init et son ex�cution. Cependant, init, comme la plupart des programmes, utilise des fonctions issues de biblioth�ques. Vous avez peut-�tre d�j� vu un exemple de programme C comme celui-ci : main() { printf("Hello World!\n"); } Le programme ne d�finit nullement printf, alors d'o� vient-il ? Il provient des biblioth�ques C standard. Pour un syst�me GNU/Linux, il s'agit de glibc. Si vous les compilez sous Visual C++, alors il provient d'une mise en oeuvre Microsoft de ces m�mes fonctions standard. Il existe des masses de ces fonctions standard, pour les math�matiques, la gestion des cha�nes de caract�res, de l'heure et de la date, des allocations de m�moire et ainsi de suite. Tout, dans Unix (y compris Linux) est soit �crit en C, soit doit faire de son mieux pour faire comme si, de sorte que tous les programmes utilisent ces fonctions. Si vous jetez un oeil dans /lib sur votre syst�me Linux, vous verrez un grand nombre de fichiers appel�s libquelquechose.so ou libquelquechose.a et c�tera. Ce sont les biblioth�ques de ces fonctions. Glibc est simplement la mise en oeuvre GNU de ces fonctions. Les programmes peuvent utiliser ces fonctions de deux mani�res. Si vous r�alisez une �dition de liens _statique_, ces fonctions seront copi�es � l'int�rieur de l'ex�cutable g�n�r�. C'est � cela que servent les biblioth�ques libquelquechose.a. Si vous r�alisez une �dition de liens _dynamique_ (cas par d�faut), lorsque le programme aura besoin du code d'une biblioth�que, il l'appellera directement depuis le fichier libquelquechose.so La commande _ldd_ vous apporte une aide pr�cieuse lorsque vous cherchez � retrouver les biblioth�ques utilis�es par un programme particulier. Par exemple, voici les biblioth�ques utilis�es par _bash_: [greg@Curry power2bash]$ ldd /bin/bash libtermcap.so.2 => /lib/libtermcap.so.2 (0x40019000) libc.so.6 => /lib/libc.so.6 (0x4001d000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) _________________________________________________________________ 5.1. Configuration Certaines fonctions des biblioth�ques d�pendent de la r�gion g�ographique o� vous vous trouvez. Par exemple, en fran�ais, on �crit les dates sous la forme jj/mm/aa, mais les am�ricains les �crivent sous la forme mm/jj/aa. Ceci est configurable via un programme appel� _localdef_ livr� avec glibc. _________________________________________________________________ 5.2. Exercices Utilisez _ldd_ pour d�terminer les biblioth�ques qu'utilise votre application pr�f�r�e. Utilisez _ldd_ pour d�terminer les biblioth�ques utilis�es par init. Cr�ez une biblioth�que gadget, avec seulement une ou deux fonctions dedans. On utilise le programme _ar_ pour les cr�er. La page de manuel d'ar pourrait �tre un bon point de d�part pour commencer � enqu�ter sur la mani�re dont cette op�ration est effectu�e. �crivez, compilez, et liez un programme utilisant cette biblioth�que. _________________________________________________________________ 5.3. Aller plus loin * Pour le code source, suivre les liens dans Construire un syst�me Linux minimum � partir du code source _________________________________________________________________ 6. Init Je ne parlerai que du style d'initialisation � System V � que les syst�mes Linux utilisent le plus souvent. Il existe des alternatives. En fait, vous pouvez mettre n'importe quel programme dans /sbin/init, que le noyau ex�cutera lorsqu'il aura fini de se charger. Le travail d'init est de faire en sorte que tout se lance correctement. Il v�rifie que les syst�mes de fichier sont en bon �tat et les monte. Il d�marre les d�mons (_daemons_) qui enregistrent les messages syst�me, g�rent le r�seau, distribuent les pages web, �coutent les signaux de la souris, et c�tera. Init d�marre aussi les processus getty qui vous donnent l'invite de connexion sur vos terminaux virtuels. Il y a un processus compliqu� concernant le changement de niveau d'ex�cution (� run-levels �), mais je vais sauter tout �a, et ne parler que du d�marrage du syst�me. Init lit le fichier /etc/inittab, qui lui dit quoi faire. En g�n�ral, la premi�re chose demand�e est l'ex�cution d'un script d'initialisation. Le programme qui ex�cute (ou interpr�te) ce script est _bash_, le m�me programme qui vous donne la ligne de commande. Sur les syst�mes Debian, le script d'initialisation est /etc/init.d/rcS, sur Red Hat, /etc/rc.d/rc.sysinit. C'est l� que les syst�mes de fichiers sont v�rifi�s puis mont�s, l'horloge mise � l'heure, le fichier ou la partition d'�change (swap) activ�s, les noms de machines d�finis, et c�tera. Ensuite, un autre script est invoqu� pour nous placer dans le niveau d'ex�cution par d�faut. Cela implique simplement le d�marrage d'un ensemble de sous-syst�mes. Il existe un ensemble de sous-r�pertoires /etc/rc.d/rc0.d, /etc/rc.d/rc1.d, ... , /etc/rc.d/rc6.d sous Red Hat, ou /etc/rc0.d, /etc/rc1.d, ... , /etc/rc6.d sous Debian, correspondant aux niveaux d'ex�cution (_runlevels_). Si nous entrons dans le niveau d'ex�cution 3 sur un syst�me Debian, le script ex�cute tous les scripts de /etc/rc3.d commen�ant par � S � (pour _Start_). Ces scripts sont en r�alit� des liens vers un autre r�pertoire appel� g�n�ralement init.d. Donc, le script de notre niveau d'ex�cution est appel� par init, et recherche dans un r�pertoire les scripts dont le nom d�bute par la lettre � S �. Il se peut qu'il tombe sur S10syslog en premier. Les chiffres indiquent au script de gestion des niveaux d'ex�cution l'ordre dans lequel il doit les lancer. En l'occurrence, S10syslog est lanc� en premier parce qu'il n'y pas de script commen�ant par S00 ... S09. Mais S10syslog est en fait un lien vers /etc/init.d/syslog qui est un script charg� du d�marrage et de l'arr�t du d�mon de gestion du journal syst�me. Parce que le nom du lien commence par un � S �, le script de gestion des niveaux d'ex�cution sait qu'il doit ex�cuter le script _syslog_ avec le param�tre start. Il y a aussi des liens dont le nom d�bute par � K � (pour _Kill_), qui sp�cifient ce qui doit �tre arr�ter, et dans quel ordre, lorsque l'on entre dans ce niveau d'ex�cution. Pour changer ce que le sous-syst�me lance par d�faut, vous devez configurer ces liens dans le r�pertoire rcN.d, o� N est le niveau d'ex�cution par d�faut d�fini dans votre fichier inittab. La derni�re chose importante qu'effectue init est de d�marrer les getty. Ceux-ci sont ressuscit�s (_respawned_), ce qui signifie qu'ils sont automatiquement relanc�s par init s'ils viennent � se terminer. La plupart des distributions fournissent six terminaux virtuels. Il se peut que vous souhaitiez en enlever pour �conomiser de la m�moire, ou en ajouter pour pouvoir faire tourner plus de choses � la fois, et passer rapidement de l'une � l'autre. Vous pourriez aussi avoir besoin de lancer un getty vers un terminal texte ou vers un modem. Vous devrez alors �diter inittab. _________________________________________________________________ 6.1. Configuration /etc/inittab est le fichier de configuration principale d'init. Les r�pertoires rcN.d, o� N = 0, 1, ... , 6 d�termine les sous-syst�mes � lancer. Quelque part dans les scripts invoqu�s par init, se trouve la commande _mount -a_. Cela signifie : � Monte tous les syst�mes de fichiers cens�s �tre mont�s �. Le fichier /etc/fstab d�finit ce qui est cens� �tre mont�. Si vous souhaitez changer ce qui est mont� par d�faut au d�marrage, c'est ce fichier que vous devez modifier. Il existe une page de manuel pour fstab. _________________________________________________________________ 6.2. Exercices Trouvez le r�pertoire rcN.d du niveau d'ex�cution par d�faut de votre syst�me puis faites un _ls -l_ pour voir les fichiers point�s par les liens. Changez le nombre de getty tournant sur votre syst�me. Retirez tous les sous-syst�mes dont vous n'avez pas besoin de votre niveau d'ex�cution par d�faut. Essayez de d�terminer le minimum n�cessaire pour d�marrer. Fabriquez une disquette avec Lilo, un noyau et un programme statique affichant � Bonjour tout le monde ! � nomm� /sbin/init, puis regardez-la d�marrer et dire bonjour. Regardez attentivement votre syst�me d�marrer, et notez les �v�nements signal�s. Ou imprimez une section de votre journal syst�me /var/log/messages � partir du moment o� votre syst�me a d�marr�. Ensuite, en partant d'inittab, explorez tous les scripts et essayez de voir quel code fait quoi. Vous pouvez �galement ajouter des messages, comme echo "Bonjour, moi c'est rc.sysinit" C'est aussi un bon exercice pour apprendre le langage de script de Bash, certains scripts �tant assez compliqu�s. Ayez un bon document de r�f�rence sur Bash � port�e de la main. _________________________________________________________________ 6.3. Aller plus loin * Il y a des pages de manuel pour les fichiers inittab et fstab. Tapez (par exemple) _man inittab_ dans un shell pour l'afficher. * Le guide Linux de l'administrateur syst�me du projet de documentation Linux (LDP) contient une section int�ressante sur init. * Pour le code source, suivre les liens du Construire un syst�me Linux minimum � partir du code source _________________________________________________________________ 7. Le syst�me de fichiers Dans cette section, j'emploierai l'expression � syst�me de fichiers � pour deux notions diff�rentes. Il y a les syst�mes de fichiers install�s sur des partitions de disque ou d'autres p�riph�riques, et il y a le syst�me de fichier tel qu'il vous est pr�sent� par un syst�me Linux en �tat de marche. Sous Linux, vous � montez � le syst�me de fichiers d'un disque sur le syst�me de fichiers de Linux. Dans la section pr�c�dente, j'ai mentionn� le fait que des scripts d'initialisation v�rifiaient et montaient les syst�mes de fichiers. Les commandes qui effectuent ces op�rations sont respectivement _fsck_ et _mount_. Un disque dur n'est qu'un grand espace dans lequel vous pouvez �crire des z�ros et des uns. Un syst�me de fichiers impose une structure � tout cela, et le pr�sente sous la forme de fichiers, � l'int�rieur de sous-r�pertoires, � l'int�rieur de r�pertoires ... Chaque fichier est repr�sent� par un _inode_, indiquant le fichier dont il s'agit, sa date de cr�ation, et o� trouver son contenu. Les r�pertoires sont aussi repr�sent�s par des inodes, mais ceux-ci indiquent o� trouver les inodes des fichiers que les r�pertoires contiennent. Si le syst�me veut lire /home/greg/groslolos.jpeg, il commence par lire l'inode du r�pertoire racine / dans le � superbloc �, puis trouve l'inode du r�pertoire home dans le contenu de /, puis trouve l'inode du r�pertoire greg dans le contenu de home, et enfin l'inode de groslolos.jpeg qui lui dira quels blocs du disque il doit lire. Si nous ajoutons des donn�es � la fin d'un fichier, il peut arriver que les donn�es soient �crites avant que l'inode ne soit mis � jour (indiquant que le nouveau bloc appartient d�sormais au fichier), ou vice-versa. Si le courant est coup� � cet instant pr�cis, le syst�me de fichiers sera cass�. C'est ce genre de chose que _fsck_ essaie de d�tecter et de r�parer. La commande _mount_ prend le syst�me de fichiers d'un p�riph�rique, et l'ajoute � la hi�rarchie de fichiers de votre syst�me. En g�n�ral le noyau monte son syst�me de fichiers racine en lecture seule. La commande mount est ensuite utilis�e pour le remonter en lecture-�criture apr�s que fsck aie v�rifi� que tout est en ordre. Linux prend aussi en charge d'autres types de syst�mes de fichiers : msdos, vfat, minix, et c�tera. Les d�tails d'un syst�me de fichiers sp�cifique sont masqu�s par le syst�me de fichier virtuel (Virtual File System - VFS), qui est une couche d'abstraction. Je ne rentrerai pas dans ces d�tails. Il existe une discussion sur ce sujet dans � Le noyau Linux � (voir la section aller plus loin - le noyau Linux pour l'url). Un type de syst�me de fichiers compl�tement diff�rent est mont� sur /proc. C'est une v�ritable projection de ce qui se passe dans le noyau. On y trouve un r�pertoire pour chaque processus existant sur le syst�me, dont le nom correspond au num�ro dudit processus. Il existe aussi des fichiers comme interrupts et meminfo qui donnent des informations sur l'utilisation du mat�riel. Vous pouvez d�couvrir �norm�ment de choses en explorant /proc. _________________________________________________________________ 7.1. Configuration Il est possible d'indiquer � _mke2fs_, la commande de cr�ation des syst�me de fichiers ext2, des param�tres d�finissant la taille des blocs, le nombre d'inodes, et c�tera. Voir la page de manuel de mke2fs pour plus de d�tails. Ce qui doit �tre mont� sur votre syst�me de fichiers est contr�l� par le fichier /etc/fstab, qui a lui aussi sa page de manuel. _________________________________________________________________ 7.2. Exercices Fabriquez un tout petit syst�me de fichiers, et visualisez-le avec un �diteur hexad�cimal. Identifiez les inodes, les superblocs, et le contenu des fichiers. Je crois qu'il existe des outils qui vous donnent une vue graphique d'un syst�me de fichiers. Trouvez-en un, essayez-le, et envoyez moi l'url par courrier �lectronique (en anglais) avec vos commentaires ! Explorez le code du syst�me de fichiers ext2 dans le noyau. _________________________________________________________________ 7.3. Aller plus loin * Le chapitre 9 du livre � Le noyau linux � du LDP donne une excellente description des syst�mes de fichiers. Vous pouvez le trouver sur le site du projet de documentation Linux (LDP). * La commande _mount_ fait partie du paquet util-linux, il y a un lien vers celui-ci dans Construire un Syst�me Linux Minimum � partir du Code Source * Les pages de manuel de mount, fstab, fsck, mke2fs et proc. * Le fichier Documentation/proc.txt, distribu� avec les sources du noyau Linux, d�crit le fonctionnement du syst�me de fichier /proc. * La page principale des utilitaires du syst�me de fichier Ext2 ext2fsprogs. On y trouve �galement un document donnant une vue d'ensemble d'Ext2fs, bien qu'il ne soit plus � jour, et moins lisible que le chapitre 9 du livre � Le noyau Linux �. * Le standard de syst�me de fichier Unix. Ce document d�crit o� doit se trouver quoi, dans un syst�me Unix, et pourquoi. Il indique aussi le minimum n�cessaire � placer dans /bin, /sbin, et c�tera. C'est une bonne r�f�rence si votre objectif est un syst�me minimal mais complet. _________________________________________________________________ 8. Les d�mons du noyau Si vous saisissez la commande _ps aux_, vous verrez quelque chose ressemblant � ce qui suit : USER PID %CPU %MEM SIZE RSS TTY STAT START TIME COMMAND root 1 0.1 8.0 1284 536 ? S 07:37 0:04 init [2] root 2 0.0 0.0 0 0 ? SW 07:37 0:00 (kflushd) root 3 0.0 0.0 0 0 ? SW 07:37 0:00 (kupdate) root 4 0.0 0.0 0 0 ? SW 07:37 0:00 (kpiod) root 5 0.0 0.0 0 0 ? SW 07:37 0:00 (kswapd) root 52 0.0 10.7 1552 716 ? S 07:38 0:01 syslogd -m 0 root 54 0.0 7.1 1276 480 ? S 07:38 0:00 klogd root 56 0.3 17.3 2232 1156 1 S 07:38 0:13 -bash root 57 0.0 7.1 1272 480 2 S 07:38 0:01 /sbin/agetty 38400 t t root 64 0.1 7.2 1272 484 S1 S 08:16 0:01 /sbin/agetty -L ttyS 1 root 70 0.0 10.6 1472 708 1 R Sep 11 0:01 ps aux C'est une liste de processus en cours d'ex�cution sur le syst�me. Les informations proviennent du syst�me de fichiers /proc que j'ai mentionn� dans la section pr�c�dente. Remarquez que init est le processus num�ro un. Les processus 2, 3, 4 et 5 sont kflushd, kupdate, kpiod et kswapd. Il y a quand m�me quelque chose d'�trange : dans les deux colonnes de la taille virtuelle de stockage (SIZE) et la taille r�elle de stockage (Real Storage Size, RSS), ces processus renvoient z�ro. Comment un processus peut-il ne pas utiliser de m�moire ? Il s'agit des d�mons propres au noyau. La majeure partie du noyau n'appara�t m�me pas dans la liste des processus, et le seul moyen de conna�tre la m�moire qu'il utilise est de soustraire la m�moire disponible � la quantit� totale de m�moire install�e. Les d�mons du noyau sont d�marr�s apr�s init, et obtiennent de ce fait des num�ros de processus normaux, mais leur code et leurs donn�es n'existent qu'au sein de la zone de m�moire occup�e par le noyau. Les noms des d�mons du noyau dans la liste sont �crits entre crochets car le syst�me de fichiers /proc ne contient pas d'information sur la ligne de commande utilis�e pour lancer ces processus. Alors, � quoi servent ces d�mons ? Les versions pr�c�dentes de ce document pr�sentaient ici un appel � contribution, car mes connaissances dans ce domaine sont limit�es. L'explication (partielle) qui suit est une fusion de diff�rentes r�ponses � cet appel, pour lesquelles j'ai une grande reconnaissance. Toutes indications, r�f�rences et corrections sont bienvenues. Toutes les entr�es et sorties sont effectu�es via des _tampons_ en m�moire, ce qui acc�l�re grandement les choses. Tout ce qu'un programme �crit peut �tre conserv� en m�moire, puis �tre �crit sur le disque par blocs plus grands et plus efficaces. C'est le travail des d�mons kflushd et kupdate. Tr�s souvent, les processus sont au repos, et ceux qui tournent n'ont pas besoin d'avoir l'int�gralit� de leur code et de leurs donn�es charg�e en m�moire. Cela signifie que l'on peut faire un meilleur usage de notre m�moire vive, en faisait glisser les pages inutilis�es des programmes en cours d'ex�cution vers la ou les partitions d'�change du disque dur. Le transfert des donn�es depuis et vers la m�moire selon les besoins est assur� par kpiod et kswapd. Toutes les secondes environ, kswapd se r�veille et v�rifie la situation de la m�moire, et, si une page devient n�cessaire en m�moire ou que l'on commence � manquer de place, invoque kpiod. Il peut aussi exister un d�mon kapmd si vous avez activ� la gestion avanc�e de l'�nergie (apm) dans votre noyau. _________________________________________________________________ 8.1. Configuration Le programme _update_ vous permet de configurer kflushd et kswapd. Essayez update -h pour avoir plus d'information. L'espace d'�change (_swap_) est mis en service avec _swapon_ et hors service par _swapoff_. Ce sont les scripts d'initialisation /etc/rc.sysinit ou /etc/rc.d/rc.sysinit qui appellent g�n�ralement _swapon_, lorsque le syst�me d�marre. J'ai entendu dire que _swapoff_ �tait pratique pour �conomiser l'�nergie des ordinateurs portables. _________________________________________________________________ 8.2. Exercices Faites un _update -t_, notez les commentaires des derni�res lignes parlant de � threshold for buffer fratricide � (seuil fratricides des tampons). Voil� un concept bien intriguant ! Enqu�tez ! Entrez dans le r�pertoire /proc/sys/vm et faites un _cat_ sur tous les fichiers s'y trouvant. Voyez ce que vous pouvez en tirer. _________________________________________________________________ 8.3. Aller plus loin Le livre � Le noyau Linux � du projet de documentation Linux (LDP). Suivre les liens dans la section aller plus loin - le noyau Linux. Le code source du noyau, si vous �tes courageux ! Le programme source de kswapd se trouve dans linux/mm/vmscan.c, ceux de klushd et kupdate se trouvent eux dans linux/fs/buffer.c. _________________________________________________________________ 9. Le journal syst�me Init d�marre les d�mons syslogd et klogd. Ils �crivent les messages � consigner dans le journal syst�me. Les messages du noyau sont pris en main par klogd, alors que syslogd g�re les messages des autres processus. Le fichier journal principal est /var/log/messages. C'est un bon endroit o� aller voir quand quelque chose tourne mal sur votre syst�me. Vous y trouverez souvent de pr�cieux indices. _________________________________________________________________ 9.1. Configuration Le fichier /etc/syslog.conf indique au d�mon de gestion du journal syst�me o� mettre quels messages. Les messages sont identifi�s par le service dont ils proviennent, et leur niveau de priorit�. Ce fichier de configuration est constitu� de lignes indiquant que les messages du service x avec une priorit� y vont vers z, o� z est un fichier, un terminal, une imprimante, une machine distante, ou autre chose encore. Note Syslog a besoin que le fichier /etc/services existe. Ce fichier alloue des ports (UDP et TCP). Je ne sais pas vraiment si syslog a besoin d'un port r�serv� uniquement pour pouvoir enregistrer les messages des machines distantes, ou si m�me l'enregistrement en local se fait au travers d'un port, ou m�me s'il ne se contente pas d'utiliser /etc/services pour convertir les noms de services indiqu�s dans /etc/syslog.conf en num�ros de port. _________________________________________________________________ 9.2. Exercices Jetez un oeil � votre journal syst�me. Prenez un message que vous ne comprenez pas, et essayez de trouver ce qu'il signifie. Redirigez tous les messages du journal vers un terminal. (Revenez � la normale une fois que c'est fait). _________________________________________________________________ 9.3. Aller plus loin Le miroir fran�ais de sysklogd. _________________________________________________________________ 10. Getty et Login Getty est le programme qui vous permet de vous connecter � travers un p�riph�rique s�rie, comme une console virtuelle, un terminal en mode texte, ou un modem. Il affiche l'invite de connexion. Une fois que vous avez saisi votre nom d'utilisateur, getty le transmet � login, qui vous demande un mot de passe, le v�rifie, puis vous donne l'interpr�teur de commandes (le shell). Il existe plusieurs getty disponibles. Certaines distributions, comme Red Hat, en utilisent un tr�s petit appel� mingetty et qui ne g�re que les terminaux virtuels. Le programme login fait partie du paquet util-linux, qui contient aussi un getty nomm� agetty, qui fonctionne bien. Ce paquet contient �galement _mkswap_, _fdisk_, _passwd_, _kill_, _setterm_, _mount_, _swapon_, _rdev_, _renice_, _more_ et bien d'autres. _________________________________________________________________ 10.1. Configuration Le message qui appara�t en haut de votre �cran avec l'invite de login provient du fichier /etc/issue. Les getty sont en g�n�ral d�marr�s depuis /etc/inittab. Login recherche les informations sp�cifiques � l'utilisateur dans /etc/passwd, et si vous utilisez un fichier de mot de passe ombre (_shadow password_), dans /etc/shadow. _________________________________________________________________ 10.2. Exercices Cr�ez un fichier /etc/passwd � la main. Les mots de passe peuvent �tre nuls, puis chang�s avec le programme _passwd_ une fois connect�. Voir la page de manuel de ce fichier. Utilisez _man 5 passwd_ pour obtenir la page de manuel du fichier plut�t que celle du programme. _________________________________________________________________ 11. Bash Si vous donnez � login une combinaison valide de nom d'utilisateur et de mot de passe, il ira regarder dans /etc/passwd pour savoir quel interpr�teur de commandes vous donner. La plupart du temps, dans un syst�me Linux, ce sera bash. Le travail de bash consiste � lire vos commandes et voir ce sur quoi elles agissent. C'est � la fois une interface utilisateur, et l'interpr�teur d'un langage de programmation. Dans son r�le d'interface, il lit vos commandes, et les ex�cute lui-m�me si ces commandes sont internes, comme _cd_, ou bien trouve et ex�cute un programme s'il s'agit de commandes externes comme _cp_ ou _startx_. Bash propose �galement plusieurs options fort sympathiques comme un historique des commandes, ou la capacit� de finir automatiquement les noms de fichiers que vous entrez (lorsque vous utiliser la touche _Tab_). Nous avons d�j� vu bash � l'action dans son r�le de langage de programmation. Les scripts qu'init lance pour d�marrer le syst�me sont g�n�ralement des scripts shell, et sont ex�cut�s par bash. Avoir un langage de programmation propre, parall�lement aux utilitaires syst�mes disponibles depuis l'invite de commande forme une combinaison tr�s puissante, si vous savez ce que vous faites. Par exemple (s�quence frime !), j'ai eu besoin l'autre jour d'appliquer une pile enti�re de correctifs � un r�pertoire de codes source. J'ai �t� capable de le faire en une seule commande, la suivante : for f in /home/greg/sh-utils-1.16*.patch; do patch -p0 < $f; done; Ceci recherche tous les fichiers de mon r�pertoire personnel dont les noms commencent par sh-utils-1.16 et finissent par .patch, puis affecte un par un ces noms � la variable f et ex�cute les commandes invoqu�es entre do et done. Il y avait en l'occurrence 11 correctifs, mais il aurait pu aussi bien y en avoir 3000. _________________________________________________________________ 11.1. Configuration Le fichier /etc/profile agit sur le comportement de bash au niveau du syst�me entier. Ce que vous mettez dans ce fichier affectera toute personne qui utilise bash sur votre syst�me. Cela sert par exemple � ajouter des r�pertoires dans la variable PATH, ou � d�finir celui de la variable MAIL. Le comportement par d�faut du clavier laisse souvent � d�sirer. En fait, c'est readline qui contr�le cela. Readline est un paquet distinct qui prend en main les interfaces de ligne de commande, en fournissant l'historique des commandes, et la capacit� � terminer automatiquement de noms de fichiers, tout comme les facilit�s �volu�es d'�dition de ligne. Il est compil� dans bash. Par d�faut, Readline est configur� � l'aide du fichier .inputrc, dans votre r�pertoire personnel. La variable INPUTRC peut �tre utilis�e pour outrepasser les r�gles de ce fichier pour le bash. Par exemple, dans Red Hat 6, INPUTRC re�oit la valeur /etc/inputrc dans le fichier /etc/profile. Ce qui signifie que les touches _Effacement arri�re_, _Suppr_, _D�but_ et _Fin_ fonctionnent correctement et pour tout le monde. Une fois que bash a lu le fichier de configuration g�n�ral, commun au syst�me entier, il recherche votre fichier de configuration personnel. Il teste l'existence des fichiers .bash_profile, .bash_login et .profile dans votre r�pertoire personnel. Il lance le premier qu'il trouve. Si vous voulez modifier le comportement de bash � votre �gard, sans le changer pour les autres, faites-le ici. Par exemple, de nombreuses applications utilisent les variables d'environnement pour contr�ler leur fonctionnement. J'ai une variable EDITOR contenant la valeur _vi_ pour pouvoir utiliser vi sous Midnight Commander (un excellent gestionnaire de fichier orient� console) au lieu de son propre �diteur. _________________________________________________________________ 11.2. Exercices Les bases de bash sont faciles � apprendre. Mais ne vous y limitez pas : on peut aller incroyablement loin avec. Prenez l'habitude de rechercher de meilleures fa�ons de faire les choses. Lisez des scripts shell, analysez les choses que vous ne comprenez pas. _________________________________________________________________ 11.3. Aller plus loin * Il existe le � Manuel de r�f�rence Bash �, clair, mais assez lourd. * Il existe �galement un livre O'Reilly sur Bash, je ne sais pas s'il est bon. * Je ne connais pas de bon tutoriel bash gratuit et � jour. Si vous en connaissez un, merci de me faire conna�tre le lien. * Le code source. Suivre les liens dans Construire un syst�me Linux Minimum � partir du Code Source _________________________________________________________________ 12. Les commandes Vous effectuez la plupart des choses sous bash en saisissant des commandes comme _cp_. La majorit� de ces commandes sont des petits programmes, bien que quelques-unes, comme _cd_ soient int�gr�es � l'interpr�teur de commandes. Les commandes viennent de paquets, la plupart de la Free Software Foundation (projet GNU). Plut�t que de dresser ici la liste des paquets, je pr�f�re vous renvoyer vers le Comment faire un syst�me Linux � partir de z�ro. Il contient une liste compl�te et � jour de tous les paquets allant dans un syst�me Linux, aussi bien que des indications pour les construire. _________________________________________________________________ 13. Conclusion L'un des meilleurs c�t�s de Linux, � mon humble avis, est que vous pouvez entrer dedans et voir r�ellement comment il fonctionne. J'esp�re que vous appr�cierez cela autant que moi. Et j'esp�re que ces quelques notes vous y auront aid�. _________________________________________________________________ 14. Section administrative 14.1. Copyright Copyright � 1999, 2000 Greg O'Keefe. Vous �tes libre d'utiliser, de copier, de distribuer ou de modifier ce document, sans obligation, selon les termes de la Licence publique g�n�rale GNU (GPL : GNU General Public Licence). Merci de citer l'auteur si vous utilisez tout ou partie de ce document dans un autre. _________________________________________________________________ 14.2. Page principale Les mises � jour de ce document �voluent sur le site From Powerup To Bash Prompt avec son compagnon � Building a Minimal Linux System from Source Code �. Il existe une traduction fran�aise sur From Powerup to Bash Prompt. Merci � Dominique van den Broeck. Une traduction japonaise par Yuji Senda est en cours et sera disponible sur le site du Projet des documentations et FAQ japonaises si elle ne s'y trouve pas d�j�. _________________________________________________________________ 14.3. R�actions J'aimerais recevoir vos commentaires, critiques et suggestions. Veuillez s'il vous pla�t me les envoyer en anglais � Greg O'Keefe <gcokeefe@postoffice.utas.edu.au> _________________________________________________________________ 14.4. R�f�rences et remerciements Les noms de produits cit�s sont des marques d�pos�es par leurs propri�taires respectifs, et consid�r�s par cette note comme reconnus comme tels. Il y a quelques personnes que je voudrais remercier, pour m'avoir aid� � r�aliser tout ceci. Michael Emery Pour m'avoir rappel� Unios. Tim Little Pour de bonnes indications concernant /etc/passwd sPaKr dans #linux sur efnet Qui a soup�onn� l'utilisation de /etc/services par syslog, et m'a fait conna�tre l'expression � rolling your own � (r�aliser soi-m�me) pour d�crire la construction d'un syst�me � partir des sources. Alex Aitkin Pour avoir port� Vico et son � verum ipsum factum � (La compr�hension d�coule de l'exp�rience) � mon attention. Dennis Scott Pour avoir corrig� mon arithm�tique en hexad�cimal. jdd Pour avoir mis en �vidence quelques erreurs typographiques. David Leadbeater Pour avoir contribu� aux � p�r�grinations � dans les d�mons noyau. Dominique van den Broeck Pour avoir traduit cette doc en fran�ais. (NdT : Merci � Guillaume All�gre et Anthony Boureux pour la relecture ainsi qu'� tous les membres de projet de traduction linux fran�ais). Matthieu Peeters Pour ses tr�s bonnes informations sur les d�mons du noyau. John Fremlin Pour ses tr�s bonnes informations sur les d�mons du noyau. Yuji Senda Pour la traduction en japonais. Antonius de Rozari Pour avoir apport� une version en assembleur GNU de Unios (voir la section ressources sur la page principale). _________________________________________________________________ 14.5. Historique des changements 0.8 -> 0.9 (novembre 2000) Incorporation des informations de Matthieu Peeters sur les d�mons du noyau et le syst�me de fichiers /proc. 0.7 -> 0.8 (septembre 2000) Suppression des informations sur la mani�re de construire un syst�me, pour les placer dans un document distinct. Correction de quelques liens en cons�quence. Changement de site internet: de learning@TasLUG vers mon propre site. Impossible d'incorporer toutes les bonnes informations re�ues d'horizons vari�s. La prochaine fois, peut-�tre :( 0.6 -> 0.7 L'accent est plus port� sur l'explication, et moins sur la fa�on de monter un syst�me, ces informations ayant �t� regroup�es dans une section distincte, et le syst�me une fois construit a �t� revu � la baisse, voir directement la documentation de Gerard Beekmans � Linux From Scratch � pour construire un syst�me s�rieux. Ajout de quelques hypoth�ses de la part de David Leadbeater Correction de deux url, ajout d'un lien vers le t�l�chargement d'Unios sur learning.taslug.org.au/resources Test et correction d'url. Grand nettoyage et r��criture g�n�rale. 0.5 -> 0.6 Ajout de l'historique des changements Ajout de quelques �l�ments dans la liste des am�liorations pr�vues. _________________________________________________________________ 14.6. Am�liorations pr�vues * Expliquer les modules noyau, depmod, modprobe, insmod et tout (il faut d'abord que je trouve moi-m�me). * Mentionner le syst�me de fichiers /proc. Exercices potentiels. * Convertir en documentation sgml * Ajouter plus d'exercices, peut-�tre une section enti�re d'exercices plus pouss�s, comme cr�er un syst�me de fichiers minimal fichier par fichier � partir de l'installation d'une distribution. _________________________________________________________________ 14.7. Adaptation fran�aise 14.7.1. Traduction La traduction fran�aise de ce document a �t� r�alis�e par Dominique van den Broeck <dvandenbroeck@free.fr>, mai 2000 (v0.7), f�vrier 2001 (v0.9). _________________________________________________________________ 14.7.2. Relecture La relecture de ce document a �t� r�alis�e par Jean-Philippe Gu�rard <jean-philippe.guerard@laposte.net>. Les version pr�c�dentes ont �t� relues par Guillaume All�gre et Anthony Boureux.