Le Guide du ROOTard pour Linux Eric Dumas, Eric.Dumas@Linux.EU.Org, Eric.Dumas@freenix.org Version 2.8, 21 Septembre 1998 ____________________________________________________________ Table des matières 1. Préambule 1.1 Histoire de ce guide 1.2 Présentation du contenu 1.3 Plate-forme 1.4 Quoi de neuf ? 1.5 Copyright 1.6 Améliorations de ce document 1.7 Traductions 1.8 Sites officiels de distribution 1.9 Évolution du format de ce guide 2. Introduction 3. Feuille d'Information 3.1 Résumé 3.2 Linux - Introduction 3.3 Caractéristiques de Linux 3.4 Matériel 3.4.1 Configuration minimale 3.4.2 Configuration recommandée 3.4.3 Matériel pris en charge 3.5 Liste incomplète de programmes disponibles 3.6 Qui utilise Linux ? 3.7 Documentation 3.8 Comment se procurer Linux en France 3.8.1 Par l'Internet 3.8.2 Par téléphone 3.8.3 Sur CD-ROM par correspondance 3.9 Comment débuter 3.10 Les groupes Usenet consacrés à 3.11 Autres groupes Usenet 3.12 The Linux Journal 3.13 Statut légal de Linux 3.14 Ce document 4. Introduction à l'installation 4.1 Récupération 4.2 Les différentes possibilités d'installations 4.3 Conseils d'installation 5. Distributions 5.1 Définition et comment choisir une distribution 5.2 Description rapide 5.3 Disquettes d'amorçage 5.4 Slackware : description 5.4.1 Disquettes Boot et Root 5.4.2 La distribution 5.4.3 Bogues de la Slackware 5.5 Red Hat : description 5.5.1 Disquette de boot 5.5.2 La Red Hat sans disquette 5.5.3 Distribution 5.5.4 Utilisation du programme 6. Installation 6.1 Installation initiale 6.2 Partitionnement du disque 6.3 Installation avec la Slackware 6.4 Installation avec la Red Hat 7. Administration sous Linux 7.1 Clavier Français 7.2 LILO 7.3 Montage automatique de partitions : /etc/fstab 7.4 Montage manuel de partitions 7.5 Mise en place des quota 7.5.1 Logiciels nécessaires 7.5.2 Compilation des utilitaires 7.5.3 Activation de la gestion des quota dans le noyau 7.5.4 Activation des quota sur les systèmes de fichiers 7.5.5 Attribution d'un quota à un utilisateur 7.5.6 Statistiques sur les quota 7.5.7 Autres documentations sur les quota 7.6 mtools 7.7 Swap : création de la partition 7.8 Swap : fichier 7.9 Ajouter un utilisateur, un groupe 7.10 Lancements de programmes personnels lors du boot : /etc/rc.d/rc.local 7.11 Ordonnancement de travaux : la crontab 7.12 Imprimer ! 7.13 Timezone 7.14 Nouveaux changements d'heure 7.15 locate 7.16 CD-ROM ATAPI 7.17 Mettre une console externe comme console 7.18 Deux cartes réseaux 7.19 Les fichiers d'initialisation des interpréteurs de commandes 7.20 Les sauvegardes sous Linux 7.20.1 dump et restore 7.20.2 tar 7.21 Num Lock au démarrage 7.22 Les fichiers core 7.23 Accounting - lastcomm 8. SMP, autres architectures 8.1 SMP 8.2 Plates-formes Alpha 9. X Window 9.1 XF86Config 9.2 Clavier français sous X : Xmodmap 9.3 Clavier français sous X... 2ième possibilité 9.4 Clavier français sous X... utiliser xkb 9.5 xdm 9.6 Comment démarrer plusieurs sessions X ? 9.7 Comment récupérer les erreurs sur la console ? 9.8 XFree86 et XInput 9.9 Problème assez courant 9.10 Souris pour les gauchers 10. Sécurité 10.1 X Window : le fichier .Xauthority 10.2 X Window : contrôle de la session 10.3 Problèmes de sécurité 10.4 Protection de la machine contre l'extérieur 10.5 Quelques pointeurs 10.6 Virus 10.7 Cops/Crack 11. Recompiler le noyau 11.1 Cyrix 11.2 Pentium 11.3 Compilation 12. Les fichiers spéciaux 13. Communiquer 13.1 UUCP et modem 13.2 Appels entrants 13.3 PPP 13.3.1 Introduction 13.3.2 Accès à un serveur PPP 13.3.3 Configuration d'un serveur PPP 13.3.4 Bibliographie 13.4 Un réseau derrière une seule adresse 13.5 Sendmail 13.6 Configuration du mail lors d'une connexion avec un provider 13.7 Utilisation du Kit de Jussieu 13.8 Utilisation de m4 13.9 Une fois le sendmail.cf généré... 13.10 Que faire en cas d'attribution dynamique de l'adresse IP 13.11 netstat -s 14. ELF 14.1 Introduction 14.2 Utilisation des utilitaires ELF 14.3 Sources d'information sur ELF 15. Catastrophe ! 15.1 Corruption de partitions 15.2 Impossible de booter ! 15.3 Formatage accidentel d'une partition 15.4 Problèmes avec le disque dur : super-bloc 15.5 Problèmes avec le disque dur : blocs défectueux 15.6 Récupération d'un disque 15.7 fatal signal 11 15.8 Disquette de secours 16. Divers 16.1 Comment générer une disquette de boot 16.2 Mon mot de passe, où est mon mot de passe ? 16.3 Comment limiter le reboot en single user ? 16.4 Consoles virtuelles - aspects pratiques 16.5 Consoles virtuelles - aspects théoriques 16.5.1 Principe 16.5.2 Configuration 16.5.3 Les touches 16.6 Francisation 16.6.1 locale // nls 16.6.2 ispell 16.6.3 Les accents sous bash 16.6.4 less 16.6.5 Formatage de textes 16.6.6 elm 16.6.7 telnet 16.6.8 French-HOWTO 16.7 teTeX et le style french 16.7.1 Installation 16.7.2 Premier test 16.7.3 Configuration 16.8 TeX et les polices de caractères 16.9 Une carte son bien configurée 16.10 Bug gcc 16.11 Emacs 16.12 Verrouillage des ports série 16.13 Minitel 16.14 Fax 16.15 Modules Chargeables 16.15.1 Structure du noyau 16.15.2 Qu'est-ce qu'un module chargeable ? 16.15.3 Compilation du noyau 16.15.4 Chargement : méthode manuelle 16.15.5 Chargement automatique : 16.15.5.1 Avertissement 16.15.5.2 Introduction 16.15.5.3 Conseils pour la compilation du noyau 16.15.5.4 Mise en place 16.15.5.5 Le fichier /etc/conf.modules 16.15.5.6 Quelques références 16.15.6 Inactivité d'une machine 16.15.7 Disque dur 16.15.8 Disque dur, autre solution 16.15.8.1 cron 16.15.8.2 mgetty 16.15.8.3 lpr NG 16.15.8.4 apache 16.15.8.5 bind 16.15.8.6 squid 16.15.8.7 sendmail 16.15.9 Le moniteur 16.15.9.1 La console 16.15.9.2 XFree86 16.15.10 La CPU 17. Suites bureautiques 17.1 StarOffice 17.1.1 Pré-requis 17.1.2 Installation 17.1.3 Utilisation 17.1.4 Points faibles 17.1.5 Conclusion 18. Pour aller plus loin 18.1 (SQ 18.2 Livres 18.3 Les HowTo's 19. Adresses 20. Contributions 21. Si vous voulez participer au développement de Linux 22. That's all folks ______________________________________________________________________ 11.. PPrrééaammbbuullee Bienvenue dans la version 2.8 du Guide du ROOTard. 11..11.. HHiissttooiirree ddee ccee gguuiiddee La première version de ce guide a été réalisée par Julien Simon (Julien.Simon@freenix.org). Vous trouverez à la fin du guide un chapitre contenant les noms des différents contributeurs à ce document. Au fil des versions, cette liste s'allonge : c'est bon signe. 11..22.. PPrréésseennttaattiioonn dduu ccoonntteennuu Ce guide a pour but de fournir des réponses claires et concrètes aux problèmes que peut poser l'installation de LLiinnuuxx. Il regroupe des trucs et astuces fournis par des utilisateurs, le plus souvent lus dans les forums de discussion _f_r_._c_o_m_p_._o_s_._l_i_n_u_x (f.c.o.l), _f_r_._c_o_m_p_._o_s_._l_i_n_u_x_._m_o_d_e_r_a_t_e_d (f.c.o.l.m) ou dans les _H_o_w_T_o, documents indiquant comment installer, configurer ou améliorer un élément logiciel ou matériel donné. Merci à ceux qui m'envoient des corrections, des mises à jours ou même des paragraphes entiers. C'est très sympathique et c'est la bonne manière pour faire évoluer ce guide. 11..33.. PPllaattee--ffoorrmmee Linux a initialement été développé pour fonctionner sur les plates- formes de type PC (quel que soit le processeur qui s'y trouve : Intel, AMD, Cyrix, ...). Linux fonctionne aujourd'hui très bien sur d'autres plates-formes telles que Sparc, Alpha, Silicon, Atari, Amiga, PowerPc, Macintosh... Ce document est plus particulièrement dédié aux plates-formes ix86, vous trouverez toutefois quelques informations sur les plates-formes Alpha. 11..44.. QQuuooii ddee nneeuuff ?? Voici les nouveautés du Guide du ROOTard version 2.8 : · description de la Red Hat 5.1, dite "Manhattan" ; · description de la Slackware 3.5 ; · noyau 2.0.35 ; · et bon nombre d'autres choses (voir le fichier Changelog). Les distributions décrites sont celles que l'on trouve sur les serveurs ftp au 2 Août 1998. 11..55.. CCooppyyrriigghhtt RReemmaarrqquuee iimmppoorrttaannttee : entre la version 2.6 et la version 2.7, j'ai tenté de faire évoluer le contenu de la licence pour qu'au moins la diffusion sur CD-ROM soit autorisée. Il s'avère que je n'ai pas reçu les accords nécessaires du créateur initial de ce guide ainsi que de certains contributeurs. Donc, ce guide continue à être diffusé avec cette licence restrictive... Le guide du ROOTard est _l_i_b_r_e et je vous encourage donc vivement à le distribuer tel quel et gratuitement. Par contre, vous ne pouvez pas le modifier ou le vendre. J'insiste particulièrement sur le fait que vous ne pouvez pas tirer de bénéfice financier de ce document. Aucune publication n'est autorisée sans l'accord préalable de l'auteur et des contributeurs, et il en va de même pour l'inscription sur CD- ROM, etc. Envoyez-moi un courrier pour toute demande particulière. 11..66.. AAmméélliioorraattiioonnss ddee ccee ddooccuummeenntt Si vous souhaitez améliorer ce document en y ajoutant des paragraphes ou tout simplement des corrections judicieuses, vous pouvez m'envoyer un patch (utiliser le programme diff avec l'option -u) à partir du fichier au format sgml original. 11..77.. TTrraadduuccttiioonnss Ce guide a toujours été écrit en langue française, mais si vous souhaitez en faire une traduction, vous avez ma bénédiction. Signalons l'existence de la version en espagnol, traduite par l'association de Scientifiques pour l'avancement des Sciences et Technologies en Colombie (ACASTC). Le "Guia_del_enROOTador" peut être récupéré via ftp sur : sunsite.uniandes.edu.co, ftp.infor.es et ftp.lip6.fr ainsi que leurs nombreux miroirs respectifs. À quand une version anglaise ;-) ? 11..88.. SSiitteess ooffffiicciieellss ddee ddiissttrriibbuuttiioonn Il n'existe que deux sites officiels : · FTP : ftp.lip6.fr dans le répertoire /pub/linux/french/docs/GRL. · WWW : Guide Linux sur freenix Ce guide possède un nombre de miroirs particulièrement important. Si vous souhaitez réaliser un miroir, veuillez vous assurer à qu'il soit mis à jour régulièrement. Si vous faites référence à ce guide dans une diffusion, merci d'indiquer les deux sites de référence. Voici une liste de sites miroirs : · · · · · · · · · · · · · · · (_N_o_t_a _: _s_i _j_'_e_n _o_u_b_l_i_e_, _c_o_n_t_a_c_t_e_z _m_o_i !) Il est disponible en plusieurs formats : · texte simple : aucun accent, idéal pour commencer (mais avec une mise en page quelque peu hasardeuse) ; · PostScript : le format le plus agréable à consulter ; · HTML : à lire avec des outils tels que Mosaic, Netscape, lynx ou arena ; · SGML avec accents normaux : il s'agit du code source original du Guide. 11..99.. ÉÉvvoolluuttiioonn dduu ffoorrmmaatt ddee ccee gguuiiddee Depuis que j'ai repris le GRL (Guide du ROOTard pour Linux) il y a un peu plus de trois ans, je l'ai converti au format _S_G_M_L. Les HowTo's et documentations LLiinnuuxx emploient aussi ce standard à partir duquel un outil appelé "sgml-tools" génère des documents aux formats aussi variés qu'_H_T_M_L, _t_e_x_t_e, _D_V_I, etc. La version utilisée pour cette version est la version 1.0.7. Il s'agit de la version originale de cet outil, sans aucun patch appliqué (il s'agit de la première version du Guide utilisant cette version.). Je vous conseille de lire, si vous n'avez rien installé pour le moment, la version strictement textuelle, malgré sa lisibilité assez réduite , ou la version que l'on trouve en ligne sur le Web. 22.. IInnttrroodduuccttiioonn Si vous trouvez des erreurs (g toujours été très phaché avec l'aurtografe :-)), des commentaires, des oublis, ou juste pour me dire que ce guide est pratique, n'hésitez pas à m'envoyer un mail à l'adresse suivante : Eric.Dumas@freenix.org (merci d'utiliser le source SGML pour effectuer les corrections...). Les différents forums Usenet dans lesquels vous pouvez poster ont subi de nombreuses modifications : _f_r_._c_o_m_p_._o_s_._l_i_n_u_x devrait être détruit d'ici peu. Vous devriez donc avoir accès aux forums suivants : · _f_r_._c_o_m_p_._o_s_._l_i_n_u_x_._m_o_d_e_r_a_t_e_d (modéré) ; · _f_r_._c_o_m_p_._o_s_._l_i_n_u_x_._a_n_n_o_n_c_e_s (modéré) : annonces à faire à la communauté Linux francophone ; · _f_r_._c_o_m_p_._o_s_._l_i_n_u_x_._d_e_b_a_t_s ; · _f_r_._c_o_m_p_._o_s_._l_i_n_u_x_._c_o_n_f_i_g_u_r_a_t_i_o_n (modéré) : problèmes de configuration ; · _f_r_._m_i_s_c_._b_a_v_a_r_d_a_g_e_s_._l_i_n_u_x. Pensez à lire les chartes des différents forums, leur FAQ lorsqu'elle existe (étudier les Documentations Usenet fr ) ainsi que les derniers messages postés avant d'y publier un article. Les conseils prodigués par le présent document n'engagent que ceux qui les suivent : si vous cassez votre machine, si votre écran explose... c'est votre faute, pas la mienne ! _T_o_u_t_e_s _l_e_s _r_e_m_a_r_q_u_e_s _c_i_t_é_e_s _a_p_p_a_r_t_i_e_n_n_e_n_t _à _l_e_u_r _p_r_o_p_r_i_é_t_a_i_r_e (Comme le dit Juju, "profond ça !") _e_t _n_e _s_'_u_s_e_n_t _q_u_e _s_i _l_'_o_n _s_'_e_n _s_e_r_t. Je suis bien évidement ouvert à toute suggestion permettant l'évolution, l'amélioration et la meilleur diffusion de ce document. N'hésitez donc surtout pas à me contacter : c'est toujours un plaisir. 33.. FFeeuuiillllee dd''IInnffoorrmmaattiioonn LLiinnuuxx ((vv22..115533,, 11eerr AAooûûtt 11999988)) 33..11.. RRééssuumméé Ce document fournit des informations de base sur le système d'exploitation LLiinnuuxx, notamment une description de LLiinnuuxx, une liste de ses fonctionnalités et de ses exigences, et quelques pointeurs sur des informations complémentaires. 33..22.. LLiinnuuxx -- IInnttrroodduuccttiioonn LLiinnuuxx est une libre implantation totalement gratuite des spécifications POSIX, avec des extensions System V et Berkeley (ce qui signifie qu'il ressemble à Unix, mais ne provient pas du tout des mêmes sources), qui est disponible à la fois sous forme de code source et de binaires. Il est propriété de Linus B. Torvalds (torvalds@transmeta.com) ainsi que des autres contributeurs à ce projet et est librement diffusable selon les termes de la "GNU Public License". LLiinnuuxx ne relève ni du domaine public, ni du _p_a_r_t_a_g_i_c_i_e_l mais du "_l_o_g_i_c_i_e_l _l_i_b_r_e", appelé couramment "_g_r_a_t_i_c_i_e_l" ; vous pouvez en distribuer des copies mais vous devez fournir le code source correspondant ou au moins le rendre disponible de la même façon. Si vous y faites des modifications que vous diffusez, vous êtes légalement tenu de distribuer le code source de vos modifications. Consultez la "_l_i_c_e_n_c_e _p_u_b_l_i_q_u_e _g_é_n_é_r_a_l_e _G_N_U" (GPL) pour plus de détails. Vous en trouverez une copie dans l'arborescence des sources de LLiinnuuxx (fichier nommé "COPYING") ou par FTP sur le site prep.ai.mit.edu. LLiinnuuxx est libre et continuera de l'être. En raison de la nature du copyright GNU qui protège ce système, vouloir tout-à-coup changer cet état de fait serait illégal. Notez bien cependant qu'il est parfaitement autorisé de demander de l'argent pour distribuer LLiinnuuxx, du moment que vous fournissez aussi le code source et ne restreignez pas les droits de l'acheteur. Si vous désirez plus de précisions sur ce sujet, lisez la GPL ; nous n'avons fait que résumer les grandes lignes de cette licence. LLiinnuuxx fonctionne sur des machines 386/486/Pentium possédant un bus ISA, EISA ou PCI. MCA (le bus propriétaire d'IBM) est pour l'instant mal pris en charge car il y a peu de documentation disponible sur ce dinosaure et peu d'intérêt de la part des développeurs LLiinnuuxx, mais il existe malgré tout des "patches" pour certaines machines. Si vous êtes intéressé, voyez : Un portage vers les plateformes basées sur les processeurs Motorola 680x0 (actuellement des Amiga et Atari) est en cours. Cette version fonctionne d'ores et déjà de manière satisfaisante et nécessite un 68020 avec un gestionnaire de mémoire externe (MMU), un 68030, un 68040, ou un 68060, ainsi qu'un coprocesseur arithmétique. Le réseau et X sont fournis. LLiinnuuxx fonctionne également bien sur les processeurs Alpha de DEC/Compaq. Le portage de LLiinnuuxx vers Sparc progresse rapidement. LLiinnuuxx fonctionne sur la plupart des architectures Sparc, et la distribution Red Hat 4.0 inclut une version Sparc (en plus des versions x86 et AXP). Les portages vers d'autres machines, dont MIPS, PowerPC, et PowerMAC, sont en cours à des stades divers. Ne soyez pas trop impatient, mais si vous êtes intéressé et capable de contribuer à ces portages, vous pouvez trouver d'autres développeurs qui souhaiteraient travailler avec vous. Pour PowerMac, Apple et OSF ont effectué un portage de LLiinnuuxx au dessus du micro-noyau MMaacchh. Le résultat, appelé MMkklliinnuuxx, est encore en béta- test, mais peut déjà être utilisé. LLiinnuuxx n'est plus considéré comme un système en béta-test, depuis que la version 1.0 a été rendue disponible le 14 Mars 1994. Il existe toujours des bogues dans le système et de nouveaux bogues apparaîtront et seront corrigés au fur et à mesure du développement. Puisque LLiinnuuxx suit un modèle de développement ouvert, toutes les nouvelles versions seront accessibles au public, qu'elles soient considérées comme suffisament stables ou non. Cependant, afin d'aider les utilisateurs à déterminer si une version donnée est ou non considérée comme stable, une convention de numérotation spéciale a été mise au point. Les versions x.y.z, où y est un nombre pair, sont stables, et seules des corrections de bogues seront appliquées lorsque z est incrémenté. Par exemple, entre les versions 1.2.2 et 1.2.3, il y a eu uniquement des corrections, et aucun ajout de fonctionnalités. Les versions x.y.z, où y est un nombre impair, sont des versions en béta-test destinées aux développeurs uniquement, peuvent être instables, et contiennent de nouvelles fonctionnalités qui sont ajoutées au cours du développement. De temps en temps, quand le développement du noyau se stabilise, un "gel" intervient pour fournir une nouvelle version "stable" (paire), et le développement continue sur une nouvelle version (impaire). La version stable actuelle est 2.0.x (x changeant au fur et à mesure que de nouvelles corrections de bogues sont intégrées au noyau), et le développement devrait bientôt commencer sur des noyaux expérimentaux, numérotés 2.1.x. Si 2.0.x est trop récent pour vous, vous pouvez continuer d'utiliser la version 1.2.13 (version stable précédente). Le noyau est très stable depuis longtemps et la majorité des versions récentes peut être utilisée 24H/24 pendant des mois sans aucun réamorçage, plantage ou erreur fatale. Certains sites ne réamorcent leurs machines LLiinnuuxx qu'à l'occasion d'un changement majeur dans le noyau. Il faut garder à l'esprit que LLiinnuuxx est developpé selon un modèle ouvert et réparti, contrairement à la plupart des logiciels connus qui évoluent souvent selon un modèle fermé et centralisé. Ceci signifie que la version courante de développement est toujours publique (avec une ou deux semaines de retard) afin que tout le monde puisse l'utiliser. Une version apportant de nouvelles fonctionnalités contient par conséquent presque toujours des bogues, mais ceux-ci sont découverts et corrigés rapidement, souvent en quelques heures, car ceux qui y travaillent sont nombreux. Il est donc facile pour un utilisateur final de les éviter. À l'opposé, le modèle fermé et centralisé signifie que seule une personne ou une équipe travaille sur le projet et qu'elle ne diffuse un programme que lorsqu'elle considère qu'il fonctionne bien. Ceci implique souvent de longs intervalles entre les versions, de longs délais avant correction des bogues et un développement moins rapide. Bien sûr, la version la plus récente d'un programme réalisé ainsi est souvent de bonne qualité, mais le développement en est bien plus lent. Au 1er août 1998, la version stable de LLiinnuuxx est 2.0.35, et la version de développement est 2.1.113. La version 2.0 est la référence stable destinée à servir de plate- forme fiable lors du développement de la version 2.1, qui va permettre d'ajouter de nouvelles possibilités et d'essayer des solutions audacieuses et modernes au coeur de LLiinnuuxx (IP v6 entre autres). Les versions 1.0 et 1.2 sont maintenant obsolètes. Une fois arrivée à maturité, cette version 2.1 donnera naissance à LLiinnuuxx 2.2 ou 3.0, et le jeu continuera de plus belle. 33..33.. CCaarraaccttéérriissttiiqquueess ddee LLiinnuuxx · Multi-tâches : exécute plusieurs programmes en pseudo-parallélisme. · Multi-utilisateurs : plusieurs utilisateurs actifs sur la même machine en même temps (et sans licence multi-utilisateurs !). · Multi plates-formes : il fonctionne sur différents processeurs, et pas seulement sur Intel. · Exécution en mode protégé sur les processeurs x86. · Protection de la mémoire entre les processus, afin qu'un programme ne puisse à lui seul compromettre le fonctionnement de l'ensemble du système. · Chargement des exécutables à la demande : LLiinnuuxx ne lit sur le disque que les parties effectivement utilisées d'un programme. · Partage des pages entre exécutables avec copie en écriture. Cela signifie que des processus multiples peuvent partager la même mémoire. Lorsque l'un d'eux tente d'y écrire, cette page (4Ko de mémoire sur processeurs x86) est copiée ailleurs. Ceci accroît les performances et réduit l'occupation mémoire. · Mémoire virtuelle utilisant la pagination (et non pas le "swap" de processus entiers) sur disque, grâce à une partition, un fichier ou les deux, avec la possibilité d'ajouter et de retirer de nouvelles zones de swap dynamiquement. Jusqu'à 16 zones de 128 Mo peuvent être utilisées simultanément, soit un total de 2 Go de swap disponible. · Réserve de mémoire commune aux programmes utilisateur et au cache disque (afin que toute la mémoire libre puisse être utilisée pour le cache qui ne sera réduit que lors de l'exécution programmes exigeant de la mémoire) : LLiinnuuxx utilise au mieux à chaque instant TOUTE la mémoire disponible sur la machine. · Bibliothèques partagées liées dynamiquement (DLL a.out, et ELF) ; des bibliothèques statiques sont bien entendu également disponibles. · Sauvegarde d'image-mémoire (_c_o_r_e_-_d_u_m_p) lors du plantage d'un programme, à des fins d'analyse post-mortem effectuée grâce à un débogueur. · Très conforme à POSIX, compatible System V et BSD au niveau programme source. Support des binaires COFF et ELF. · Bonne compatibilité binaire avec SCO, SVR3 et SVR4, grâce à un module d'émulation conforme iBCS2. · Tous les sources sont disponibles : le noyau, les pilotes, les outils de développement et tous les programmes utilisateur. De plus, ils sont librement diffusables. Il existe bien quelques applications commerciales pour LLiinnuuxx diffusées sans leurs sources, mais tout ce qui a été libre l'est toujours et le restera. · Contrôle de processus POSIX (_j_o_b _c_o_n_t_r_o_l). · Pseudo-terminaux (_p_t_y_'_s). · Émulation du coprocesseur dans le noyau afin qu'il ne soit pas nécessaire de l'inclure dans les programmes. Tout ordinateur exécutant LLiinnuuxx semble ainsi doté d'un coprocesseur mathématique. Bien entendu, si votre ordinateur comporte déjà un coprocesseur, LLiinnuuxx l'utilisera à la place de l'émulation. Vous pourrez recompiler votre noyau pour éliminer le code de l'émulateur (dont les fonctions seront prises en charge par le FPU), et gagner un peu de mémoire vive. · De nombreux claviers nationaux ou personnalisés sont définis et il est assez facile d'en ajouter de nouveaux. · Consoles virtuelles multiples : plusieurs sessions indépendantes accessibles par une combinaison de touches (indépendamment de la carte vidéo utilisée). Elles sont allouées dynamiquement et l'on peut en utiliser jusqu'à 63 simultanément. · Plusieurs systèmes de fichiers reconnus comme minix-1, _X_e_n_i_x, et les plus courants de System V, en plus d'un système très perfectionné (Ext2fs), offrant des noms de 255 caractères et une taille pouvant atteindre 4 To. · Accès transparent aux partitions MS-DOS (ou aux partitions FAT OS/2) via un système de fichiers spécial : vous n'avez pas besoin de commandes particulières pour utiliser une partition MS- DOS. Elle ressemble a une partition Unix (sauf pour la taille du nom des fichiers, les permissions d'accès, etc). Les partitions compressées de MS-DOS 6 ne sont pas encore reconnues mais il existe un _p_a_t_c_h (dmsdosfs). Le type VFAT (MS-Windows NT, MS- Windows 95) est pris en charge depuis la version 2.0. De plus, il existe un "patch" permettant d'accéder au système de fichiers NTFS (la version 2.1 du noyau intègre directement cette fonctionnalité). · Système de fichiers spécial nommé UMSDOS, autorisant l'installation de LLiinnuuxx directement sur une partition MS-DOS (les performances sont bien sûr grevées mais c'est très utile pour une installation provisoire). · Lecture seule du système de fichiers HPFS-2 de OS/2 V 2.1. · Lecture seule du système de fichiers HFS (Macintosh) disponible sous forme de module pouvant être chargé à la demande. · Lecture seule du système de fichiers EFS (Silicon Graphics) disponible sous forme de module pouvant être chargé à la demande. · Système de fichiers ISO 9660, qui permet de lire tous les CD-ROM conformes à ce standard quasi universel. Depuis peu, le format Joliet est également reconnu. · TCP/IP, incluant tous les outils comme ftp, telnet, NFS, etc. · Pile de protocoles réseau _A_p_p_l_e_t_a_l_k. · Client et serveur _N_e_t_w_a_r_e. · Client et serveur _L_a_n _M_a_n_a_g_e_r (SMB). · X Window System (X11R6) sous la forme de XFree86 3.2, gérant l'essentiel des cartes vidéo et des souris disponibles sur PC (y compris la carte monochrome Hercules...). · Gestion des principales cartes sonores. 33..44.. MMaattéérriieell 33..44..11.. CCoonnffiigguurraattiioonn mmiinniimmaallee La configuration suivante est probablement la plus petite configuration possible sur laquelle LLiinnuuxx peut fonctionner : 386SX/16, 2 Mo RAM, un lecteur 1.44 Mo ou 1.2 Mo, n'importe quelle carte vidéo reconnue. Elle devrait vous permettre d'amorcer le système et de tester si LLiinnuuxx tourne sur votre machine, mais vous ne serez pas en mesure de faire quoi que ce soit d'utile. (NDR : 4 Mo sont quasiment indispensables.) Pour y parvenir, vous aurez aussi besoin d'espace disque : 5 à 10 Mo devraient suffire pour un système minimal ne comportant que les commandes les plus importantes et peut-être une ou deux petites applications, comme par exemple un programme d'émulation de terminal. Ceci reste très, très limité et très inconfortable, puisqu'il ne reste pas assez de place pour faire quoi que ce soit, sauf grâce à de minuscules applications. Ceci n'est généralement pas recommandé, sauf pour tester si le noyau fonctionne et bien sûr pour pouvoir se vanter des faibles ressources matérielles nécessaires. 33..44..22.. CCoonnffiigguurraattiioonn rreeccoommmmaannddééee Si vous souhaitez utiliser des programmes travaillant intensivement, comme ggcccc, XX et TTeeXX, vous voudrez probablement un processeur plus rapide qu'un 386SX/16, qui devrait cependant suffire si vous êtes patient. En pratique, vous avez besoin d'au moins 4 Mo si vous n'utilisez pas X11 et d'au moins 8 Mo si vous l'utilisez. De plus, si vous voulez que soient simultanément actifs plusieurs utilisateurs ou plusieurs gros programmes (comme des compilations), plus de 4 Mo sont souhaitables. Tout fonctionnera avec moins de RAM (même avec 2 Mo), mais Linux utilisera alors la mémoire virtuelle (le disque dur servant de mémoire lente) et l'ensemble s'en trouvera considérablement ralenti, au point de s'avérer inutilisable. La quantité d'espace disque nécessaire dépend des programmes que vous voulez installer. La série de base des utilitaires, shells et programmes d'administration devrait tenir sur un peu moins de 10 Mo, plus un peu de place pour les fichiers utilisateurs. Pour un système plus complet, Il est courant d'obtenir des valeurs de l'ordre de 20/30 Mo si vous n'utilisez pas X Window, et 40 Mo sinon (il n'est ici question que des binaires, les sources demeurent "nettement" plus encombrants). Ajoutez l'espace disque que vous voulez réserver aux utilisateurs. Étant donné le prix de la mémoire de masse de nos jours, si vous achetez une nouvelle machine, il est ridicule de l'équiper d'un disque dur de faible capacité. Prenez au moins 1 Go, vous ne le regretterez pas. Ajoutez plus de mémoire vive, de disque dur, un processeur plus rapide selon vos besoins, vos souhaits et votre budget pour aller au-delà d'un système à peine utilisable. En général, la grosse différence entre LLiinnuuxx et MS-DOS est qu'ajouter de la mémoire à LLiinnuuxx entraîne un gros gain de performances, ce qui n'est pas vraiment le cas avec MS-DOS. Ceci est bien sûr en rapport avec la limite des 640 Ko directement exploitables sous MS-DOS, qui n'a aucun sens sous LLiinnuuxx. Si vous trouvez votre système trop lent, AJOUTEZ DE LA MEMOIRE avant de dépenser des sommes folles pour un processeur plus puissant. Sur un 386, passer de 4 à 8 Mo de mémoire peut multiplier la vitesse d'exécution par un facteur de 10 ou 20... 33..44..33.. MMaattéérriieell pprriiss eenn cchhaarrggee UUnniittééss cceennttrraalleess :: toutes celles qui exécutent des programmes en mode protégé 386 (tous les modèles de 386, 486, 586 et 686) conviennent. Les processeurs 286 et inférieurs pourront peut-être être exploités un jour par un noyau plus petit appelé ELKS (_E_m_b_e_d_d_a_b_l_e _L_i_n_u_x _K_e_r_n_e_l _S_u_b_s_e_t), mais n'espérez pas disposer alors des mêmes fonctionnalités. Une version pour les processeurs 680x0 (avec x=2 plus MMU externe, 3 et 4) pour Amiga et Atari se trouve dans le répertoire 680x0 des sites LLiinnuuxx. De nombreuses architectures Alpha sont compatibles avec Linux, ainsi que certaines machines Sparc. Des portages vers PowerPC, ARM et MIPS sont aussi en cours. AArrcchhiitteeccttuurree :: bus ISA et EISA. Le support du bus MCA est incomplet (voir plus haut). Les bus locaux (VLB et PCI) sont supportés. LLiinnuuxx exploite le matériel de manière plus fine que MS-DOS, MS- Windows, et les autres systèmes d'exploitation en général. Cela signifie que certains matériels marginaux qui conviennent pour d'autres systèmes d'exploitation peuvent se révéler non fiables sous LLiinnuuxx. LLiinnuuxx est, entre autres, un excellent testeur de mémoire... RRAAMM :: en théorie, jusqu'à un 1 Go; plus sur les plateformes 64 bits, mais cette quantité de mémoire n'a jamais été testée. Attention : certaines personnes (dont Linus Torvalds) ont remarqué qu'ajouter de la mémoire sans dans le même temps augmenter la quantité de cache peut ralentir la machine dans des proportions considérables. Au-delà de 64 Mo, il faut spécifier la quantité de mémoire en paramètre lors de l'amorçage car le BIOS des PC est limité et ne sait pas indiquer plus de 64 Mo. SSttoocckkaaggee ddeess ddoonnnnééeess :: les disques AT génériques (IDE, contrôleurs de disque dur 16 bit avec MFM ou RLL) sont reconnus, comme les disques durs SCSI et les CD-ROMs dotés d'une interface SCSI adéquate. Les contrôleurs génériques XT (contrôleurs 8 bits avec MFM ou RLL) nécessitent un pilote spécial intégré à la distribution standard du noyau. Les cartes SCSI supportées sont : Adaptec 1542, 1522, 1740, et séries 27xx et 29xx, les contrôleurs Buslogic (à l'exception du "Flashpoint"), les contrôleurs basés sur le circuit NCR53c810, les contrôleurs DPT, Seagate ST-01 et ST-02, les séries Future Domain TMC-88x (et toute carte basé sur le processeur TMC950) et TMC 1660/1680, Ultrastor 14F, 24F, et 34F, Western Digital wd7000, et d'autres. Les lecteurs de cartouches SCSI, QIC-02 et certains QIC-80 sont également supportés. Plusieurs lecteurs de CD-ROM sont également gérés, dont Matsushita/Panasonic, Mitsumi, Sony, Soundblaster, Toshiba, ATAPI (EIDE), et les lecteurs SCSI. Pour les références exactes des modèles supportés, consultez le "Hardware HOWTO". VViiddééoo :: les cartes VGA, EGA, CGA et Hercules fonctionnent en mode texte. Pour les modes graphiques, les cartes Hercules, EGA, VGA normales, quelques cartes super VGA (la plupart des cartes à base de puces ET-3000, ET-4000, Paradise et Trident), de nombreuses cartes S3 sont reconnues, ainsi que 8514/A, ATI MACH8, ATI MACH32. LLiinnuuxx utilise le serveur X XXFFrreeee8866, ce qui détermine quelles cartes fonctionnent. Les performances de certaines cartes accélérées sont impressionnantes. Attention si vous achetez une carte vidéo de marque Matrox : ce constructeur a longtemps refusé de fournir les spécifications nécessaires à la programmation d'un pilote gratuit et en sources, permettant de les exploiter sous Linux. Elles ne sont, pour l'instant, supportées efficacement que par des versions commerciales de X Window (de marque "Metro-X" ou "Xinside"). Il existe, certes, un pilote pour les cartes Matrox Millenium à partir de XFree86 3.2 et pour la Matrox Mystique à partir de XFree86 3.3, mais il est encore minimal (il n'exploite pas toutes les fonctionnalités), et est considéré comme une version bêta. RRéésseeaauu :: Western Digital 80x3, ne1000, ne2000, 3com503, 3com509, 3com589 PCMCIA, Allied Telliesis AT1500, la plupart des cartes LANCE, adaptateurs d-link pocket, SLIP, CSLIP, PLIP (IP sur ports parallèles), PPP, et bien d'autres... De nouveaux pilotes paraissent régulièrement. PPoorrttss sséérriiee :: la plupart des cartes utilisant des UART 16450 et 16550, dont entre autres les _A_S_T _F_o_u_r_p_o_r_t, _U_s_e_n_e_t _S_e_r_i_a_l _C_a_r_d _I_I, etc. Parmi les cartes série intelligentes reconnues, citons les gammes _C_y_c_l_a_d_e_s _C_y_c_l_o_m, _C_o_m_t_r_o_l _R_o_c_k_e_t_p_o_r_t et _S_t_a_l_l_i_o_n (toutes gammes supportées par leurs constructeurs), et _D_i_g_i (certains modèles). Certains équipements RNIS, frame relay et pour ligne louée, sont également supportés. AAuuttrreess mmaattéérriieellss :: Cartes Soundblaster, ProAudio Spectrum 16, Gravis Ultrasound, la plupart des autres cartes son, plusieurs types de souris bus (Microsoft, Logitech, PS/2). 33..55.. LLiissttee iinnccoommppllèèttee ddee pprrooggrraammmmeess ddiissppoonniibblleess La plupart des outils et des programmes classiques d'Unix ont été portés vers LLiinnuuxx, ce qui comprend presque tous les programmes GNU et de nombreux clients X provenant de diverses sources. En fait, le mot "portage" est souvent exagéré, puisqu'un grand nombre d'applications ont été compilées sans modification ou presque en raison de la forte conformité à POSIX de LLiinnuuxx. Malheureusement, il n'existe pour le moment qu'assez peu d'applications pour l'utilisateur final, mais cela a récemment commencé à changer. Voici néanmoins une liste très réduite de programmes qui fonctionnent sous LLiinnuuxx. CCoommmmaannddeess UUnniixx ddee bbaassee :: ls, tr, sed, awk, etc ... Pratiquement tout y est. OOuuttiillss ddee ddéévveellooppppeemmeenntt :: gcc, gdb, make, bison, flex, perl, rcs, cvs, prof. LLaannggaaggeess eett eennvviirroonnnneemmeennttss :: C, C++, Objective C, Modula-3, Modula-2, Oberon, Ada95, Pascal, Fortran, ML, scheme, Tcl/tk, Perl, Python, Common Lisp, et bien d'autres. EEnnvviirroonnnneemmeennttss ggrraapphhiiqquueess :: X11R5 (XFree86 2.x), X11R6 (XFree86 3.x), MGR. EEddiitteeuurrss :: GNU Emacs, XEmacs, MicroEmacs, jove, ez, epoch, elvis (GNU vi), vim (clone vi), vile, joe, pico, jed et bien d'autres. SShheellllss :: Bash (Bourne-shell compatible POSIX), zsh (incluant la compatibilité ksh), pdksh, tcsh, csh, rc, es, ash (Bourne-shell utilisé par BSD) et bien d'autres. TTééllééccoommmmuunniiccaattiioonnss :: Taylor (compatible BNU) UUCP, SLIP, CSLIP, PPP, kermit, szrz (Zmodem), minicom, pcomm, xcomm, term/slap (exécute plusieurs shells, redirige les connexions réseau, et permet les affichages de fenêtres X-Window, sur une seule ligne téléphonique) Seyon (programme de communication sous X-Window) et de nombreux programmes de télécopie et de transmission de la voix. Bien entendu, les accès distants en mode terminal par ligne série sont supportés en standard. NNeewwss eett mmaaiill :: C-news, INN, trn, nn, tin, sendmail, smail, elm, mh, pine, etc. FFoorrmmaatteeuurrss ddee tteexxttee :: TeX, LaTeX, groff, doc, ez, Linuxdoc-SGML, etc. JJeeuuxx :: Nethack, de nombreux jeux sous X11, dont DOOM. L'un des jeux les plus passionnants consiste à rechercher tous ceux qui sont disponibles sur les sites diffusant LLiinnuuxx... Tous ces programmes (qui ne représentent pas le centième de ce qui existe) sont bien entendu disponibles gratuitement. Les applications commerciales commencent à exister, demandez à votre fournisseur si votre logiciel préféré a été porté sous LLiinnuuxx. (NDR : une liste des programmes portés pour LLiinnuuxx est disponible. Elle est contenue dans le fichier LSM*.*, ou _L_i_n_u_x _S_o_f_t_w_a_r_e _M_a_p) 33..66.. QQuuii uuttiilliissee LLiinnuuxx ?? LLiinnuuxx est disponible gratuitement et il n'est demandé à personne d'enregistrer ses copies à une autorité quelconque ; aussi est-il très difficile de savoir combien de personnes dans le monde utilisent ce système d'exploitation. Plusieurs sociétés commerciales se consacrent exclusivement à la vente et au support de LLiinnuuxx (ce n'est pas interdit) mais leur clientèle ne constitue qu'une minorité des utilisateurs de Linux. Les groupes LLiinnuuxx sur Usenet sont parmi les plus lus selon les statistiques, on pourrait donc penser que plusieurs centaines de milliers d'utilisateurs ou de personnes intéressées. Toutefois, Harald T. Alvestrand a décidé d'essayer de compter tant bien que mal les utilisateurs de LLiinnuuxx. Il demande que vous postiez un courrier électronique à l'adresse linux- counter@uninett.no, avec l'une des phrases suivantes dans le SUJET du message : "I use Linux at home", "I use Linux at work", ou "I use Linux at home and at work". Il compte aussi les votes contenant "I don't use Linux", au passage. Il diffuse périodiquement ces statistiques dans comp.os.linux.misc. Il est possible de remplir un formulaire plus détaillé, pour enregistrer des amis n'ayant pas la possibilité de poster du courrier électronique. Ce compteur est fatalement assez pessimiste. Lors de la conférence LLiinnuuxx de Berlin de 1995, il a été annoncé une estimation à plus d'un million d'utilisateurs actifs dans le monde ; sans autre précision quant au mode de détermination de ce nombre. 33..77.. DDooccuummeennttaattiioonn Matt Welsh a écrit un guide de plus de 300 pages decrivant comment installer et configurer LLiinnuuxx. Il est disponible sur les principaux sites diffusant le système, sous la forme de sources LaTeX aussi bien que DVI, PostScript, et ASCII. (Cet ouvrage a été traduit en français, vous le trouverez sur les sites diffusant LLiinnuuxx en france en sources LaTeX, sortie DVI et PostScript sous le nom install-guide-french-2.2.2.*). Il est aussi vendu par certaines personnes ou organismes sous forme imprimée. De même, le projet de documentation LLiinnuuxx (Linux Doc Project, LDP), diffuse plusieurs autres ouvrages dans un état d'avancement plus ou moins complet. Lisez le groupe comp.os.linux.announce, LLiinnuuxx est en passe d'être aussi bien documenté que ses équivalents commerciaux... Et ceci gratuitement bien sûr. Dans le commerce, il faut noter la sortie de deux ouvrages en version française chez O'Reilly : "Le système Linux", guide de plus de 600 pages par Matt Welsh, et "Administration Réseau sous LLiinnuuxx", par Olaf Kirch. Les titres originaux de ces livres sont respectivement "Running Linux" et "Linux Network Administration Guide". Ce dernier est également disponible en téléchargement gratuit, sous forme de son code source LaTeX (l'archive s'appelle nag.french.eoit-1.0.tar.gz). La série des documents _H_O_W_T_O_'_s, et le _G_u_i_d_e _d_u _R_o_o_t_a_r_d, disponibles librement, sont quasiment indispensables, consultez la section "_c_o_m_m_e_n_t _d_é_b_u_t_e_r" pour plus de détails à ce sujet. 33..88.. CCoommmmeenntt ssee pprrooccuurreerr LLiinnuuxx eenn FFrraannccee 33..88..11.. PPaarr ll''IInntteerrnneett Si vous avez la chance d'accéder à une machine connectée à l'Internet, vous pouvez récupérer LLiinnuuxx facilement sur l'un de ces sites : Nom du site Adresse IP Répertoire Linux ============================= =============== ================ ftp.lip6.fr (FRANCE) 195.83.118.1 /pub/linux ftp.calvacom.fr (FRANCE) 194.2.168.3 /pub/linux/slackware ftp.change-espace.fr(FRANCE) 195.6.132.1 /pub/Linux ftp.ese-metz.fr (FRANCE) 193.48.224.106 /pub/Linux ftp.info.iut-tlse3.fr 192.134.157.5 /pub/debian ftp.iut-bm.univ-fcomte.fr 193.52.61.33 /pub/linux ftp.loria.fr (FRANCE) 152.81.10.10 /pub/linux ftp.univ-angers.fr (FRANCE) 193.49.144.10 /pub/Linux lirftp.insa-rouen.fr(FRANCE) 193.49.9.163 /pub/linux stef.u-picardie.fr (FRANCE) 193.49.184.23 /pub/linux tsx-11.mit.edu 18.172.1.2 /pub/linux sunsite.unc.edu 152.2.22.81 /pub/Linux ftp.funet.fi 128.214.248.6 /pub/Linux net.tamu.edu 128.194.177.1 /pub/linux ftp.mcc.ac.uk 130.88.203.12 /pub/linux sunsite.doc.ic.ac.uk 146.169.2.1 /packages/linux fgb1.fgb.mw.tu-muenchen.de 129.187.200.1 /pub/linux ftp.informatik.tu-muenchen.de 131.159.0.110 /pub/comp/os/linux ftp.dfv.rwth-aachen.de 137.226.4.111 /pub/linux ftp.informatik.rwth-aachen.de 137.226.225.3 /pub/Linux ftp.Germany.EU.net 192.76.144.75 /pub/os/Linux ftp.uu.net 137.39.1.9 /systems/unix/linux wuarchive.wustl.edu 128.252.135.4 /mirrors/linux ftp.win.tue.nl 131.155.70.100 /pub/linux ftp.stack.urc.tue.nl 131.155.2.71 /pub/linux srawgw.sra.co.jp 133.137.4.3 /pub/os/linux cair.kaist.ac.kr /pub/Linux ftp.denet.dk 129.142.6.74 /pub/OS/linux NCTUCCCA.edu.tw 140.111.1.10 /Operating-Systems/Linux sunsite.cnlab-switch.ch 195.176.255.9 /mirror/linux cnuce_arch.cnr.it 131.114.1.10 /pub/Linux ftp.monash.edu.au 130.194.11.8 /pub/linux ftp.dstc.edu.au 130.102.181.31 /pub/linux ftp.sydutech.usyd.edu.au 129.78.192.2 /pub/linux 33..88..22.. PPaarr ttéélléépphhoonnee Si vous ne possédez qu'un modem (au moins 9600 bps, il faut être raisonnable et vivre avec son temps) vous pouvez télécharger LLiinnuuxx sans restriction d'accès sur différents BBS ou différentes machines Unix ou LLiinnuuxx de particuliers, mettant leur système à disposition de tous pour rendre service : brasil 01 44 67 08 44 Bulletin Board System polux 01 43 45 80 40 Site Linux uucp/PPP/shell gyptis 04 91 60 43 61 shagshag 01 40 30 04 68 Site Linux stdin BBS 04 72 34 54 37 Bulletin Board System Le Lien 04 72 08 98 79 Bulletin Board System Suptel Nancy 03 83 53 16 17 Bulletin Board System 03 83 53 20 21 MtelTls 05 61 37 11 62 Bulletin Board System (Toulouse) 05 61 37 07 52 cygnux BBS 01 39 94 95 76 Bulletin Board System 01 39 94 29 47 zenux 04 78 36 10 01 (VF 24k) Passerelle Internet Dedal. Site Linux uucp/SLIP/PPP/shell RadioAm TCP/IP et AX25 afflynn 01 45 65 09 21 Viking 04 76 93 13 48 (Acces PPP en 33 600 - Grenoble) 3 lignes groupees (Info http://www.voiron.com/viking/) alphanet +41 (0) 32 8414081 V34 Acces BBS (guest), +41 (0) 32 8414037 ISDN X.75 ou nuucp (~/archives/README, +41 (0) 32 8414004 V32bis ~/archives/ls-laR.gz) Certaines machines appartiennent à des particuliers et ne sont pas forcément en service 24H/24. D'autres BBS français possèdent des fichiers LLiinnuuxx, toutefois ils ne sont pas automatiquement (ou régulièrement) mis à jour comme le sont ceux cités ici. Si vous ne possédez même pas de modem, commencez par en regarder les prix, c'est un périphérique très utile à notre époque. Vous pouvez également vous procurer LLiinnuuxx sous forme de CD-ROM vendu par différents distributeurs de shareware/freeware. Toutefois, il vous faut savoir que les délais de fabrication ne permettent pas de tenir ces supports à jour. Certains sont parfaitement utilisables et très complets mais d'autres sont totalement dépassés. 33..88..33.. SSuurr CCDD--RROOMM ppaarr ccoorrrreessppoonnddaannccee Certains fournisseurs vendent des CD-ROMS contenant Linux, quelques-uns seront bientôt référencés dans ce document ; pour l'instant, reportez-vous à leurs annonces dans les _N_e_w_s _U_s_e_n_e_t. 33..99.. CCoommmmeenntt ddéébbuutteerr Comme il est expliqué ci-dessus LLiinnuuxx n'est pas géré de manière centralisée. De par ce fait, il n'en existe pas de "distribution officielle" (certains y travaillent toutefois). A la place, il existe différentes "distributions", qui sont des collections plus ou moins complètes de programmes LLiinnuuxx, destinées à installer un système en état de fonctionnement. Il faut commencer par récupérer et LIRE la liste des "Frequently Asked Questions" (FAQ) disponible sur l'un des sites cités précédemment, ou pris sur l'un des sites archivant les FAQ'S Usenet en général (par exemple, rtfm.mit.edu ou l'un de ses miroirs français comme ftp.lip6.fr dans le répertoire /pub/doc/faqs). Ces documents contiennent des centaines de renseignements permettant de résoudre la plupart de vos problèmes. La lecture du "GUIDE DU ROOTARD", créé par Julien Simon et désormais maintenu par Eric Dumas, est chaudement recommandée, surtout si vous ne lisez pas bien l'anglais. Ce fichier, entièrement rédigé en français, rassemble la traduction de considérations essentielles sur LLiinnuuxx, ainsi que nombre de trucs astuces, expliqués quotidiennement dans les _n_e_w_s_g_r_o_u_p_s ou conférences francophones dediés à LLiinnuuxx. Il est bien entendu disponible sur la majorité des sites francais diffusant le système, sa source officielle étant ftp.lip6.fr, répertoire /pub/linux/french/docs/GRL. Il est également disponible sur le Web à l'URL . Les "HOWTO", petits guides traitant chacun d'un domaine de LLiinnuuxx, sont une lecture indispensable. La plupart d'entre eux est disponible en version française dans le répertoire /pub/linux/french/docs/HOWTO sur le site ftp.lip6.fr. Si vous avez accès au Web vous pouvez également trouver de précieux renseignements sur les URL : · · · · · Si le monde UNIX est tout nouveau pour vous, et que LLiinnuuxx est votre premier contact avec ce domaine passionnant, suivez aabbssoolluummeenntt les conseils suivants : · Ne vous ruez pas sur les forums de discussion LLiinnuuxx pour poser mille questions auxquelles tout le monde est lassé de répondre. Lisez les quelques semaines auparavant, voyez ce qui s'y passe, consultez-en les archives mises à disposition sur certains sites, et il y a fort à parier que vous trouverez ce que vous cherchez sans déranger personne. · LLiinnuuxx est un système UNIX parmi d'autres, et par conséquent toute la littérature spécifique à UNIX s'y applique. On n'apprend pas à maîtriser un nouveau système d'exploitation sans un minimum d'effort de documentation, souvenez-vous du temps qu'il vous a fallu pour maîtriser celui avec lequel vous travailliez auparavant, et des nombreux ouvrages que vous avez du consulter pour arriver à vos fins. · Procurez-vous et lisez attentivement tous les ouvrages gratuits rédigés sur LLiinnuuxx, en particulier le guide d'installation et d'initiation de Matt Welsh et le manuel d'administration réseau d'Olaf Kirch, disponibles en version française, ainsi que le "Guide du Rootard". Ils contiennent les bases indispensables à votre apprentissage du système. Il ne vous sera pas pardonné de poser une question dont la réponse est contenue dans l'un de ces livres, ou dans l'un des documents complémentaires "HOWTO" disponibles tout aussi librement sur les sites diffusant LLiinnuuxx. · Expérimentez, tentez de comprendre et de résoudre votre problème vous-même : c'est le meilleur apprentissage. Vous n'arriverez jamais à rien si vous faites tout faire par les autres. LLiinnuuxx et ses différentes documentations représentent des milliers d'heures de travail bénévole de centaines de développeurs, rédacteurs, traducteurs, testeurs ; ne condamnez pas le système si vous n'arrivez pas à en tirer parti parce que vous refusez de faire à votre tour un tout petit effort. 33..1100.. LLeess ggrroouuppeess UUsseenneett ccoonnssaaccrrééss àà LLiinnuuxx LLiinnuuxx fait l'objet sur Usenet de 13 _n_e_w_s_g_r_o_u_p_s en langue Anglaise et de trois en langue française, diffusés au moins en France, Suisse, Belgique et au Canada. Le premier groupe destiné aux francophones est fr.comp.os.linux. Il accueille les discussions sur LLiinnuuxx et est diffusé, hors Usenet, par certains BBS, sous forme de conférence dite "Linux" ou "Linux.fr", ce qui explique le format parfois inhabituel de certains articles. Les articles postés dans fr.comp.os.linux sont archivés régulièrement sur le site ftp.lip6.fr dans le répertoire /pub/linux/french/fr.comp.os.linux. Un autre groupe destiné aux francophones est fr.comp.os.linux.annonces. Il est modéré par Nat Makarévitch et François Pétillon et accueille les annonces destinées à la communauté Linux francophone, ainsi que les versions françaises des documentations LLiinnuuxx. Les articles de ce groupe sont également archivés sur ftp.lip6.fr. Enfin, le groupe fr.comp.os.linux.moderated est modéré par une équipe de modérateurs et accueille les discussions techniques sur Linux. Il a été créé afin d'être un groupe consacré à Linux, sans contenir le « bruit » présent dans fr.comp.os.linux. De même que les deux groupes précédents, ce groupe est archivé sur ftp.lip6.fr. Le groupe comp.os.linux.announce est modéré par Lars Wirzenius. Il recèle les annonces concernant LLiinnuuxx (nouveaux programmes, corrections de bogues, etc). L'adresse à laquelle les soumissions doivent être envoyées est linux-announce@news.ornl.gov. Les diverses documentations sont régulièrement postées dans le groupe modéré comp.os.linux.answers. Le groupe non modéré comp.os.linux.setup est prévu pour les discussions sur la mise en oeuvre et sur l'administration de systèmes LLiinnuuxx. Le groupe non modéré comp.os.linux.development.system est prévu pour les discussions sur le développement du _n_o_y_a_u LLiinnuuxx. Les questions portant sur le développement d'applications doivent être dirigées vers comp.os.linux.development.apps ou un groupe lié à Unix. Le groupe non modéré comp.os.linux.development.apps est prévu pour les discussions sur le développement d'applications spécifiques à LLiinnuuxx. Il n'est pas prévu pour contenir les demandes d'applications pour LLiinnuuxx. Le groupe non modéré comp.os.linux.hardware est prévu pour les questions portant sur les aspects matériels spécifiques à LLiinnuuxx. Les groupes non modérés comp.os.linux.alpha, comp.os.linux.m68k et comp.os.linux.powerpc sont prévus pour les discussions concernant les aspects spécifiques de Linux sur les architectures basées sur les processeurs Alpha, 680x0 et PowerPC. Le groupe non modéré comp.os.linux.networking est prévu pour les discussions sur le développement et la configuration des outils de gestion du réseau sous LLiinnuuxx. Le groupe non modéré comp.os.linux.x est prévu pour les discussions sur X-window spécifiques à LLiinnuuxx. Le groupe non modéré comp.os.linux.advocacy est prévu pour les fanatiques désireux de chanter les louanges de leur système préféré. Il est conseillé de l'éviter car il contient principalement des querelles stériles en tous genres. Le groupe non modéré comp.os.linux.misc est prévu pour contenir toutes les discussions et questions qui ne correspondent à aucun des thèmes des autres groupes. En général, nnee _c_r_o_s_s_p_o_s_t_e_z ppaass entre plusieurs groupes LLiinnuuxx. Le sseeuull cas où les _c_r_o_s_s_p_o_s_t_s sont tolérés est celui où un article est posté dans comp.os.linux.announce et un autre groupe. Le but de la division du groupe original comp.os.linux en plusieurs groupes était de réduire le trafic dans chaque groupe. Ceux qui ne respectent pas cette règle risquent d'être insultés sans pitié ... AAtttteennttiioonn :: Avant d'intervenir dans les groupes Usenet, soyez sûr de connaître les règles de savoir-vivre Usenet, la fameuse "Netiquette". Consultez notamment l'URL . De plus, lorsque vous souhaitez poster une question dans un groupe Usenet afin d'exposer un problème rencontré, veillez à inclure le maximum d'informations dans votre question : version du noyau (commande "uname -a"), de la bibliothèque C (en tant que root, commande "/sbin/ldconfig -v"), du ou des programmes causant le problème, fichiers de configuration utilisés, distribution Linux installée, traces d'exécution, extraits des fichiers d'historique (situés dans les répertoires /var/adm et/ou /var/log), etc. Enfin, lorsque vous possédez la réponse à une question postée dans un groupe de discussion, examinez le fil de discussion correspondant afin de déterminer si la réponse n'a pas déjà été postée par quelqu'un d'autre. Il est, en effet, assez peu agréable de voir des fils de discussion composés d'une question et de plusieurs articles répétant la même réponse. 33..1111.. AAuuttrreess ggrroouuppeess UUsseenneett Ne considérez pas que vous devez envoyer vos questions dans les groupes LLiinnuuxx uniquement parce que vous utilisez LLiinnuuxx. De nombreuses questions sont suffisament générales et peu liées à LLiinnuuxx lui-même pour être postées dans d'autres groupes où elles toucheront une audience plus large ou plus avertie. La hiérarchie francophone contient plusieurs groupes qui peuvent être utilisés pour des questions générales, notamment : · fr.comp.os.unix pour les questions et discussions sur Unix ; · fr.comp.sys.pc pour les questions et discussions sur l'architecture PC ; · fr.comp.applications.x11 pour les questions et discussions sur X- Window ; · fr.comp.infosystemes.www.* pour les discussions relatives au Web ; · fr.usenet.logiciels pour les programmes relatifs aux news ; · fr.comp.mail pour ce qui concerne la messagerie électronique ; · etc. La hiérarchie anglophone contient également des groupes généraux : · comp.unix.{questions,shell,programming,bsd,admin} ; · comp.windows.x.i386unix ; · etc. 33..1122.. TThhee LLiinnuuxx JJoouurrnnaall Un magazine, rédigé en anglais et appelé _L_i_n_u_x _J_o_u_r_n_a_l a été lancé en 1994, à l'initiative d'utilisateurs travaillant dans la presse informatique aux USA. Il contient des articles pour lecteurs de niveaux divers et est fait de manière à être utile à tous les utilisateurs de LLiinnuuxx. Ce journal est vendu pour la somme de 32 dollars pour un an d'abonnement (12 numéros) ou 54 dollars pour deux ans. On peut le commander depuis la France par courrier électronique à l'adresse : sales@ssc.com Questions et commentaires à adresser (en anglais) à linux@ssc.com. Adresse postale : Linux Journal P.O Box 85867 Seattle, WA 98145-1867 Fax: +1 206-526-0803 Tel: +1 206-524-8338 LLiinnuuxx JJoouurrnnaall est également en vente à Paris à la librairie "Le monde en Tique" ( . 33..1133.. SSttaattuutt llééggaall ddee LLiinnuuxx Bien que LLiinnuuxx soit diffusé avec son code source au complet, le système est "copyrighté" et ne relève donc pas du domaine public. Toutefois, il est disponible gratuitement selon les termes de la "GPL" (Gnu Public License). Lisez cette "GPL" pour obtenir davantage d'informations. (En quelques mots, cette licence assure que nul ne pourra retirer certains droits à l'utilisateur du _l_o_g_i_c_i_e_l _l_i_b_r_e, comme par exemple l'accès gratuit à son code source. Mais elle n'interdit nullement la vente des programmes auxquels elle s'applique). Les programmes qui tournent sous LLiinnuuxx ont chacun leur copyright propre, bien que beaucoup d'entre eux utilisent également la GPL. X Window dépend du "MIT X Copyright", et de nombreux utilitaires, de celui de BSD. Dans tous les cas, tous les programmes disponibles sur les sites diffusant LLiinnuuxx sont librement diffusables (sinon ils ne s'y trouveraient pas !). 33..1144.. CCee ddooccuummeenntt Ce document était au départ une adaptation française par Julien Simon et retouchée par René Cougnenc, de la "_L_i_n_u_x _I_N_F_O_-_S_H_E_E_T" maintenue par Michael K. Johnson (Johnsonm@Sunsite.unc.edu). Cette feuille d'informations est désormais maintenue par Rémy Card. Ce document est, bien entendu, mis dans le domaine public. Toutefois, soyez assez courtois pour ne pas vous en approprier la propriété si vous le diffusez... Veuillez également nous prévenir si vous utilisez ce document dans le cadre d'une diffusion commerciale de Linux. Il a évolué petit à petit en s'éloignant du document original (bien que les modifications dans la version originale soient périodiquement intégrées dans ce document), et est dorénavant réalisé en SGML selon la même méthode que les _H_O_W_T_O_s LLiinnuuxx, ce qui permet de le rendre disponible aussi bien sous forme ASCII ordinaire que dans les formats plus agréables à lire PostScript, DVI et hypertexte HTML. Les outils utilisés ne permettent pas de respecter parfaitement les conventions typographiques en vigueur en France et la génération de la version ASCII donne parfois lieu à un formatage hasardeux ; le résultat est néanmoins acceptable pour ce type de document utilitaire. Critiques et louanges à adresser à : Rémy Card René Cougnenc Éric Dumas Julien Simon 44.. IInnttrroodduuccttiioonn àà ll''iinnssttaallllaattiioonn Avant de commencer, deux trois petites choses sont à préciser sur la manière d'effectuer l'installation de votre machine. 44..11.. RRééccuuppéérraattiioonn La récupération des distributions LLiinnuuxx peut se faire de plusieurs manières : 1. vous avez accès à Internet, ou vous possédez un modem : regarder la feuille d'informations plus haut ; 2. vous connaissez quelqu'un qui a les disquettes ou les CD-ROM, et dans ce cas-là, il suffit de lui faire un emprunt :-) ; 3. si vous n'avez ni l'un ni l'autre, il est fortement déconseillé de tout télécharger (à moins d'être actionnaire de France Télécom :-)). Le plus simple est d'acheter les CD-ROM. On peut conseiller les lots de CD édités par Infomagic, Yggdrasil ou kheops. Bon nombre de commerces proposent des distributions CD souvent beaucoup plus chères et plus âgées. Je n'ai pas de pourcentage chez les fournisseurs, mais le service est sérieux : · LLooggiicciieellss dduu ssoolleeiill 1, rue Pasqualini 06800 Cagnes sur Mer Contacts : · email : kheops@kheops-linux.com ; · Url : . · IIKKAARRIIOOSS 24 rue Voltaire 92000 NANTERRE Contacts : · email : lindis@linux-france.com ou lindis@ikarios.com ; · Url : . · on trouve également parfois ces CD à la FNAC, Surcouf, etc. 44..22.. LLeess ddiifffféérreenntteess ppoossssiibbiilliittééss dd''iinnssttaallllaattiioonnss Il existe en fait plusieurs possibilités pour installer Linux... En voici un court résumé : · Installation classique : vous avez une partition libre pour y mettre Linux. Dans ce cas, pas de problème : il suffit de suivre les instructions des sections suivantes. · Aïe : je n'avais pas prévu d'installer Linux et n'ai qu'une partition MS-DOS. Dans ce cas, il existe deux solutions : · FIPS : toutes les distributions fournissent un programme DOS qui permet en fait de repartitionner votre partition MS-Windows sans avoir à tout réinstaller. Comment ça marche ? C'est simple. Il faut dans un premier temps passer un coup de scandisk puis un coup de defrag (optimisation complète : tous les fichiers doivent être remontés). Ensuite, rebootez avec une disquette DOS (avec le moins de programmes résidents que possible). Il suffit ensuite de lancer FIPS et de suivre les instructions. Cela permet de réduire la taille de votre partition DOS, et ainsi d'installer Linux sur la place restante. · Installer Linux en utilisant _u_m_s_d_o_s. Ce système est très pratique. Cela permet d'installer un système Linux, sans toucher les partitions : Linux est installé en fait sur la partition DOS. Toutefois, cette installation est très limitée car le système de fichiers umsdos est très très lent. Cette solution peut être envisagée dans des cas extrèmes... mais qui peuvent être très pratiques. · une machine sans disque ! Il peut arriver que vous ayez déjà une machine sur le réseau avec Linux parfaitement installé. On peut alors faire en sorte que la machine utilise l'autre machine comme serveur. Dans ce cas, il suffit d'une disquette de boot ! Le mini Howto _n_f_s_-_r_o_o_t détaille complètement cette opération. 44..33.. CCoonnsseeiillss dd''iinnssttaallllaattiioonn Certaines personnes apprécient bien la solution qui suit. C'est la solution de la prudence... Mais vous êtes libre de faire ce que bon vous semble. Je vous conseille d'avoir des partitions séparées pour /usr, /var, et /home. Cela vous permet d'avoir une partition root assez petite (moins de 40-50Mo typiquement) et d'en conserver une copie. Configurez lilo (le gestionnaire de démarrage ("boot loader")) pour pouvoir booter sur la partition root normale, et en cas de besoin, la partition root de secours. Ensuite, pensez à mettre la partition root de secours à jour régulièrement (par cron éventuellement). Cela permet de booter pratiquement en toutes circonstances, sans disquette de boot de secours. C'est aussi très pratique pour récupérer un fichier de config qu'on a perdu/modifié, surtout si vous utilisez Red Hat/Debian où tous les fichiers de config sont placés dans /etc. Je vous conseille également d'installer et de configurer loadlin. Cela permet de booter à partir de MS-DOS et d'utiliser un noyau spécial ou une partition différente (après un décalage suite à un repartitionnement). C'est également très pratique si votre carte SCSI tombe en rade, et que vous en installez une différente par exemple: il vous suffit de récupérer un noyau pré-compilé, et vous le lancez à partir de loadlin. Autre solution si lilo a disparu, que vous avez loadlin, mais que votre noyau est dans la partition linux/ext2 à laquelle vous n'avez pas accès : utilisez EXT2 Tools pour copier le noyau se trouvant sur une partition EXT2 vers votre partition DOS. Si vous utilisez lilo, essayez de le lancer après un autre loader, comme celui d'OS/2 (ou peut-être celui de NT, pas testé). De cette façon, si lilo plante au chargement, vous pouvez toujours utiliser le loader primaire pour lancer DOS, puis utiliser loadlin pour booter et résoudre le problème. Bien... après ces préliminaires, passons aux distributions. 55.. DDiissttrriibbuuttiioonnss 55..11.. DDééffiinniittiioonn eett ccoommmmeenntt cchhooiissiirr uunnee ddiissttrriibbuuttiioonn Tous les autres systèmes d'exploitation (MS-DOS, MS-Windows, Mac-OS, les Unix commerciaux, même FreeBSD) sont livrés (distribués) sous forme d'un ensemble comprenant le système d'exploitation proprement dit (un Unixien dit "le noyau") plus tous les logiciels qui servent à en tirer quelque chose, comme /bin/ls, /usr/bin/gcc, /usr/games/tetris plus l'éventuelle interface graphique, etc. On peut toujours ajouter ou (parfois) enlever des trucs, mais c'est souvent peu pratique. Linux, au contraire, tire profit de la modularité de Unix : le mot LLiinnuuxx, stricto-sensu, ne désigne que le noyau. Chacun est libre de prendre le noyau et de l'emballer joliment avec d'autres logiciels, formant ainsi une _d_i_s_t_r_i_b_u_t_i_o_n. Une distribution, c'est le noyau (le même pour toutes) plus certains logiciels (toutes les distributions Linux utilisent les logiciels GNU pour les commandes de base comme ls, grep ou tar et toutes utilisent X11 pour le graphique) plus un programme d'installation, plus un système de gestion des logiciels, pour en ajouter ou en enlever proprement et facilement. Les deux premiers élements (le noyau et les logiciels de base) sont communs à toutes les distributions. La concurrence se fait sur le programme d'installation et sur la gestion des paquetages (un paquetage est un ensemble cohérent de logiciels, c'est l'unité d'installation, de désinstallation, ou de configuration). La Slackware ne fournit quasiment rien pour l'installation et rien du tout pour la désinstallation. Une fois qu'elle est installée, tout se fait à la main. Les mises à jour sont pénibles (par exemple, elle ne respecte pas les fichiers de configuration déjà installés). Toutefois, c'est la distribution idéale si vous souhaitez gérer et mettre à jour vous-même les différents produits (en les recompilant). La Debian fut, sauf erreur, la première à avoir un système de paquetages, et la première à avoir un système de dépendance entre paquetages (du genre, "gimp a besoin de gtk"). La RedHat a une interface graphique de configuration des paquetages et gère également les dépendances. Après avoir choisi LLiinnuuxx, il faut donc choisir une distribution particulière. Signalons le document Linux : choisir une distribution . Ce document peut vous aider à faire votre choix. N'hésitez surtout pas à le consulter. 55..22.. DDeessccrriippttiioonn rraappiiddee On appelle "distribution" un ensemble de supports (disquettes, CD-ROM ...) contenant de quoi installer un logiciel sur une machine. Voir, à ce propos, la section "Comment débuter" de la _f_e_u_i_l_l_e _d_'_i_n_f_o_r_m_a_t_i_o_n_s _L_i_n_u_x reproduite ci-dessus. Il n'existe pas de distribution officielle de LLiinnuuxx. Seules des distributions circulent. Dans ce guide, seules la Slackware et la Red Hat seront détaillées. Toutefois, voici quelques mots sur les principales distributions existantes : · Slackware : c'est la distribution qui faisait historiquement référence dans la mesure où c'était la seule distribution à peu près correctement faite au début de la généralisation de Linux. De nos jours, elle est fortement concurrencée par de nouvelles distributions comme Red Hat/Débian et on peut craindre qu'elle finisse comme la SLS en raison des difficultés engendrées par son évolution. De plus, elle ne gère qu'une seule architecture (Intel) et n'a pas de notion de paquetage. La dernière version de la Slackware est la 3.5.0. Elle utilise la libc 5.4.33, le noyau 2.0.34, et XFree86 3.3.2. Sa dernière mise à jour date du mois d'août 1998. C'est cette version qui sera détaillée ici. Site ftp officiel : Site Web : . · Red Hat : c'est une distribution initialement commerciale, mais qui est également disponible par téléchargement sur les sites FTP. Elle est bien plus professionnelle que Slackware. De plus, elle est disponible pour d'autres architectures processeurs "non Intel" telles que Alpha et Sparc. La dernière version en date est la version 5.1 (Manhattan). Cette distribution se distingue par son sérieux, sa simplicité d'installation, et surtout par son extrême convivialité. De plus, la mise à jour du système est gérée par un système de paquetages. On peut effectuer l'installation par ftp. Site ftp officiel : Site Web : · Debian : c'est la version de Linux soutenue par la FSF (Free Software Foundation). Version : 2. Dernière mise à jour (version stable) : Août 1998 Site ftp officiel : Site Web : · SLS : Première grande distribution de LLiinnuuxx, mais elle est maintenant obsolète : Version 1.06. Dernière mise à jour : Novembre 1994. · Suse : distribution Allemande assez stable. Elle a une assez bonne réputation. Version : 5.3 Dernière mise à jour : Août 1998 Site Web : 55..33.. DDiissqquueetttteess dd''aammoorrççaaggee Avec la Red Hat ou la Slackware, il est nécessaire d'utiliser une disquette de boot (et une disquette root pour la Slackware). La manière de copier ces fichiers sur disquette est commune aux deux distributions. Notons que Red Hat offre un moyen, compatible avec la plupart des systèmes, d'installer à partir de MS-DOS sans disquette ou à partir d'un CD-ROM bootable (à condition que le BIOS de la machine le permette). Après avoir sélectionné la ou les images à copier sur disquette pour permettre l'amorçage de la machine, il est nécessaire de la copier sur disquette. Pour copier cette disquette, plusieurs solutions existent : 1. copier le fichier sur la disquette avec un cat image > /dev/fd0 (/dev/fd0 correspondant au périphérique de votre lecteur de disquettes.). Il est possible que vous deviez décompresser le fichier. Pour cela, utilisez le programmes gunzip : gunzip bare.i.gz. 2. si jamais vous êtes sous MS-DOS, il faut se servir du programme _R_A_W_R_I_T_E. Pour cela : décompacter le fichier si nécessaire (le nom se termine par ".gz") grâce à _G_Z_I_P_._E_X_E (commande : gzip -d NOM_DU_FICHIER.gz), formater la disquette MS-DOS qui ne doit pas présenter le moindre défaut de surface ("secteurs défectueux") puis utiliser _R_A_W_R_I_T_E pour écrire le (ou les fichiers) sur les disquettes. 55..44.. SSllaacckkwwaarree :: ddeessccrriippttiioonn Dans cette partie, on suppose que vous possédez la version de la Slackware 3.4. Voici une description brève des disquettes (en bref, ce que l'on y trouve, pour éviter l'installation de paquetages inutiles). 55..44..11.. DDiissqquueetttteess BBoooott eett RRoooott Deux disquettes sont fondamentales pour installer LLiinnuuxx avec la Slackware : la disquette de boot et la disquette root. Linux s'installe en effet ... sous Linux, de sorte qu'il faut pouvoir le lancer "à partir d'une disquette" avant de commencer l'installation. La disquette _b_o_o_t contient un noyau Linux et la disquette _r_o_o_t fournit au Linux ainsi lancé quelques fichiers absolument nécessaires à son fonctionnement. Plusieurs types de disquettes _b_o_o_t et _r_o_o_t existent, il faut choisir en fonction du matériel employé. Le contenu de chaque disquette est livré sous forme d'un fichier de type _i_m_a_g_e, stockant le contenu de tous les secteurs physiques d'une disquette. Voici un résumé des étapes préalables à une installation : · choix d'un fichier _b_o_o_t et d'un _r_o_o_t approprié au matériel (voir tableau ci-dessous) ; · formatage d'une paire de disquettes (sans secteurs défectueux), par exemple avec la commande MS-DOS format ; · copie du fichier boot sur une disquette ; · copie du fichier root sur une disquette ; · démarrage du système grâce à la disquette _b_o_o_t ; · insertion, sitôt que le système le demande, de la disquette _r_o_o_t. Il y a un bon nombre de disquettes de boot. Voici un tableau récapitulatif qui devrait vous permettre de choisir celle qui convient le mieux. ----------------\ Controleur Disque : Les sources \ sont sur : \ IDE SCSI MFM -------------------+----------------+--------------------------+-------------- Disque dur | bare.i | Utiliser une disquette | xt.i | | SCSI dans la liste | | | ci-dessous. | -------------------+----------------+--------------------------+-------------- CD-ROM SCSI | Utiliser une | idem | | disquette SCSI | | -------------------+----------------+--------------------------+-------------- CD-ROM IDE/ATAPI | bare.i | idem | -------------------+----------------+--------------------------+-------------- Aztech, Orchid, | aztech.i | aztech.s | Okano, Wearnes, | | | Conrad, CyCDROM | | | CD-ROM non-IDE | | | -------------------+----------------+--------------------------+-------------- Sony CDU31a, | cdu31a.i | cdu31a.s | Sony CDU33a CD-ROM| | | -------------------+----------------+--------------------------+-------------- Sony CDU531, | cdu535.i | cdu535.s | Sony CDU535 CD-ROM| | | -------------------+----------------+--------------------------+-------------- Philips/LMS cm206 | cm206.i | cm206.s | CD-ROM | | | -------------------+----------------+--------------------------+-------------- Goldstar R420 | goldstar.i | goldstar.s | CD-ROM | | | -------------------+----------------+--------------------------+-------------- Mitsumi non-IDE | mcdx.i | mcdx.s | CD-ROM | mcd.i | mcd.i | -------------------+----------------+--------------------------+-------------- Optics Storage | optics.i | optics.s | 8000 AT CD-ROM | | | ("Dolphin") | | | -------------------+----------------+--------------------------+-------------- Sanyo CDR-H94A | sanyo.i | sanyo.s | CD-ROM | | | -------------------+----------------+--------------------------+-------------- Matsushita, | sbpcd.i | sbpcd.s | Kotobuki, | | | Panasonic, | | | CreativeLabs | | | (Sound Blaster), | | | Longshine et | | | Teac non-IDE | | | CD-ROM | | | -------------------+----------------+--------------------------+-------------- NFS | net.i | scsinet.s | -------------------+----------------+--------------------------+-------------- Tape | bare.i (pour | Utiliser une disquette | xt.i (pour | lecteur | SCSI de la liste | lecteur de | cartouches) | ci-dessous. | cartouches) | Sinon utiliser | | | une disquette | | | SCSI - voir | | | ci-dessous. | | | | | -------------------+----------------+--------------------------------------- GGeessttiioonnnnaaiirreess SSCCSSII : 7000fast.s, advansys.s, aha152x.s, aha1542.s, aha1740.s, aha2x4x.s, am53c974.s, buslogic.s, dtc3280.s, eata_dma.s, eata_isa.s, eata_pio.s, fdomain.s, in2000.s, iomega.s, n53c406a.s, n_5380.s, n_53c7xx.s, pas16.s, qlog_fas.s, qlog_isp.s, seagate.s, trantor.s, ultrastr.s, ustor14f.s Si vous ne savez pas quelle est la carte SCSI installée sur la machine, essayez alors la disquette d'amorçage générique scsi.s. Son nom sera affiché dans les messages lors de l'amorçage. Ensuite, utilisez la disquette correspondante (car l'utilisation de la disquette scsi.s exige beaucoup de mémoire). Passons ensuite à la disquette root. Le fichier correspondant doit être copié sous sa forme compressée : LLiinnuuxx le décompresse tout seul comme un grand. Il existe quatre disquettes root possibles : · color.gz : permet d'avoir les couleurs sur la console ; · umsdos.gz : Utilise le système de fichiers umsdos (cela évite de repartitionner votre disque). Attention : c'est beaucoup plus lent que l'ext2fs natif. · pcmcia.gz : conçu pour l'installation via NFS pour les portables ayant une carte Ethernet de type PCMCIA ; · rescue.gz : disquette avec quelques programmes : vi, lilo, e2fsck, etc.. Très utile lors de plantages ... AATTTTEENNTTIIOONN :: LLaa ddiissqquueettttee RRoooott nnee ddooiitt ppaass êêttrree ddééccoommpprreessssééee !!!! 55..44..22.. LLaa ddiissttrriibbuuttiioonn Bon, on a vu les deux premières disquettes. Voici la description de la distribution. Comme c'est long, voici un résumé. Entre parenthèses, le nombre de répertoires. Attention ! La slackware était jusqu'à présent la distribution permettant d'être installée entièrement _v_i_a disquettes. Ce n'est plus le cas. Seul les paquetages des séries A et N (base et réseau) peuvent être copiées sur disquette. En réalité, cela suffit car vous pouvez télécharger directement le reste. Dans la liste, vous allez trouver trois champs : · ADD : le paquetage est automatiquement installé ; · REC : recommandé ; · OPT : optionnel ; · SKP : le paquetage ne sera pas installé. Bon, on est partis :-) ! · A : _B_a_s_e · A1 : · aaa_base : ([ADD]) mise en place de l'arborescence de base. Programmes de base (GNU mtools 3.8, fdutils-5.2, zip21, unzip513). · aoutlibs : ([ADD]) bibliothèques a.out (libc 4.7.6) ; · bsdlpr : ([REC]) (5.9-26) système de gestion d'impression évolué ; · bzip2 : ([ADD]) outil de compression ; · cpio : ([ADD]) (2.4.2) utilitaires d'archivage de fichiers ; · joystick : ([ADD]) (0.8.0) : gestion du joystick sous Linux ; · umsprogs : ([ADD])(0.9) pour gérer le gestionnaire de fichier umsdos. · A2 : · bash : ([ADD]) (1.14.7) interpréteur de commandes ; · devs : ([ADD]) les fichiers spéciaux situés dans /dev ; · e2fsbn : ([ADD]) (1.10) utilitaires pour le système de fichiers ext2fs ; · elflibs : ([ADD]) bibliothèques ; · find : ([ADD]) (4.1) outils de recherche de fichiers. · A3 : · bin : ([ADD]) binaires (/bin et /usr/bin) ; · getty : ([OPT]) getty_ps 2.0.7j (Contrôle le login sur le système) ; · gzip : ([ADD]) (1.2.4) GNU zip compression. · A4 : · etc : ([ADD]) fichiers de configuration situés dans le répertoire ; · fileutils : ([ADD]) (3.16) programmes de base de gestion de fichiers ; · gpm : ([REC]) (1.13) permet de réaliser du copier-coller avec la souris dans les fenêtres en mode texte ; · grep : ([ADD]) (2.1) recherche de chaînes dans les fichiers ; · hdsetup : ([ADD]) (3.5.0) programme setup de maintenance/d'installation de la distribution ; · ldso : ([ADD]) ld.so.1.9.9, c'est à dire éditeur et chargeur de liens dynamique. · A5 : · ibcs2 : ([OPT]) permet d'exécuter des binaires provenant d'autres plates-formes (SVR4, SCO, Wyse, Xenix, etc.) ; · ide : ([REC]) noyau IDE (2.0.34) sans SCSI ; · less : ([ADD]) less-332 (ressemble à more, mais en bien meilleur) ; · lilo : ([ADD]) (20) chargeur du noyau ; · loadlin : ([REC]) (1.6) charge les noyaux sous MS-DOS. · A6 : · kbd : ([OPT]) (0.95) fichiers de configuration pour le clavier. Contient la définition du clavier français. · minicom : ([REC]) (1.75) paquetage de communication semblable à Telix ; · modutils : ([ADD]) (2.1.85) outils de chargement des modules chargeables ; · pcmcia : ([OPT]) (3.0.0) pour les cartes PCMCIA ; · pnp : ([OPT]) (1.15) utilitaire de gestion des cartes dites "Plug And Play". · A7 · modules : ([ADD]) (2.0.34) modules chargeables pour le noyau 2.0.30 ; · sysklogd : ([ADD]) (1.3-25) syslogd/klogd, enregistre/redirige les messages d'erreurs système. · A8 · procps : ([ADD]) (1.2.7) utilitaires pour l'affichage des processus ; · scsi : ([REC]) (2.0.34) noyau SCSI + IDE ; · sysvinit : ([ADD]) (2.73) programme init + scripts /etc/rc.d ; · zoneinfo : ([ADD]) système de gestion des fuseaux horaires. · A9 · scsimods : ([OPT]) (2.0.34) modules SCSI pour 2.0.34 ; · sh_utils : ([ADD]) (1.16) commandes utilitaires ; · shadow : ([ADD]) (980529) gestion des mots de passe shadow. · A10 · tar : ([ADD]) (1.12) GNU tar : gestion d'archives ; · tcsh : ([OPT])(6.07) shell compatible csh ; · txtutils : ([ADD]) (1.22) outils de manipulation de textes (cat, head, etc) ; · util : ([ADD]) util-linux 2.7.1. · A11 · util : ([ADD]) util-linux 2.7.1. · AP1 : _A_p_p_l_i_c_a_t_i_o_n_s _c_o_u_r_a_n_t_e_s · ash : ([OPT]) autre shell, exige très peu de mémoire ; · bc : ([OPT]) (1.04) calculatrice ; · cdutils : ([OPT]) outil de création de compact discs ; · diff : ([REC]) (2.7) permet de donner la liste des différences entre fichiers ; · ghostscr : ([OPT]) (4.03) GNU Ghostscript permet de visualiser, de transformer des fichiers postscript ; · groff : ([ADD]) (1.11) outils de formatage de documents. Utilisé par man ; · gsfonts : ([OPT]) polices de caractères pour Ghostscript ; · ispell : ([OPT]) (3.1.20) vérificateur orthographique (Anglais) ; · jed : ([OPT]) (0.97-14) petit éditeur de texte ; · joe : ([OPT]) (2.8) petit éditeur de texte très pratique ; · jove : ([OPT]) (4.14.10) petit éditeur de texte compatible Emacs ; · jpeg6 : ([OPT]) (6a) programme et bibliothèque de manipulation d'images au format JPEG ; · manpags : ([REC]) (1.18) pages de manuel du système ; · mc : ([OPT]) (4.1.35) Midnight Commander, outil de manipulation de fichiers, répertoires ; · md : ([OPT]) (0.35) utilitaires de gestion de disques RAID 0, concaténation, etc ; · mt_st : ([OPT]) (0.4) gestionnaire de manipulation de lecteurs de cartouches ; · quota : ([OPT]) (1.51) outils de gestion des quotas disques ; · sc : ([OPT]) (6.21) petit tableur ; · seejpeg : ([OPT]) (1.6.1) utilitaire d'affichage d'images jpeg utilisant la svgalib ; · sox : ([OPT]) convertisseur universel de sons ; · sudo : ([OPT]) (1.5.4) permet l'exécution de quelques commandes en tant que Root pour certains utilisateurs ; · texinfo : ([REC]) (3.12) système de documentation TeXinfo GNU ; · vim : ([OPT]) (5.1) Version améliorée de vi (vi pur beurre (ou presque) étant fourni avec elvis). Préférer de loin cette version. · workbone : ([OPT]) (2.31) lecteur de CD audio ; · zsh : ([OPT]) (3.0.3) shell zsh. · D1 · binutils : ([ADD]) (2.8.1.0.23) ar, as, c++filt, ld, nm, ranlib, etc ; · bison : ([REC]) (1.25) analyseur syntaxique (compatible yacc) ; · egcs : ([ADD]) (1.0.3) compilateur C ELF optimisé pour 486 ; · egcs_g77 : ([OPT]) (1.0.3) compilateur Fortran ; · egcsobjc : ([OPT]) (1.0.3) compilateur Objective-C ; · flex : ([ADD]) (2.5.4) analyseur lexical ; · gcl : ([OPT]) (2.2.2) interpréteur Lisp ; · gdb : ([OPT]) (4.17) débogueur ; · gmake : ([ADD]) (3.76.1) GNU make ; · libc : ([ADD]) (libc 5.4.23) bibliothèques nécessaires pour la compilation + exécution. Inclue libcurses 1.0.0, libgdbm 1.7.3, libtermcap 2.0.8, et db 1.85.4 ; · libcinfo : ([OPT]) informations sur la bibliothèque C ; · linuxinc : ([ADD]) fichiers d'entête de Linux 2.0.34 ; · m4 : ([ADD]) (1.4) expanseur de macros ; · ncurses : ([REC]) (1.9.9g) bibliothèque de gestion de l'écran ; · p2c : ([OPT]) (1.19) convertisseur Pascal vers C ; · perl1 : ([OPT]) (5.004_04) interpréteur Perl ; · pmake : ([ADD]) (4.4) make BSD ; · python : ([OPT]) (1.5) interpréteur du langage orienté objet python ; · rcs : ([OPT]) (5.7) système de gestion de versions des fichiers ; · strace : ([OPT]) (3.1.0.1) trace les appels système et les signaux ; · svgalib : ([OPT]) (1.2.13) bibliothèque d'accès à la carte vidéo ; · terminfo : ([ADD]) bases de données /usr/share/terminfo. · E1 : emacs 20.2 · elisp : ([OPT]) sources Emacs-Lisp ; · emac_nox : ([OPT]) emacs sans X Window ; · emacinfo : ([REC]) fichiers d'information ; · emacmisc : ([REC]) fichiers pour Emacs ; · emacsbin : ([ADD]) (20.2) Binaires d'Emacs. Utilise X Window. · F1 : _F_A_Q _e_n _a_n_g_l_a_i_s · howto : ([ADD]) tous les howtos du LLiinnuuxx Documentation Project, en anglais bien sûr ; · manyfaqs: FAQs : ([ADD]) FAQ comp.lang : Fortran, GCC, G++, TCL, Objective-C, Lisp, Scheme, et Perl ; FAQ PostScript ; LLiinnuuxx FAQ ; FAQ comp.windows.x. · mini : ([ADD]) mini howto ; · K1 : _S_o_u_r_c_e_s _d_u _n_o_y_a_u · sources du noyau version 2.0.34. · N : _R_é_s_e_a_u · N1 : · apache : ([OPT]) (1.2.6) serveur WWW ; · bind : ([REC]) (8.1.2-REL) bind, dig, dnsquery, host, nslookup, ... ; · dip : ([OPT]) (3.3.7o) gestionnaire de connexions IP pour SLIP, CSLIP ; · netpipes : ([OPT]) (3.1) utilisation de tcp/ip dans des scripts. · N2 : · cnews : ([OPT]) système de transport de news ; · elm : ([OPT]) (2.4 pl 25) mailer interactif ; · inn : ([OPT]) (1.7.2) système de transport de news et serveur NNTP. · N3 : · lynx : ([OPT]) (2.6) arpenteur (browser) en mode texte ; · mailx : ([REC]) (8.1.1) mailer ; · metamail : ([REC]) (2.7) gestionnaires du format MIME ; · netatalk : ([OPT]) (1.4b2) server d'impression et de fichiers Appletalk ; · nn-nntp : ([OPT]) (6.5.0.b3) lecteur de news nn compilé pour utiliser NNTP ; · rdist : ([OPT]) (6.1.3) programme pour maintenir des parties d'arborescences identiques entre machines. · N4 : · pine : ([OPT]) (3.96) mailer basé sur elm ; · ppp : ([OPT]) (2.2.0f et 2.3.5) démon et gestion du protocole PPP ; · procmail : ([OPT]) (3.10) programme de gestion de courrier électronique ; · smailcfg : ([OPT]) fichiers de configuration pour sendmail ; · trn : ([OPT]) (3.5) lecteur de news trn compilé pour utiliser le spool local. · N5 : · samba : ([OPT]) (1.9.18p7) server d'impression et de fichiers SMB ; · tin : ([OPT]) (1.4 pre 980226) lecteur de news plein écran. · N6 : · sendmail : ([REC]) (BSD 8.9.0) processus de transport de courier. Gère TCP/IP et UUCP ; · tcpip2 : ([REC]) programmes de gestion réseau ; · trn-nntp : ([OPT]) (3.5) lecteur de news trn compilé pour utiliser un serveur NNTP ; · nn-spool : ([OPT]) (6.4.18) autre système de news. · N7 : · tcpip1 : ([REC]) programmes de gestion réseau. · N8 : · uucp : ([OPT]) (1.06.1) Taylor UUCP, système de communication UUCP. · T1 : _T_e_X _e_t _L_a_T_e_X _: _d_i_s_t_r_i_b_u_t_i_o_n _T_e_T_e_X · td-trans : ([OPT]) (3.1.2) transfig - programmes de transformation de fichiers .fig en formats epsf et LaTeX ; · tb-xfig : ([OPT]) (3.1.4) programme xfig, programme de dessin vectoriel ; · td-bibt : ([OPT]) documentation sur BibTeX ; · td-eplai : ([OPT]) documentation du format plain ; · td-fonts : ([OPT]) documentation sur certains paquetages de polices de caractères ; · td-gnric : ([OPT]) documentation générique ; · td-ltex : ([OPT]) documentation LaTeX ; · tm-metap : ([OPT]) MetaPost ; · td-misc : ([OPT]) documentation générale sur TeX ; · td-mkidx : ([OPT]) documentation sur makeindex ; · td-progs : ([OPT]) documentation sur Kpathsea ; · te-ams : ([REC]) paquetage AMSTeX ; · te-base : ([ADD]) paquetage teTeX ; · te-bin : ([ADD]) binaires teTeX pour Linux ; · tf-dc : ([ADD]) polices de caractères DC ; · tf-misc : ([ADD]) autres polices de caractères · tf-ps : ([REC]) polices de caractères PostScript ; · tf-sautr : ([ADD]) polices de caractères sauter ; · tm-bibt : ([REC]) BibTeX ; · tm-eplai : ([REC]) format eplain ; · tm-lt : ([ADD]) base LaTeX ; · tm-lxtra : ([REC]) paquetages supplémentaires pour LaTeX ; · td-metap : ([OPT]) documentation MetaPost ; · tm-pictx : ([OPT]) macros PiCTeX ; · tm-pstr : ([OPT]) macors PostScript ; · tm-tdraw : ([REC]) macros TeXdraw ; · tm-xypic : ([OPT]) macros XY-pic. · Tcl (8.0p2) Tk · hfsutils : ([OPT]) (3.1) utilitaires permettant de lire et écrire sur des systèmes de fichiers Macintosh ; · tcl : ([ADD]) (8.0p2) ; · tk : ([REC]) (8.0p2) ; · tkdesk : ([OPT]) (1.0b4) gestionnaire de fichiers ; · tclx : ([REC]) (8.0.2) extension de Tcl. · X : _X _W_i_n_d_o_w _X_1_1_R_6 _- _S_e_r_v_e_u_r _X_F_r_e_e_8_6 _3_._3_._2 · fvwm2 ([OPT]) (2.0.46-BETA) : gestionnaire de fenêtres ; · fvwmicns : ([OPT]) icones xpm3icons.tar.Z. Utilisées par fvwm ; · lesstif : ([OPT]) (0.85) Motif 1.2 ; · ltstatic : ([OPT]) (0.85) bibliothèques statiques de LessTif ; · oldlibs5 : ([OPT]) vieilles bibliothèques XFree86 2.1.1 (X11R5) ; · oldlibs6 : ([OPT]) bibliothèques au format a.out. · x3328514 : ([REC]) serveur X Window pour les cartes utilisant IBM8514 ; · x332agx : ([REC]) serveur X Window pour les cartes utilisant IIT AGX-016, AGX-015, AGX-014 et XGX-2 ; · x332bin : ([ADD]) programmes X ; · x332cfg : ([ADD]) fichiers de configuration pour X et xdm ; · x332doc : ([REC]) documentation pour XFree86 3.3.2 ; · x332f100 : ([OPT]) polices de caractères 100 dpi ; · x332fcyr ([OPT]) polices de caractères cyrilliques ; · x332fnon : ([OPT]) polices de caractères divers ; · x332fnts : ([ADD]) polices de caractères minimales ; · x332fscl : ([OPT]) polices de caractères Speedo et Type ; · x332srv ([OPT]) xfs : serveur de police de caractères ; · x332html : ([OPT]) docmentation XFree86 3.3.2 au format HTML ; · x332i128 : ([REC]) serveur X Window pour les cartes utilisant Nine Imagine 128 ; · x332jdoc : ([OPT]) documentation en Japonais concernant XFree86 3.3.2 ; · x332jset : ([OPT]) outil de configuration en japonais ; · x332lib : ([ADD]) bibliothèques dynamiques et fichiers de configuration pour XFree86 3.3.2 ; · x332ma32 : ([REC]) serveur X Window pour les cartes utilisant Mach32 ; · x332ma64 : ([REC]) serveur X Window pour les cartes utilisant Mach64 ; · x332ma8 : ([REC]) serveur X Window pour les cartes utilisant Mach8 ; · x332man : ([REC]) pages de manuel pour le serveur XFree86 3.3.2 ; · x332mono : ([REC]) serveur X Window monochrome ; · x332nest : ([OPT]) serveur expérimental ; · x33p9k : ([REC]) serveur X Window pour les cartes utilisant P9000 ; · x332prog : ([REC]) fichiers d'en-têtes et Imakefile ; · X332prt : ([OPT]) serveur d'impression pour XFree3.3.2 (Xprt) ; · x33ps : ([REC]) documentation XFree86 3.3.2 au format PostScript ; · x332s3 : ([REC]) serveur pour les cartes utilisant S3 ; · X332s3v : ([REC]) serveur pour cartes S3 Virge ; · X33set : ([OPT]) outil de configuration graphique pour X ; · x332svga : ([REC]) serveur X pour cartes SuperVga ; · X332vfb : ([OPT]) serveur particulier ; · X332vg16 : ([REC]) serveur pour mode 16 couleur EGA/VGA ; · x332w32 : ([REC]) serveur pour cartes ET4000/W32 ; · xaw32 : ([REC]) (1.4) bibliothèque Xaw 3d ; · xlock : (4.09) ([ADD]) programme de verrouillage du serveur X ; · xpm : (3.4k) ([ADD]) bibliothèque de gestion de fichier images au format xpm. · XAP1 : _A_p_p_l_i_c_a_t_i_o_n_s _X _W_i_n_d_o_w · arena : ([OPT]) (béta-3b) arpenteur Web (browser) ; · freefont : ([OPT]) (0.10) polices de casactères utilisables avec Gimp, X11, ... ; · fvwm95 : ([OPT]) (2.0.43b) fvwm 2.0.41 modifié pour ressembler au gestionnaire de fenêtres de MS-Windows 95 ; · gchess : ([OPT]) GNU chess (v. 4.00pl 77) + xboard (v.3.6.1) le fameux jeux d'échec ; · ghostview : ([OPT]) (1.5) Ghostview permet de visualiser les fichiers au format Postscript. A besoin du pack gs_x12. · gimp : ([OPT]) (0.99.23) GNU Image Manipulation Program ; · gnuplot : ([OPT]) (3.5) programme pour tracer des courbes mathématiques ; · gs_x11 : ([REC]) permet de visualiser les fichiers Postscript sous X ; · libgr : ([REC]) (2.0.12) bibliothèques de manipulation des fichiers GIF, TIFF, JPEG, .... · netscape : ([REC]) (v405) arpenteur ; · qt : ([REC]) (1.33) ensemble de biliothèques graphiques haut-niveau ; · seyon : ([OPT]) (2.14c) outils de télécommunication sous X ; · tkdesk : ([OPT]) (1.0) gestionnaire de fichiers ; · x3270 : ([OPT]) (3.0.1.5) outil de communication avec un IBM 3278 ; · xfileman : ([OPT]) (0.5) gestionnaire de fichiers ; · xfm : ([OPT]) (1.3.2) gestionnaire graphique de fichiers ; · xfract: ([OPT]) (3.04) logiciel de génération de fractales ; · xgames : ([OPT]) quelques jeux ; · xpaint : ([OPT]) (2.4.9) programme de dessin bitmap ; · xpdf : ([OPT]) (0.7a) afficheur de fichiers PDF ; · xspread : ([OPT]) (2.1) un tableur rudimentaire ; · xv : ([OPT]) (3.10a) programme de visualisation de fichiers d'images et conversions + filtres d'images, ... ; · xxgdb : ([OPT]) (1.12) débogueur en mode X. · XD1 : _X _W_i_n_d_o_w _d_e_v_. _: _l_i_n_k_k_i_t _+ _P_e_X · x331lkit: ([OPT]) XFree86 3.3.2 Linkkit . · XV1: _X_V_i_e_w _p_o_u_r _l_e_s _a_d_o_r_a_t_e_u_r_s _d_u _L_o_o_k _O_P_E_N _L_O_O_K · xv32_so : ([ADD]) bibliothèques dynamiques pour xview3.2p1-X11R6 ; · xvol32 : ([ADD]) binaires pour XView 3.2p1 ; · xv32_a : ([OPT]) bibliothèques statiques xview3.2p1-X11R6 ; · xvinc32 : ([OPT]) fichiers d'en-tête xview3.2p1-X11R6 ; · xvmenus : ([ADD]) menus et fichiers de configuration pour OpenLook ; · workman : ([OPT]) (1.2.2a) programme de manipulation de CD-ROM audios ; · xv32exmp : ([OPT]) programmes de démonstrations ; · sspkg : Extention SlingShot (2.1). ([OPT]) · Y1 : _J_e_u_x · bsdgames, koules et sastroid. ([OPT]) Ca y est, c'est fini ! 55..44..33.. BBoogguueess ddee llaa SSllaacckkwwaarree La Slackware, comme toute distribution, possède un certain nombre de bogues. Une liste a été faite et peut-être consultée à l'adresse suivante : . Elle est mise à jour assez régulièrement, et je ne vais pas la détailler ici. 55..55.. RReedd HHaatt :: ddeessccrriippttiioonn 55..55..11.. DDiissqquueettttee ddee bboooott La Red Hat utilise un système très différent de la Slackware : elle met à profit, lors de l'amorçage de la machine, les modules chargeables du noyau. Toutefois, il est à noter qu'elle ne permet pas d'être installée uniquement grâce à des disquettes (la Slackware s'impose dans ce cas). Enfin, sa dernière limitation est qu'elle impose d'avoir une partition Linux native (ext2fs). Il n'existe en fait qu'une seule disquette de boot : images/boot.img. Si vous installez un PC utilisant du PCMCIA ou si vous effectuez une installation par réseau depuis un site FTP, vous devez utiliser une disquette suppémentaire : images/supp.img. Remarque : il existe une disquette supplémentaire (supp.img) qui est utilisée lorsque vous utilisez l'option rescue lors du boot. Une fois que vous avez copié la disquette de boot (et éventuellement la seconde si nécessaire), amorcer la machine... et vous accéderez directement au système d'installation. Difficile de faire plus simple ! De plus, ce système de paquetage permet de gérer les dépendances entre les bibliothèques et les outils. 55..55..22.. LLaa RReedd HHaatt ssaannss ddiissqquueettttee Il existe deux possibilités pour installer la Red Hat sans disquette de démarrage. Si le PC est équippé d'un lecteur CD "bootable" (lecteur SCSI ou ATAPI El Torito et les bonnes options activées dans le SETUP), on peut démarrer directement sur le CD. Si la machine fonctionne sous DOS (gestionnaires du lecteur CD chargés), on peut essayer d'employer le programme autoboot, placé dans le répertoire dosutils, qui permet sur la plupart des machines d'installer sans même avoir à créer une disquette de démarrage ! 55..55..33.. DDiissttrriibbuuttiioonn La distribution Red Hat est composée d'un ensemble de paquetages (un peu plus de 560) regroupés sous une forme de centres d'intérêts (en fait une arborescence de groupes). Vous trouverez ci-dessous la liste des paquetages par ordre alphabétique de groupes qui peuvent ainsi être installés sur votre machine. Les noms de groupes sont ici présentés en anglais, car c'est ainsi qu'ils apparaîtront sur votre machine, et sont en gras. La manipulation "directe" des paquetages (archives rpm) est détaillée dans la prochaine section. Il est à noter qu'il existe bien souvent un répertoire du nom de updates dans lequel se trouvent des fichiers qui permettent de mettre à jour (évolution et correction de bogues éventuelles) la distribution. Une fois que vous avez installé votre machine, pensez à installer l'ensemble des fichiers situés dans ce répertoire. De même, notons la présence d'un répertoire contrib regroupant un ensemble d'outils n'appartenant pas à la distribution officielle mais qui sont fort utiles. La description des paquetages qui suit correspond à la version 5.1 de la RedHat, avec toutes les mises à jour appliquées au 9 Août 1998. · AApppplliiccaattiioonnss · CCoommmmuunniiccaattiioonnss : · efax (0.8a r3) : programme d'envoi et de réception de FAX via des modems de classe 1 ou 2 ; · ircii (4.4 r2) : client IRC (Internet Relay Chat) ; · ircii-help (4.4 r2) : fichiers d'aide pour le paquetage ircii ; · lrzsz (0.12.14 r4) : ensemble de commandes permettant de télécharger des fichiers en utilisant les protocoles Z, X et Y ; · minicom (1.81 r4) : programme de communication ressemblant au programme Telix MS-DOS. Emulation VT100 et ANSI. · DDaattaabbaasseess · postgresql (6.3.2 r4) : gestionnaire de base de données SQL ; · postgresql-clients (6.3.2 r4) : divers clients nécessaires pour accéder aux bases de données ; · postgresql-data (6.3.2 r4) : structure initiale de la base de données. · EEddiittoorrss · ed (0.2 r8) : éditeur en ligne GNU ; · jed (0.98.4 r4) : petit éditeur basé sur slang ; · jed-xjed (0.98.4 r4) : version de jed pour X Window ; · joe (2.8 r13) : petit éditeur de texte ; · vim (5.1 r5) : éternel vi... un peu amélioré ; · vim-X11 (5.1 r5) version X Window de vim. · EEddiittoorrss//EEmmaaccss · emacs (20.2 r10) : éditeur de texte ultra puissant, qui permet également de faire son courrier électronique, poster des niouses, faire du ftp, ... · emacs-el (20.2 r7) : sources des fichiers lisp pour emacs ; · emacs-nox (20.2 r7) : emacs, version mode texte ; · emacs-X11 (20.2 r7) : emacs, version X Window ; · EEmmuullaattoorrss · dosemu (0.66.7 r7) : émulteur de programmes MS-DOS ; · xdosemu (0.66.7 r7) : version X Window de dosemu. · EEnnggiinneeeerriinngg · spice (2g6 r7) : programme de simulation de circuits électroniques ; · units (1.0 r8) : outil de conversion d'unités. · GGrraapphhiiccss · ghostscript (3.33 r8) : interpréteur PostScript et PDF pour X Window, et pour bon nombre d'imprimantes ; · ghostscript-fonts (4.0 r5) : polices de caractères utilisées par ghostscript ; · giftrans (1.12.2 r3) : conversion et manipulation de fichiers au format gif ; · libgr-progs (2.0.13 r10) : bibliothèque de gestion des formats FBM, JPEG, PBM, PGM, PNM, PPM, REL, et TIF ; · xfig (3.2 r3) : outil de création de graphiques vectoriels ; · zgv (3.0.2 r5) : outil d'affichage d'images. · MMaaiill · elm (2.4.25 r14) : gestionnaire de courrier électronique en mode texte très puissant. Gère en plus le format MIME. · exmh (2.0.2 r2) : interface graphique au système de courrier électronique mh ; · fetchmail (4.5.3 r1) : outil de récupération de courrier électronique distant en utilisant les protocoles POP ou IMAP ; · mailx (8.1.1 r3) : programme d'envoie de courrier électronique de base utilisé par de nombreux scripts ; · metamail (2.7 r17) : implémentation de MIME ; · mutt (0.91.1 r5) : petit client en mode texte ultra puissant ; · nmh (0.24 r7) : système de gestion de courrier électronique (gérant POP) ; · pine (3.96 r8) : client de courrier et de niouses. · MMaatthh · bc (1.04 r5) : calculatrice en mode texte ; · gnuplot (3.5 r9) : logiciel d'affichage de courbes. · NNeettwwoorrkkiinngg · lynx (2.8 r4) : arpenteur WWW en mode texte ; · ncftp (2.4.3 r3) : client ftp plus simple et plus puissant que ftp ; · tcpdump (3.4a5 r3) : utilisé pour déboguer une liaison réseau, ainsi que pour sécuriser un système ; · wget (1.5.0 r2) : aspirateur de sites web. · NNeewwss · slrn (0.9.4.3 r3) : lecteur de news ; · tin (1.22 r11) : lecteur de news ; · trn (3.6 r12) : lecteur de news. · PPrroodduuccttiivviittyy · ical (2.2 r4) : calendrier et agenda graphique ; · PPuubblliisshhiinngg · groff (1.11a r6) : programme de formatage de texte. Utilisé par toutes les pages de manuel ; · groff-gxditview (1.11a r6) : programme permettant de consulter les documents groff sous X ; · lout (3.08 r3) : langage de formatage de texte ; · lout-doc (3.08 r3) : documentation concernant lout ; · sgml-tools (1.0.6 r2) : ensemble d'outils permettant de transformer du SGML en différents formats. Ce programme est utilisé pour formater tous les documents du LDP, dont ce guide. · texinfo (3.12 r4) : outils de formatage des documents au format texinfo. · PPuubblliisshhiinngg//TTeeXX · tetex (0.4pl8 r11) : version tetex de TeX ; · tetex-afm (0.4pl8 r11) : polices postscripts ; · tetex-dvilj (0.4pl8 r11) : convertisseurs pour HP-GL ; · tetex-dvips (0.4pl8 r11) : convertisseur dvi vers PostScript ; · tetex-latex (0.4pl8 r11) : paquetage des macros LaTeX ; · tetex-texmf-src (0.4pl8 r11) : sources des documents et des composants de TeX ; · tetex-xdvi (0.4pl8 r11) : programme xdvi. · SSoouunndd · aumix (1.8 r2) : mixeur en mode texte ; · cdp (0.33 r9) : permet de jouer des CD audios en ligne de commande ou via une interface en mode texte ; · maplay (1.2 r7) : joue des fichiers au format MPEG-2 sur la carte son ; · playmidi (2.3 r11) : joue des fichiers Midi ; · playmidi-X11 (2.3 r11) : interface X Window pour playmidi ; · sox (11g r7) : programme de conversion de fichiers audio ; · tracker (4.3 r7) : permet de jouer des fichiers au format Amiga (MOD). · BBaassee · basesystem (4.9 r2) : paquetage sans fichier qui est utilisé lors de l'installation ; · crontabs (1.7 r2) : fichier crontab de root ; · dev (2.5.9 r1) : fichiers périphériques du répertoire /dev/ ; · etcskel (1.3 r4) : fichiers qui vont dans /etc/skel et qui sont utilisés lors de la création d'un nouveau compte utilisateur ; · filesystem (1.3.1 r3) : arborescence de base de la Red Hat ; · initscripts (3.67 r1) : scripts d'amorçage de la machine ; · mailcap (1.0 r7) : paquetage mailcap ; · pam (0.64 r2) : outils pour les services d'identifications _P_l_u_g_g_a_b_l_e _A_u_t_h_e_n_t_i_c_a_t_i_o_n _M_o_d_u_l_e_s ; · pamconfig (0.55 r2) : fichiers de configuration pour pam ; · passwd (0.50 r11) : programme de changement de mots de passe, utilisant PAM ; · pwdb (0.54 r8) : _P_a_s_s_w_o_r_d _D_a_t_a_b_a_s_e _L_i_b_r_a_r_y ; · redhat-release (5.1 r2) : fichier de version de la Red Hat ; · rootfiles (1.5 r3) : fichiers d'initialisation pour le super- utilisateur ; · setup (1.9.1 r2) : fichiers importants de configuration ; · termcap (9.12.6 r11) : fichier /etc/termcap pour la gestion des terminaux ; · KKeerrnneell · kernel (2.0.34 r0.6) : noyau Linux version 2.0.34 ; · kernel-headers (2.0.34 r0.6) : fichiers d'en-tête des sources ; · kernel-ibcs (2.0.34 r6) : modules permettant l'exécution de programmes au format IBCS (_I_n_t_e_l _B_i_n_a_r_y _C_o_m_p_a_t_i_b_i_l_i_t_y _S_t_a_n_d_a_r_d) ; · kernel-source (2.0.34 r6) : sources du noyau ; · DDaaeemmoonnss · at (3.1.7 r4) : lanceur différé de programmes ; · bdflush (1.5 r8) : vide les tampons du système ; · gpm (1.13 r6) : gestionnaire de souris en mode texte ; · kernel-pcmcia-cs (2.0.34.0 r6) : gestionnaires pour cartes pcmcia ; · procmail (3.10 r12) : utilisé pour (par exemple) filtrer son courier électronique ; · sendmail-cf (8.8.7 r17) : fichiers de configuration pour sendmail ; · sendmail-doc (8.8.7 r17) : documentation pour sendmail ; · sysklogd (1.3 r22) : programme de log des messages systèmes ; · SysVinit (2.74 r4) : programme de contrôle de l'amorçage de la machine, etc. · uucp (1.06.1 r16) : système de communication entre machine permettant le transfert de courrier, de news ou de fichiers ; · vixie-cron (3.0.1 r24) : ordonnanceur de programmes. · DDeevveellooppmmeenntt · BBuuiillddiinngg · autoconf (2.12 r3) : outil de configuration automatique de programmes en fonction de la plateforme ; · automake (1.3 r2) : générateur expérimental de Makefiles ; · libtool (1.0h r2) : outil de configuration d'applications automatique ; · make (3.76.1 r3) : gestionnaire de projets et de compilation ; · pmake (1.0 r9) : version étendue de make. · DDeebbuuggggeerrss · ElectricFence (2.0.5 r7) : bibliothèque d'aide au débogage d'applications ; · gdb (4.17 r2) : débogueur ; · strace (3.1 r5) : affiche les appels systèmes utilisés par une application ; · xxgdb (1.12 r5) : interface X Window à gdb. · LLaanngguuaaggeess · basic (1.20 r9) : interpréteur basic ; · bin86 (0.4 r5) : assembleur et éditeur de liens ; · ctags (2.0.3 r2) : version améliorée du générateur de motifs ; · egcs (1.0.2 r8) : compilateur C ; · egcs-c++ (1.0.2 r8) : compilateur C++ ; · egcs-g77 (1.0.2 r8) compilateur Fortran 77 ; · egcs-objc (1.0.2 r8) compilateur objective C ; · gcc (2.7.2.3 r11) : compilateur C (principalement utilisé uniquement pour compiler le noyau) ; · guavac (1.1 r2) : compilateur Java indépendant ; · kaffe (0.10.0 r2) : machine virtuelle destinée à exécuter le code Java ; · p2c-devel (1.20 r9) : convertisseur Pascal vers C ; · python (1.5.1 r4) interpréteur du langage orienté objet python ; · python-devel (1.5.1 r4) : fichiers d'en-tête et bibliothèques d'extensions Python ; · python-docs (1.5.1 r4) : documentation sur Python ; · tkinter (1.5.1 r4) : interface graphique pour Python basée sur Tcl/Tk ; · umb-scheme (3.2 r6) : interpréteur scheme ; · xlispstat (3.50 r2) : implémentation du langage lisp pour X Window. · LLaanngguuaaggeess//ffoorrttrraann · f2c (19970805 r3) : convertisseur Fortran vers C. · fort77 (1.14a r4) : périphérique utilisé par f2c. · LLaanngguuaaggeess//TTccll · expect (5.24 r16) : outil de gestion des connexions telnet, ftp, ... ; · tcl (8.0.2 r16) : langage inteprété TCL ; · tclx (8.0.2 r16) : extention du langage TCL ; · tix (4.1.0.6 r16) : extention pour Tk ; · tk (8.0.2 r16) : ensemble de widgets conçus pour fonctionner avec Tcl. · LLiibbrraarriieess · cracklib (2.7 r2) : vérifie les mots de passes ; · e2fsprogs-devel (1.10 r6) : bibliothèque et fichiers d'en-tête pour les programmes de gestion du système de fichiers ext2fs ; · faces-devel (1.6.1 r10) environnement de développement xface ; · gdbm-devel (1.7.3 r17) : environnement de développement permettant de développer des applications utilisant gdbm ; · giflib (3.0 r3) : bibliothèque de chargement de fichiers au format GIF ; · gpm-devel (1.13 r6) : environnement de développement permettant de développer des applications utilisant gpm ; · inn-devel (1.7.2 r13) : bibliothèque nécessaire pour certains programme s'interfaçant avec inn ; · libgr-devel (2.0.13 r10) : utile pour développer des applications utilisant la bibliothèque libgr ; · libjpeg-devel (6b r3) : bibliothèque de manipulation de fichiers au format JPEG ; · libpng-devel (1.0.1 r3) : bibliothèque de manipulation de fichiers au format PNG ; · libstdc++-devel (2.8.0 r8) : implémentation GNU des bibliothèques C++ ; · libtiff-devel (3.4 r2) : bibliothèque de manipulation de fichiers au format TIFF ; · ncurses-devel (4.2 r8) : fichiers d'en-tête et bibliothèques nécessaires pour développer avec ncurses ; · newt-devel (0.25 r2) : fichiers d'en-tête et bibliothèques nécessaires pour développer avec newt ; · postgresql-devel (6.3.2 r4) : fichiers d'en-tête et bibliothèques nécessaires pour développer avec PostgreSql ; · pythonlib (1.22 r1) : code utilisé par certains programmes Red Hat ; · readline-devel (2.3.11 r1) : entrées/sorties écran ; · rpm-devel (2.5 r2) : fichiers d'en-tête et bibliothèques nécessaires pour manipuler les fichiers rpm ; · slang-devel (0.99.38 r4) : bibliothèques et fichiers d'en-tête pour travailler avec le langage slang ; · svgalib-devel (1.2.13 r3) : bibliothèques et fichiers d'en-tête d'accès aux cartes graphiques ; · xpm-devel (3.4j r2) : bibliothèques et fichiers d'en-tête pour manipuler les fichiers xpm ; · zlib-devel (1.1.2 r2) : bibliothèque de (dé)compression à la volée. · LLiibbrraarriieess//LLiibbcc · glibc (2.0.7 r19) : bibliothèque standard C. · glibc-debug (2.0.7 r19) : bibliothèque C compilée pour être utilisée lors de débogages ; · glibc-devel (2.0.7 r19) : utilisé lors de développement de programmes qui utilisent la bibliothèque C ; · glibc-profile (2.0.7 r19) : utilisé lorsque les programmes utilisent gproff ; · TToooollss · binutils (2.9.1.0.4 r2) : ensemble de programmes nécessaires à la compilation ; · bison (1.25 r5) : analyseur grammatical GNU ; · byacc (1.9 r7) : analyseur grammatical ; · cdecl (2.5 r6) : programme permettant de convertir de l'anglais en déclarations de fonctions et vice versa ; · cproto (4.4 r6) : génération de prototypes de fonctions ; · flex (2.5.4a r3) : analyseur lexical ; · gettext (0.10 r5) : outils et bibliothèques de manipulation de messages ; · indent (1.9.1 r8) : programme d'indentation de sources C ; · xwpe (1.4.2 r14) : environnement de développement. · VVeerrssiioonn CCoonnttrrooll · cvs (1.9 r5) : gestionnaire de versions ; · rcs (5.7 r7) gestionnaire de versions. · DDooccuummeennttaattiioonn · faq (5.1 r5) : ensemble de _F_r_e_q_u_e_n_t_l_y _A_s_k_e_d _Q_u_e_s_t_i_o_n_s concernant Linux ; · howto (5.1 r1) · howto-chinese (5.1 r1) · howto-dvi (5.1 r1) · howto-french (5.1 r1) · howto-german (5.1 r1) · howto-greek (5.1 r1) · howto-html (5.1 r1) · howto-indonesian (5.1 r1) · howto-italian (5.1 r1) · howto-japanese (5.1 r1) · howto-korean (5.1 r1) · howto-polish (5.1 r1) · howto-ps (5.1 r1) · howto-sgml (5.1 r1) · howto-spanish (5.1 r1) · howto-swedish (5.1 r1) · howto-turkish (5.1 r1) · indexhtml (5.1 r2) : page d'index Red Hat ; · install-guide (2.3 r1) : guide d'installation de la RedHat ; · lpg (0.4 r2) : guide de programmation ; · man-pages (1.19 r1) : pages de manuel (sections 1 à 8). · nag (1.0 r2) : guide d'administration réseau ; · rhl-alpha-install-addend-en (5.1 r1) : ajout pour Alpha ; · rhl-install-guide-en (5.1 r1) : fuide d'installation Redhat ; · sag (0.5 r2) : Guide d'administration système. · EExxtteennssiioonnss · JJaappaanneessee · kterm (6.2.0 r3) : il s'agit du _K_a_n_j_i _T_e_r_m_i_n_a_l _E_m_u_l_a_t_o_r. · GGaammeess · bsd-games (2.1 r3) : ensemble de jeux en mode texte ; · christminster (3 r4) : jeu d'aventure en mode texte ; · colour-yahtzee (1.0 r8) : version texte du jeu yahtzee ; · fortune-mod (1.0 r6) : programme de génération aléatoire de messages, qui se met généralement au login ; · gnuchess (4.0.pl77 r5) : jeu d'échec GNU, mode texte ou X Window ; · mysterious (1.0 r4) : jeu d'aventure en mode texte ; · pinfocom (3.0 r7) : interpréteur pour les jeux _I_n_f_o_c_o_m ; · scottfree (1.14 r5) : interpréteur pour les jeux _S_c_o_t_t_-_A_d_a_m_s ; · trojka (1.1 r10) : jeu de blocs ; · vga_cardgames (1.3.1 r8) : jeux de cartes divers ; · vga_gamespack (1.3 r8) : jeux divers ; · Libraries · aout-libs (1.4 r9) : vieilles bibliothèques ; · gdbm (1.7.3 r17) : bibliothèque de base de données ; · glib (1.0.1 r2) : bibliothèque pour gk++ ; · ld.so (1.9.5 r6) : chargeur dynamique ; · libc (5.3.12 r27) : bibliothèques standards C ; · libelf (0.6.4 r2) : permet d'accéder au format ELF des exécutables ; · libg++ (2.7.2.9 r9) : implémentation GNU des bibliothèques standards C++ ; · libgr (2.0.13 r10) : bibliothèque de gestion des formats FBM, JPEG, PBM, PGM, PNM, PPM, REL, et TIFF ; · libjpeg (6b r3) : bibliothèque de manipulation de fichiers au format JPEG ; · libpng (1.0.1 r3) : bibliothèque de gestion du format PNG ; · libstdc++ (2.8.0.9 r9) : implémentation GNU des bibliothèques standards C++ ; · libtermcap (2.0.8 r9) : bibliothèque pour accéder à la base de données des terminaux ; · libtermcap-devel (2.0.8 r7) : bibliothèques de développement ; · libtiff (3.4 r2) : bibliothèques de gestion des processus légers ; · ncurses (4.2 r8) : bibliothèque d'affichage en mode texte ; · ncurses (3-1.9.9e r6) : bibliothèque d'affichage en mode texte ; · newt (0.25 r2) : toolkit en mode texte de fenêtrage ; · p2c (1.20 r9) : convertisseur Pascal vers C ; · readline (2.2 r4) : biblothèque de lecteure de ligne ; · readline-devel (2.2 r4) : environnement de développement pour readline ; · slang (0.99.38 r7) : interpréteur de langage ; · svgalib (1.2.13 r3) : bibliothèque graphique en mode SVGA ; · zlib (1.1.2 r2) : bibliothèque de compression et de décompression à la volée. · NNeettwwoorrkkiinngg · biff (0.10 r2) : notification de réception de courrier électronique ; · bootparamd (0.10r5) : programme de boot réseau ; · finger (0.10r3) : pour les curieux ; · ftp (0.10r2) : programme de téléchargement de fichiers ; · netkit-base (0.10 r10) : fournis des clients et des serveurs pour les services standards Unix ; · ntalk (0.10 r3) : démon de communication par talk ; · pidentd (2.7 r2) : serveur d'identification ; · routed (0.10 r8) : protocole RIP ; · rsh (0.10 r4) : rsh, rlogin, rcp, ... ; · rusers (0.10 r8) : clients et servers rusers ; · rwall (0.10 r7) : wall sur un réseau de machines ; · rwho (0.10 r8) : who sur une machine distante ; · samba (1.9.18p7 r2) : serveur SMB ; · telnet (0.10 r5) : connexion à distance ; · tftp (0.10r3) : boot de stations sans disque ; · timed (0.10 r3) : démon horaire ; · ypbind (3.3 r7) : démons fonctions sur les clients NIS ; · ytalk (3.0.3 r1) : extension de talk ; · AAddmmiinn : · anonftp (2.5 r1) : contient les fichiers nécessaires à l'installation d'un serveur ftp anonyme ; · caching-nameserver (5.1 r1) : serveur DNS cache ; · net-tools (1.33 r6) : outils de base nécessaire pour la configuration du réseau ; · nfs-server-clients (2.2beta29 r5) : clients NFS ; · tcp_wrappers (7.6 r4) : outil d'observation et de contrôle de connexions externes ; · DDaaeemmoonnss · am-utils (6.0a16 r2) : nouvelle version de l'automonteur amd ; · apache (1.2.6 r4) : serveur Web ; · autofs (3.1.1 r4) : automonteur Linux ; · bind (4.9.7 r1) : serveur DNS ; · bootp (2.4.3 r7) : serveur de requêtes bootp et DHCP ; · cmu-snmp (3.5 r3) : dérivé du _S_i_m_p_l_e _N_e_t_w_o_r_k _M_a_n_a_g_e_m_e_n_t _P_r_o_t_o_c_o_l ; · dhcp (2.0b1pl1 r2) : server DHCP ; · gated (3.5.9 r3) : démon de routage (RIP, BGP, EGP, HELLO, OSPF) ; · imap (4.1.final r1) : serveur protocoles POP et IMAP ; · intimed (1.10 r6) : serveur de temps ; · mars_nwe (0.99pl6 r3) : serveur de fichier et d'impression compatible NetWare ; · mod_perl (1.11 r3) : module apache permettant l'utilisation de Perl ; · mod_php (2.0.1 r3) : module apache permettant l'utilisation de scripts et de connexions à des bases de données ; · nfs-server (2.2beta29 r5) : serveur NFS ; · portmap (4.0 r11) : gestion des connexions RPC ; · ppp (2.3.3 r4) : démon PPP ; · sendmail (8.8.7 r17) : serveur de courrier électronique ; · squid (1.1.21 r5) : cache/proxy Web ; · squid-novm (1.1.21r5) : version allégée (pas de mémoire virtuelle) ; · wu-ftpd (2.4.2b17 r2) : serveur ftp ; · xntp3 (5.93 r2) : serveur de synchronisation ; · ypserv (1.3.4 r1) : serveur NIS (ou pages jaunes). · NNeewwss · inews (1.7.2 r7) : utilisé par certains lecteurs de news pour poster ; · UUttiilliittiieess · bind-utils (4.9.6 r11) : utilitaires d'accès aux services de nom ; · bootpc (061 r5) : client bootp pour Linux ; · cmu-snmp-devel (3.5 r3) : bibliothèque et fichiers d'en-tête pour CMU SNMP ; · cmu-snmp-utils (3.5 r3) : utilitaires pour CMU SNMP ; · comanche (0.4 r2) : configuration d'apache ; · dip (3.3.7o r11) : programme d'automatisation des connexions SLIP et PPP ; · fwhois (1.00 r8) : programme whois ; · ipxutils (1.0 r1) : programmes pour protocole IPX ; · mgetty (1.1.14 r2) : gestion des logins via la ligne série ; · mgetty-sendfax (1.1.14 r2) : gestion des modem FAX classe 2 ainsi que des files d'attente d'envoie et de réception de faxs ; · mgetty-voice (1.1.14 r2) : gestion de certains modems ayant une extension vocale ; · ncpfs (2.0.11 r5) : programmes pour configurer et utiliser le système de fichiers ncpfs ; · rdate (0.960923 r4) : programme de mise à jour de l'horloge de la machine par rapport à des machines distantes ; · rdist (1.0 r8) : programme de recopie de fichiers entre machines ; · traceroute (1.4a5 r7) : trace la route empruntée par des paquets ; · yp-tools (1.4.1 r2) : clients NIS. · SShheellllss · ash (0.2 r11) : interpréteur de commandes clone de celui de Berkeley ; · bash (1.14.7 r7) : interpréteur de commandes conforme à IEEE 1003.2 ; · mc (4.1.33 r2) : Midnight Commanders ; · pdksh (5.2.12 r4) : reimplémentation de ksh ; · tcsh (6.07 r2) : extension de csh ; · zsh (3.0.5 r3) : interpréteur de commandes. · UUttiilliittiieess · rgrep (0.98.4 r4) : grep récursif ; · AArrcchhiivviinngg · bzip2 (0.1pl2 r1) : compresseur de fichiers ; · cpio (2.4.2 r7) : utilitaires d'archivage de fichiers ; · dhcpcd (0.65 r3) : implémentation d'un client DHCP - voir RFC1541 ; · gzip (1.2.4 r12) : programmes de compression de fichiers ; · lha (1.00 r7) : programme d'archivage et de compression de fichiers ; · ncompress (4.2.4 r10) : outil de compression compatible avec le compress original ; · tar (1.12 r2) : programme d'archivage de données ; · unarj (2.41a r6) : programme inverse de arj ; · unzip (5.31 r2) : décompression de fichiers zip ; · zip (2.1 r3) : compression de fichiers au format zip. · CCoonnssoollee · open (1.4 r2) : lance une commande sur une console virtuelle ; · SVGATextMode (1.8 r1) : outil de manipulation de la console ; · vlock (1.2 r2) : verrouille le terminal courant, ou le système entier de consoles. · FFiillee · file (3.24 r2) : programme d'identification de fichiers ; · fileutils (3.16 r9) : programmes de gestion de fichiers ; · findutils (4.1 r24) : programme de recherche de fichiers sur la machine ; · git (4.3.17 r3) : gestionnaire de fichiers en ASCII ; · macutils (2.0b3 r7) : ensemble d'outils pour manipuler les fichiers provenant d'un Mac ; · mtools (3.8 r2) : ensemble d'outils pour manipuler des systèmes de fichiers MS-DOS ; · sharutils (4.2 r10) : utilitaires utilisés pour encoder des fichiers ; · smbfs (2.0.1 r4) : outils pour monter des systèmes de fichiers à partir de serveurs SMB ; · stat (1.5 r7) : affiche des informations sur le système de fichiers ; · symlinks (1.2 r2) : recherche d'éventuels problèmes avec les liens symboliques sur le système de fichiers ; · tree (1.2 r3) : portage Unix du programme MS-DOS du même nom ; · which (1.0 r8) : indique si un programme se trouve dans votre PATH. · PPrriinnttiinngg · mpage (2.4 r4): transforme plusieurs pages ASCII en un seul fichier PostScript. · SSyysstteemm · adjtimex (1.3 r3) : système de gestion de l'horloge ; · apmd (2.4 r6) : démon APM ; · chkconfig (0.9.3 r2) : gestion du répertoire /etc/rc.d ; · control-panel (3.7 r2) : gestionnaire de configuration Red Hat ; · cracklib-dicts (2.7 r2) : dictionnaires pour le programme crack ; · dump (0.3 r13) : outils de sauvegardes pour systèmes de fichiers ext2 ; · e2fsprogs (1.10 r6) : ensemble de programmes pour créer et maintenir les systèmes de fichiers ext2 ; · eject (1.5 r2) : programmes permettant d'éjecter les CD-ROM et les disquettes ; · ext2ed (0.1 r13) : permet de manipuler le système de fichiers ext2. Uniquement pour les _h_a_c_k_e_r_s ; · getty_ps (2.0.7j r3) : permettent d'accepter des login à partir de la console, terminaux ou modems ; · glint (2.6.1 r1) : interface graphique aux fichiers rpm ; · hdparm (3.3 r2) : utilitaire de configuration des disques dur ; · helptool (2.4 r3) : interface graphique de recherche ; · info (3.12 r4) : arpenteur pour fichiers _i_n_f_o ; · ipfwadm (2.3.0 r6) : outils d'administration pour firewall ; · kbd (0.95 r5) : utilitaires pour modifier la police de caractères de la console, ainsi que le type de clavier utilisé ; · kbdconfig (1.6 r2) : reconfigure la machine pour un nouveau type de clavier ; · kernelcfg (0.5 r2) : interface graphique d'administration de la machine ; · ldconfig (1.9.5 r3) : positionnement des liens symboliques des bibliothèques dynamiques ; · lilo (0.20 r2) : lanceur de Linux autorisant le multi-boot ; · linuxconf (1.11r11) : programme de configuration Redhat ; · logrotate (2.6 r2) : outil de rotation des fichiers de log ; · losetup (2.7l r3) : programme de configuration de _l_o_o_p_b_a_c_k _d_e_v_i_c_e ; · lpr (0.31 r4) : outils d'impression ; · MAKEDEV (2.3.1 r6) : fichiers /dev/ ; · man (1.5d r1) : pages de manuels ; · mingetty (0.9.4 r7) : getty réduit uniquement pour la console virtuelle ; · mkbootdisk (1.0 r2) : permet de créer une disquette d'amorçage ; · mkdosfs-ygg (0.3b r6) : permet de créer des systèmes de fichiers MS-DOS ; · mkinitrd (1.8 r2) : permet de créer un module chargeable pour le boot des machines ayant une carte SCSI ; · mkisofs (1.11.2 r3) : paquetage utilisé pour créer des systèmes de fichiers iso9660 ; · mktemp (1.4 r3) : interface avec la fonction mktemp() ; · modemtool (1.21 r2) : outil de configuration graphique du modem ; · modutils (2.1.85 r4) : programme de chargement et de déchargement des modules chargeables ; · mount (2.7l r3) : programme de montage des systèmes de fichiers ; · mouseconfig (2.6 r2) : système de configuration en mode texte des souris ; · mt-st (0.4 r5) : programme de manipulation des périphériques de sauvegardes ; · netcfg (2.19 r4) : interface graphique d'administration réseau ; · printtool (3.28 r1) : fournis une interface graphique pour configurer la file d'impression ; · procinfo (13 r1) : paquetage permettant d'exploiter le contenu de /proc ; · procps (1.2,7 r5) : paquetage d'outils permettant de connaître l'état de la machine ; · psacct (6.3 r4) : système d'accounting de processus ; · psmisc (17 r3) : affichage d'arborescence de processus ; · quota (1.55 r9) : outils de gestion des quotas ; · rhbackup (0.2 r1) : outil de sauvegarde ; · rhmask (1.0 r3) : outil de diffusion de fichiers ; · rhs-hwdiag (1.20 r2) : outil de diagnostique de la machine ; · rhs-printfilters (1.44 r2) : filtres d'impression Red Hat ; · rhsound (1.5 r4) : outil de configuration du son ; · rmt (0.3 r13) : outil d'accès distant aux périphériques de sauvegardes ; · rpm (2.5.2 r1) : programme pour gérer les paquetages du même nom ; · setconsole (1.0 r4) : outil de configuration des consoles ; · setserial (2.12 r4) : outil de configuration de la ligne série ; · setuptool (1.0 r1) : outil de configuration Redhat ; · sh-utils (1.16 r14) : shell ; · shadow-utils (980403 r3) : programmes d'utilisation des mots de passe shadow ; · sliplogin (2.1.1 r2) : outils pour SLIP ; · statserial (1.1 r10) : affiche la table des communications séries ; · swatch (2.2 r2) : outil d'observation des fichiers de log ; · taper (6.8.4 r2) : programme de sauvegarde ; · time (1.7 r5) : programme affichant des statistiques sur les exécution des programmes ; · timeconfig (2.2 r2) : outis de configuration de l'heure ; · timetool (2.3 r6) : interface graphique pour timeconfig ; · tksysv (1.0 r3) : outils graphiques pour manipuler les niveaux d'initalisation de la machine ; · tmpwatch (1.5.1 r2) : permet de nettoyer certains répertoires ; · tunelp (1.3 r7) : configuration de l'imprimante ; · usernet (1.0.7 r2) : outil graphique de contrôle du réseau ; · util-linux (2.7 r18) : ensemble d'outils nécessaires à Linux pour son administration ; · TTeerrmmiinnaall · dialog (0.6 r11) : permet de construire des interfaces en mode texte ; · screen (3.7.4 r2) : permet d'avoir plusieurs fenêtre virtuelle sur le même terminal. · TTeexxtt · diffstat (1.25 r3) : statistiques sur la comparaison de fichiers ; · diffutils (2.7 r11) : outil de comparaison de fichiers ; · faces (1.6.1 r10) : transformation d'images en fichiers textes ; · faces-xface (1.6.1 r10) : outils pour gérer les en-têtes de courrier X-Faces ; · gawk (3.0.3 r3) : version GNU du programme awk ; · gecko (1.5 r0) : interface par défaut de linuxconf ; · grep (2.2 r2) : programme de recherche de chaînes dans des fichiers ; · ispell (3.1.20 r9) : vérificateur d'orthographe ; · less (332 r2) : version GNU de more ; · m4 (1.4 r10) : expandeur de macro-commandes ; · mawk (1.2.2 r8) : version de awk ; · nenscript (1.13++ r11) : filtre d'impression ; · patch (2.4 r4) : permet de faire l'opération inverse de diff ; · perl (5.004 r6) : langage interprété ; · perl-MD5 (1.7 r2) : fourni l'accès à MD5 ; · sed (2.05 r10) : programme de transformation de fichiers à la volée ; · textutils (1.22 r7) : outils de gestion de fichiers textes ; · words (2 r7) : dictionnaire anglais. · XX1111 · xinitrc (1.4 r2) : script d'initialisation du serveur X ; · AAmmuusseemmeennttss · multimedia (2.1 r10) : programmes pour jouer des CD audios ; · xbanner (1.31 r2) : programme d'affichage de texte, de motifs et d'images sur le fond de l'écran ; · xearth (1.0 r9) : affichage d'un globe 3D en fond d'écran ; · xfishtank (2.0 r9) : un aquarium en fond d'écran ; · xsnow (1.40 r6) : chutes de neige en fond d'écran. · AApppplliiccaattiioonnss · seyon (2.14c r10) : paquetage de télécommunication ; · usermode (1.4.1 r2) : divers outils graphiques ; · xfm (1.3.2 r9) : gestionnaire de fichiers ; · xpdf (0.7a r1) : visionneur de fichiers PDF ; · xrn (8.02 r7) : lecteur de forum Usenet ; · xterm-color (1.1 r7) : xterm en couleur ; · AApppplliiccaattiioonnss//DDeevveellooppmmeenntt · xwpe-X11 (1.4.2 r14) : ensemble de programmes d'édition de texte. · AApppplliiccaattiioonnss//GGrraapphhiiccss · gimp (0.99.28 r10) : superbe programme de retouche d'images ; · gimp-data-extras (0.99.28 r10) : fichiers supplémentaires ; · gimp-devel (0.99.28 r10) : bibliothèques de développement ; · gimp-libgimp (0.99.28 r10) : bibliothèques ; · gv (3.5.8 r4) : outil de navigation dans un document PDF ou PostScript ; · ImageMagick (4.0.5 r2) : outils de visualisation et de manipulation d'images. Il est très puissant, rapide et surtout gère un bon nombre de formats d'image. · mxp (1.0 r8) : générateur de fractales de Mandelbrot ; · transfig (3.2 r4) : outil de conversion d'images ; · xanim (27064 r4) : programme d'animation graphique, donc QuickTime et FLiC ; · xloadimage (4.1 r9) : visualisateur d'images ; · xmorph (1996.07.12 r4) : programme de morphing ; · xpaint (2.4.9 r3) : logiciel de dessin bitmap ; · xv (3.10a r10) : permet de visualiser bon nombre de formats d'image. · AApppplliiccaattiioonnss//NNeettwwoorrkkiinngg · netscape-common (4.05 r7) : est-ce utile de présenter ? · netscape-communicator (4.05 r7) : est-ce utile de présenter ? · netscape-navigator (4.05 r7) : est-ce utile de présenter ? · x3270 (3.1.1.6 r2) : émulateur de terminaux IBM 3270 ; · xgopher (1.3.3 r5) : outil graphique pour utiliser le service gopher. · GGaammeess · acm (4.7 r7) : simulateur de vol ; · xzip (161 r2) : transforme les applications text en applications X. · GGaammeess//SSttrraatteeggyy · spider (1.0 r6) : solitaire ; · xboard (3.2.pl0 r8) : interface graphique à Gnu Chess ; · xdemineur (1.1 r8) : démineur ; · xgammon (0.98 r11) : backgammon ; · xpat2 (1.04 r5) : autre solitaire ; · xpilot (3.6.2 r3) : jeu réseau de combat... enfin bref, essayez ;-) ! · xpuzzles (5.4.1 r3) : assortiment de puzzles. · GGaammeess//VViiddeeoo · cxhextris (1.0 r9) : version couleur TeTris ; · flying (6.20 r8) : ensemble de petits jeux ; · paradise (2.3p19 r9) : jeu d'arcade ; · xbill (2.0 r3) : où comment empécher Bill Gates de conquérir le monde... ; · xbl (1.0h r2) : Tetris 3D ; · xboing (2.4 r2) : une version de Breakout ; · xchomp (1.0 r8) : jeu d'arcade ; · xevil (1.5 r7) : jeu d'aventure ; · xgalaga (1.6c r7) : clone de Galaga... un jeu d'arcade ; · xjewel (1.6 r8) : divers ; · xlander (1.2 r8) : le but est de poser une fusée ; · xtrojka (1.2.3 r2) : genre xjewel et tetris. · GGnnoommee · gnome-libs (0.13 r9) : bibliothèques Gnome ; · gnome-libs-devel (0.13 r9) : bibliothèques Gnome ; · LLiibbrraarriieess · gnome-core (0.13 r9) : bibliothèques centrales de Gnome ; · gnome-graphics (0.13 r9) : bibliothèques graphiques de Gnome ; · gtk+ (1.0.1 r2) : bibliothèques toolkit gtk+ ; · gtk+-devel (1.0.1 r2) : bibliothèques toolkit gtk+ ; · ImageMagick-devel (4.0.5 r2) : bibliothèques et fichiers d'en-tête pour créer des applications utilisant le code d'ImageMagick ; · imlib (1.4 r10) : bibliothèque haut niveau ; · imlib-devel (1.4 r10) : bibliothèque haut niveau ; · nls (1.0 r3) : utilisé par certains vieux binaires X11R5 comme Netscape (v 3.0 ou inférieure); · Xaw3d (1.3 r15) : bibliothèque Xaw semblant être en 3 dimensions ; · Xaw3d-devel (1.3 r15) : bibliothèques statiques et fichiers d'en- tête ; · xpm (3.4j r2) : bibliothèque de manipulation de fichiers Xpm. · SShheellllss · mcserv (4.1.33 r2) : programme serveur pour Midnight Commander ; · tkmc (4.1.33 r2) : programme shell pour Midnight Commander. · UUttiilliittiieess · gnome-linuxconf (0.13 r16) : version X du programme de configuration ; · mkxauth (1.7 r8) : programme de création de fichiers .Xauthority ; · moonclock (1.0 r11) : affiche l'heure, ainsi que l'état de la lune ; · procps-X11 (1.2.7 r5) : outils de visualisation de l'état de la machine ; · rxvt (2.20 r6) : émulateur VT100 ; · Xconfigurator (3.57 r2) : outil de configuration X de Red Hat ; · xdaliclock (2.10 r2) : horloge numérique ; · xlockmore (4.09 r2) : version améliorée de xlock ; · xmailbox (2.5 r4) : programme indiquant que du courrier vient d'arriver ; · xosview (1.5.1 r4) : statistique de fonctionnement de la machine et de trafic réseau ; · xscreensaver (2.16 r4) : économiseur d'écran ; · xsysinfo (1.6 r2) : programme de statistiques sur la machine ; · xtoolwait (1.1 r2) : divers ; · xwpick (2.20 r8) : fait une copie fichier d'une fenêtre. · WWiinnddooww MMaannaaggeerrss · AfterStep (1.4.5.3 r2) : gestionnaire simulant l'environnement NextStep ; · AnotherLevel (0.6.8 r2) ; gestinnaire de fenêtre... ; · fvwm (1.24r r15) : gestionnaire de fenêtres fvwm, première version ; · fvwm2 (2.0.46 r10) : seconde version ; · fvwm2-icons (2.0.46 r10) : icones ; · wmconfig (0.4.1 r2) : outil de configuration du gestionnaire de fenêtres. · XXFFrreeee8866 · X11R6-contrib (3.3.2 r8) : ensemble de programes pour X ; · XFree86 (3.3.2 r13) : bibliothèques X ; · XFree86-100dpi-fonts (3.3.2 r8) : polices de caractères pour X ; · XFree86-75dpi-fonts (3.3.2 r8) : polices de caractères pour X ; · XFree86-devel (3.3.2 r8) : fichiers d'en-tête et bibliothèques statiques pour X ; · XFree86-libs (3.3.2 r13) : fichiers d'en-tête et bibliothèques statiques pour X ; · XXFFrreeee8866//SSeerrvveerrss · XFree86-AGX (3.3.2 r13) : serveur X pour cartes AGX ; · XFree86-I128 (3.3.2 r13) : serveur X pour cartes Imagine 128 ; · XFree86-Mach32 (3.3.2 r13) : serveur X pour cartes Mach32 ; · XFree86-Mach64 (3.3.2 r13) : serveur X pour cartes Mach64 ; · XFree86-Mach8 (3.3.2 r13) : serveur X pour cartes Mach8 ; · XFree86-Mono (3.3.2 r13) : serveur X pour cartes monochromes ; · XFree86-P9000 (3.3.2 r13) : serveur X pour cartes P9000 ; · XFree86-S3 (3.3.2 r13) : serveur X pour cartes S3 ; · XFree86-S3V (3.3.2 r13) : serveur X pour cartes S3 Virge ; · XFree86-SVGA (3.3.2 r13) : serveur X pour cartes Super VGA ; · XFree86-VGA16 (3.3.2 r13) : serveur X pour cartes VGA 16 couleurs ; · XFree86-W32 (3.3.2 r13) : serveur X pour cartes W32. C'est terminé ! Cette description détaille la version mise à jour de la Red Hat 5.1 (dite Manhattan). Regardez dans le répertoire updates : de nouvelles mises à jour s'y trouvent sûrement. 55..55..44.. UUttiilliissaattiioonn dduu pprrooggrraammmmee rrppmm Le programme rpm est une véritable petite merveille qui permet d'installer, de supprimer et de mettre à jour les différents paquetages de votre machine, sans trop se préocupper des problèmes de version de bibliothèques, etc. Je ne vais pas détailler toutes les options de rpm car il y en a vraiment trop (voir rpm --help pour cela, ou la documentation fournie par Red Hat). Globalement, rpm fonctionne selon quatre modes : · iinntteerrrrooggaattiioonn (_-_q). Cette option permet principalement de connaître le contenu d'une archive rpm, la liste des paquetages installés sur la machine, etc. Par exemple, pour savoir les paquetages installés sur votre machine, il suffit de faire : gandalf # rpm -q -a mailcap-1.0-3 rpm-devel-2.2.5-1 groff-1.10-6 On peut aussi grouper les options : -qa est équivalent à -q -a. Pour avoir plus de renseignements sur les différents paquetages installés (numéro de version, quelle distribution, ...,), il suffit de rajouter en plus l'option -l et -i. Par exemple : gandalf # rpm -qil rpm-devel Name : rpm-devel Distribution: Red Hat Linux Colgate Version : 2.2.5 Vendor: Red Hat Software Release : 1 Build Date: Thu Sep 05 23:14:10 1996 Install date: Wed Nov 13 11:30:50 1996 Build Host: porky.redhat.com Group : Development/Libraries Source RPM: rpm-2.2.5-1.src.rpm Size : 136142 Summary : Header files and libraries for programs that manipulate rpm packages Description : The RPM packaging system includes a C library that makes it easy to manipulate RPM packages and databases. It is intended to ease the creation of graphical package managers and other tools that need intimate knowledge of RPM packages. /usr/include/rpm /usr/include/rpm/dbindex.h /usr/include/rpm/header.h /usr/include/rpm/messages.h /usr/include/rpm/rpmerr.h /usr/include/rpm/rpmlib.h /usr/lib/librpm.a Ces options peuvent être utilisées sur un fichier rpm que vous souhaitez installer pour savoir ce qu'il contient : il suffit d'ajouter l'option -p : gandalf # rpm -qlp giftrans-1.11.1-4.i386.rpm /usr/bin/giftrans /usr/man/man1/giftrans.1 Si vous ajoutez l'option -i, vous obtiendez les renseignements sur le paquetage. · iinnssttaallllaattiioonn (_-_i). Une fois que le fichier à installer est connu, passons à l'installation. Pour cela, il suffit de faire : gandalf# rpm -i howto-sgml-4.0-1.i386.rpm · ddeessttrruuccttiioonn. Installer c'est bien... mais comment supprimer un paquetage devenu inutile ? C'est tout simple : gandalf# rpm -e howto-sgml-4.0-1 · mmiissee àà jjoouurr. Enfin, pour terminer cette courte introduction à l'utilisation de rpm, nous allons voir la mise à jour. Vous avez donc installé quelques paquetages fort intéressants, et oh surprise, une nouvelle version du programme vient de sortir. Il suffit de récupérer la nouvelle version. Normalement, il convient de détruire l'ancienne et d'installer la nouvelle. Utiliser pour cela l'option update de rpm : gandalf# rpm -U howto-sgml-4.0-2.i386.rpm Il existe bon nombre d'autres options. Consulter la documentation pour plus de renseignements. 66.. IInnssttaallllaattiioonn Après ces préliminaires, on passe aux choses sérieuses. Dans un premier temps, faites une sauvegarde du disque dur, c'est beaucoup plus prudent, et mettez de côté une disquette formatée. Ensuite, éteindre la machine, et insérer la disquette de boot. Avertissement préliminaire : ne jamais éteindre brutalement la machine sous LLiinnuuxx ! En effet, LLiinnuuxx comme tout système Unix, utilise des caches disques en mémoire vive : vous perdriez des informations en éteignant brutalement la machine. Les seules manières adéquates d'éteindre LLiinnuuxx sont soit de faire un _C_t_r_l_-_A_l_t_-_D_e_l, soit l'une de ces trois commandes à lancer en tant que _r_o_o_t : halt, reboot, shutdown (Consultez le manuel pour connaître les différences). 66..11.. IInnssttaallllaattiioonn iinniittiiaallee Allumer la machine. LLiinnuuxx boote sur la disquette _b_o_o_t. Dans le cas de la Slackware, il va demander d'insérer une seconde disquette, dite _r_o_o_t. Remplacer la disquette, puis appuyer sur Entrée. Remarque à propos du message "BIOS32" que certains peuvent voir lors du boot : ce message signifie que votre bus est PCI. Si vous obtenez le message suivant : "BIOS32 extended no supported", cela signifie donc que la machine n'est pas PCI. Il ne faut pas s'inquiéter et utiliser malgré cela la disquette de boot standard. Si la machine ne démarre pas grâce à la disquette de boot, recréez une disquette de boot grâce à un autre support. Lire la section du présent document réservée au "signal 11". Avant de se lancer dans l'installation du système, voici quelques trucs. LLiinnuuxx utilise un procédé qui installe votre système d'une manière quasi automatique. Dans le cas de la Red Hat, l'installation est vraiment toute simple et progressive. Il suffit de suivre les indications. Attention toutefois : le clavier est en qwerty dès le départ. Le passage en clavier français se fera plus tard. Depuis les dernières versions des distributions, ce problème est résolu, puisque le choix du clavier s'effectue dès le début. 66..22.. PPaarrttiittiioonnnneemmeenntt dduu ddiissqquuee Il va falloir dans un premier temps effectuer le formatage du disque. Vous allez créer au moins une partition LLiinnuuxx avec le système de fichiers _e_x_t_2_f_s, et au moins une partition de swap (le swap est un système de mémoire virtuelle, c'est-à-dire que si vous n'avez pas assez de mémoire pour faire fonctionner tel ou tel programme, il va alors utiliser l'espace disque comme de la mémoire... Cette explication est un peu simplifiée mais, en gros, c'est ça.) Il est beaucoup plus facile de supprimer une partition de swap que d'en créer une après coup donc prévoir large. Si vous voulez faire tourner X Window, 8 Mo de mémoire vive sont absolument nécessaires. Les disques sous LLiinnuuxx sont des _d_e_v_i_c_e_s. Par exemple, le premier disque dur est /dev/hdax, le second /dev/hdbx pour un contrôleur IDE. Le x correspond au numéro de la partition du disque. Si vous avez déjà un système MS-DOS installé, il se trouve sûrement sur /dev/hda1. LLiinnuuxx va alors vous guider dans l'installation. Il vous permet d'installer votre système d'une manière complète d'un seul coup. Le seul problème, c'est que si jamais vous ratez quelque chose, il est fort probable que vous serezobligé de tout recommencer. Si le disque n'est pas partitionné, c'est le programme fdisk qui va permettre de réaliser l'opération. Sa syntaxe est : fdisk /dev/disque. Dans le cas de la Red Hat, il se lance tout seul. Par exemple, si vous souhaitez installer LLiinnuuxx sur le second disque IDE, tapez fdisk /dev/hdb. Les commandes de fdisk (dans l'ordre d'utilité) sont : · m : la liste de toutes les commandes ; · p : affiche les partitions ; · n : ajouter une nouvelle partition ; · d : détruire une partition ; · t : changer le type de la partition ; · q : qquuiitttteerr ssaannss ssaauuvveeggaarrddeerr les changements ; · w : ssaauuvveeggaarrddeerr eett qquuiitttteerr. Pour ajouter une partition, tapez n puis spécifiez le numéro de la partition (principale ou étendue), le numéro du bloc de début et sa taille (une taille paire est conseillée). Ensuite, donnez-lui son type (avec t) : · 83 : LLiinnuuxx · 82 : Swap. Bon, sauvegardez (w). La partition est créée. Il est toutefois possible que vous ayez besoin de rebooter Linux pour qu'elle soit prise en compte par le noyau. La Red Hat s'occupe du formatage automatique des partitions. Pour les formater à la main, faites : mke2fs -cv /dev/hdax où _x correspond au numéro de la partition. 66..33.. IInnssttaallllaattiioonn aavveecc llaa SSllaacckkwwaarree Maintenant, lancez le programme _s_e_t_u_p. C'est un programme en couleurs (ça dépend de la disquette Root que vous avez choisie), avec un menu. Le formatage des partitions peut y être effectué sans problème. Configurez votre partition de swap et installez la série A sur la partition. La configuration swap est très simple à effectuer : choisir l'option swap, et suivre les instructions. Pour installer la série A, choisir l'option source, et choisir l'option adéquate, par exemple "disquettes". Ensuite, spécifiez le périphérique à utiliser pour accéder au lecteur A. On va maintenant spécifier les séries à installer, dont la liste apparaît. Choisir la série. Vous avez alors la liste qui s'affiche. Choisissez la série. Le programme d'installation vous demande alors si vous souhaitez lancer l'installation. Répondez oui. Puis, il vous demande un mode de sélection. Choisissez _N_o_r_m_a_l. A partir de là, c'est à vous de jouer. Il va vous demander d'insérer chacune des disquettes, puis il va vous donner la liste des programmes à installer. Bonne partie de mange-disquettes ! Il est aussi possible d'installer grâce à un CD-ROM contenant une distribution. Si le lecteur n'est pas reconnu il n'est pas nécessaire de recopier tous les fichiers sur disquettes avant de procéder à l'installation. Il faut recopier tous les fichiers de la distribution sur une partition MS-DOS puis relancer le système grâce aux disquettes boot/root, invoquer setup puis lui indiquer la partition MS-DOS où se trouvent les fichiers nécessaires. Utilisez les menus pour effectuer toutes ces opérations. LLiinnuuxx va vous demander de créer une disquette de boot. C'est cette disquette qui va désormais vous permettre de lancer le système. La partition LLiinnuuxx formatée, les partitions de swap générées, la série installée et la disquette magique prête, il n'y plus qu'à rebooter. Donc, insérez la disquette fraîchement configurée par LLiinnuuxx dans le lecteur et appuyez sur les touches _C_t_r_l_-_A_l_t_-_D_e_l. Lorsque le système aura correctement démarré, loggez vous en _r_o_o_t. Vous devez faire très attention maintenant. L'utilisateur _r_o_o_t a tous les droits, dont celui de tout détruire, et cela arrive très (trop) fréquemment. 66..44.. IInnssttaallllaattiioonn aavveecc llaa RReedd HHaatt L'installation avec la Red Hat est très intuitive. À partir de la version 4.2, la procédure d'installation demande à l'utilisateur de préciser le type de clavier employé : sélectionner fr-latin1 (attention : les premières versions des versions 5.0 françaises proposaient une mauvaise valeur par défaut, ce problème a été corrigé depuis). Une fois le partitionnement du disque réalisé, il suffit de choisir le type d'installation souhaitée, ainsi que les paquetages que vous souhaitez utiliser. Une fois ce choix réalisé, cette distribution va réaliser l'installation complète et d'une manière automatique. Vous pouvez aller boire un café pendant que l'installation de la machine se poursuit. 77.. AAddmmiinniissttrraattiioonn ssoouuss LLiinnuuxx 77..11.. CCllaavviieerr FFrraannççaaiiss Bien, commençons par la chose utile : le clavier français. Normalement, les distributions configurent ça tout seul... mais on ne sait jamais ! Une fois loggé en _r_o_o_t, tapez la commande suivante : /usr/bin/loadkeys /usr/lib/kbd/keytables/fr-latin1.map Si vous avez un clavier suisse-romand, utilisez sf-latin1.map. Maintenant, le clavier est français ! Attention, cela reste temporaire. La solution la plus simple est de le rajouter dans le fichier /etc/rc.local avec la Slackware mais vous pouvez aussi utiliser le programme /sbin/setup ou directement /usr/lib/setup/SeTkeymap. Pour la Red Hat, réaliser l'opération avec le panneau de configuration kbdconfig. Avec ces deux distributions, la procédure d'installation aura normalement procédé à cette configuration et vous n'aurez probablement rien à faire, sauf si vous voulez changer de type de clavier... 77..22.. LLIILLOO _L_I_L_O (LLIInux LLOOader) permet d'avoir un système multiple d'amorçage : MS-Windows, MS-Dos, Linux, etc. Ce programme va se loger dans le secteur de boot de votre disque pour vous permettre de sélectionner la partition sur laquelle booter. Si vous avez installé _L_I_L_O sur le disque dur et que cela plante, bootez avec une disquette MS-DOS et tapez FDISK /MBR pour restaurer les paramètres de boot du DOS, et enlever _L_I_L_O par la même occasion. Il suffira de relancer _L_I_L_O en ayant rebooté sous Linux avec une disquette de boot. Le fichier de configuration LILO se trouve généralement dans le fichier /etc/lilo.conf. Les distributions permettent la génération d'un fichier d'une manière automatique. Voici un exemple de fichier (le mien) : boot = /dev/hda # disque sur lequel on met le fichier lilo : delay = 300 # temps d'attente avant le lancement du boot. # permet d'avoir le temps de selectionner la partition # a amorcer. vga = normal # mode de l'écran a choisir ramdisk = 0 # paranoia setting # Linux : dernière version : le Pc boote ici par défaut image = /vmlinuz # Noyau Linux 1 (chemin complet et nom du fichier) root = /dev/hda2 append="no-hlt, aha1542=0x230" label = linux read-only other = /dev/hda1 # Partition 1 : label = dos # texte à taper pour booter dessus : dos table = /dev/hda # disque : /dev/hda image = /zimage # Noyau Linux 2 root = /dev/hda2 # Racine (Partition 2 de mon disque) append="aha1542=0x230" # append... voir explication plus bas label = old # Texte a taper : old read-only # Plusieurs questions peuvent vous effleurer l'esprit : 1. read-only : lorsque vous amorcez LLiinnuuxx, il va faire une vérification de la cohérence des informations des partitions Linux. C'est une vérification des systèmes de fichiers. Pour réaliser cette opération, il est indispensable que la partition soit en lecture seule. En effet, vérifier un disque en cours d'utilisation pourrait tout détruire. Cette vérification n'a pas lieu à tous les coups si vous éteignez bien la machine (appuyez sur les touches _C_t_r_l_-_A_l_t_-_D_e_l ou utilisez les commandes halt, reboot et shudown). Cette vérification n'est de toute manière lancée que sur les partitions LLiinnuuxx. C'est le programme fsck qui effectue cette opération. Je vous déconseille de le lancer "pour voir" : une utilisation erronée peut provoquer des pertes de données sur le disque ! 2. pourquoi deux noyaux ? C'est assez simple : LLiinnuuxx change, bouge. Les noyaux sont modifiés assez souvent. Par exemple, je peux amorcer actuellement ma machine soit avec un noyau stable (2.0.30), soit avec un noyau de développement (2.1.42). 3. append : Cette option est très importante : elle permet de donner un ou plusieurs paramètres au noyau Linux. Par exemple, ici je lui indique que ma carte SCSI se trouve à l'adresse 230. Dans le cas contraire, elle ne serait pas reconnue. Cette option est utilisée également si vous avez plusieurs interfaces réseau, SCSI, etc. Pour installer le fichier, exécutez /sbin/lilo et c'est tout ! En cas de problème avec LILO il faut d'abord essayer de supprimer l'option "compact" qui peut se trouver dans son fichier de configuration. Ne surtout pas oublier de relancer LILO après chaque modification de son fichier de configuration ! 77..33.. MMoonnttaaggee aauuttoommaattiiqquuee ddee ppaarrttiittiioonnss :: //eettcc//ffssttaabb Le fichier /etc/fstab contient toutes les informations concernant le montage de vos partitions. Voici un exemple : #/etc/fstab # Device Repertoire type options frequence passe # Linux /dev/hda2 / ext2 defaults 5 1 /dev/hdb2 /usr2 ext2 defaults 5 2 /dev/sda2 /usr3 ext2 defaults 10 2 # MS-DOS /dev/hda1 /dos msdos defaults 0 0 /dev/hdb1 /dos2 msdos defaults 0 0 # Processus none /proc proc defaults 0 0 # Partition de swap /dev/hda3 none swap defaults 0 0 # Fichier de swap /usr2/swap_file /usr2 swap defaults 0 0 Voici une description des six colonnes : 1. device (périphérique) de la partition. Dans le cas d'un fichier de swap, c'est le nom du fichier. 2. point de montage de la partition ; 3. type de la partition ; 4. options (vous pouvez spécifier une partition en lecture seule, etc). 5. fréquence correspond au nombre de jours entre deux traitements du fichier par la commande dump. Cette commande n'existe que pour ext2fs (c'est un portage de la version 4.4BSD) mais n'est pas encore incluse dans toutes les distributions. 6. Ordre de tests des partitions (fsck). Si vous mettez 0, aucune vérification automatique n'est effectuée lors du démarrage. Les partitions situées sur un même disque seront testées d'une manière séquentielle mais si elles sont situées sur deux disques différents, c'est fait en parallèle. Ajouter ici les partitions dont vous avez besoin. Les volumes NFS profiteront des paramètres suivants : rsize=8192,wsize=8192, surtout si vous possèdez une carte réseau rapide. Pour autoriser un utilisateur à monter un volume il faut créer une ligne contenant l'option user. Exemple (cas d'un CD-ROM SCSI) : /dev/scd0 /mnt/cd iso9660 user,exec,dev,nosuid,ro,noauto N'importe quel utilisateur pourra dès lors monter et démonter un CD (en utilisant mount /mnt/cd, umount /mnt/cd) La page de man de mount, section 8 (man 8 mount) explique la signification des options possibles. 77..44.. MMoonnttaaggee mmaannuueell ddee ppaarrttiittiioonnss Comme nous l'avons vu dans le paragraphe précédent, les partitions sont montées lors de l'amorçage grâce au fichier /etc/fstab. Vous pouvez toutefois les monter à la main. Il faut alors utiliser la commande mount. Par exemple, pour monter la disquette A:, faire : mount -t msdos /dev/fd0 /mnt. Le -t indique le type du support. Parmi les plus courants, on trouve · ext2 : filesystem LLiinnuuxx ; · msdos : disque(tte)s MS-DOS ; · vfat : disque(tte)s MS-Windows 95 ; · iso9660 : Cd-ROM ; · nfs : montage de partitions à travers le réseau. Bien évidement, il faut que ces types de systèmes de fichiers aient été intégrés au noyau... Le /dev/fd0 est le nom du fichier spécial correspondant au périphérique. Le répertoire est le point de montage. Pour démonter, tapez umount /mnt. 77..55.. MMiissee eenn ppllaaccee ddeess qquuoottaa 77..55..11.. LLooggiicciieellss nnéécceessssaaiirreess Le support des quota disque a été intégré dans le noyau Linux depuis la version 1.3.46. Il vous faut donc utiliser un noyau postérieur pour pouvoir bénéficier des quota. Vous avez également besoin des outils de gestion des quota. On peut les trouver sur : ou, plus près, sur : L'archive à récupérer s'appelle quota-1.51.tar.gz et se trouve dans le sous-répertoire utils. Il y a également un sous-répertoire doc contenant des documentations (principalement les pages de manuel des outils) au format HTML. Les utilisateurs de la Red Hat pourront préférer un paquetage rpm des sources ou précompilé. 77..55..22.. CCoommppiillaattiioonn ddeess uuttiilliittaaiirreess Après avoir extrait le contenu de l'archive quota-1.51.tar.gz, il vous faut compiler ces utilitaires. Cela se fait en tapant tout simplement make. Dans certains cas (selon la version de bibliothèque C utilisée), il peut être nécessaire d'ajouter -I. à la variable CFLAGS définie dans le Makefile. Si vous utilisez le système de fichiers ext2 et que vous avez installé les bibliothèques contenues dans la distribution e2fsprogs (utilitaires de gestion du système de fichiers ext2), vous pouvez inclure le support ext2fs dans les utilitaires des quota, afin d'accélérer leur exécution. Pour cela, éditez le fichier Makefile afin que la variable CFLAGS contienne -DEXT2_DIRECT et que la variable EXT2LIBS contienne -lext2fs -lcom_err avant de compiler les programmes. Après la compilation, installez les utilitaires par la commande make install. Attention, la commande quota est installée dans le répertoire /usr/ucb qui n'existe pas sur la plupart des installations Linux. Il vous faut donc modifier le Makefile pour installer cette commande dans un autre répertoire (/usr/bin est un bon choix). Il peut également être nécessaire de définir la variable LN à la valeur ln -sf. 77..55..33.. AAccttiivvaattiioonn ddee llaa ggeessttiioonn ddeess qquuoottaa ddaannss llee nnooyyaauu Pour utiliser les quota, le noyau doit avoir été compilé avec le support des quota. pour cela, vous devez avoir un noyau dans lequel vous ayez répondu "Y" à la question "Quota support". Attention : le support des quota n'est pour l'instant effectif que sur les systèmes de fichiers ext2. 77..55..44.. AAccttiivvaattiioonn ddeess qquuoottaa ssuurr lleess ssyyssttèèmmeess ddee ffiicchhiieerrss Il existe deux types de quota : les quota liés aux utilisateurs et les quota liés aux groupes d'utilisateur. Les premiers définissent le nombre maximal de fichiers et de blocs disque associés à chaque utilisateur, les seconds définissent le nombre maximal de fichiers et de blocs disque associés à chaque groupe d'utilisateurs. Les deux types de quota peuvent être activés séparément. Pour activer les quota pour les utilisateurs, il faut indiquer l'option usrquota pour les systèmes de fichiers concernés dans /etc/fstab. Les quota concernant les groupes sont régis par l'option grpquota. Les fichiers de définition des quota s'appellent respectivement quota.user et quota.group et sont situés dans la racine de chaque système de fichiers concerné. Il est possible de modifier les noms de fichiers de gestion des quota en utilisant les syntaxes suivantes : usrquota=nom_de_fichier grpquota=nom_de_fichier Voici un exemple de fichier /etc/fstab : /dev/hda2 / ext2 defaults,rw 0 1 /dev/hdb2 /home ext2 defaults,rw,usrquota,grpquota 0 1 /dev/sda1 /usr/src ext2 defaults,rw,usrquota 0 1 L'activation des quota est ensuite lancée par la commande quotaon. Pour les activer automatiquement lors du démarrage du système, il faut ajouter dans un fichier d'initialisation (situé généralement dans /etc/rc.d) les lignes : # Enable quota /usr/sbin/quotaon -avug Il peut également être nécessaire de vérifier la cohérence des informations de gestion des quota après des arrêts intempestifs. Pour cela, il faut utiliser la commande quotacheck : /usr/sbin/quotacheck -avug Cette commande doit également être exécutée la première fois pour créer les fichiers deux fichiers de gestion des quotas : quota.user et quota.group. En effet, ils ne sont pas créés automatiquement. Si les utilitaires ont été compilés avec -DEXT2_DIRECT, la commande quotacheck doit être relativement rapide. Dans le cas contraire, elle peut être très lente car elle doit explorer tous les répertoires du système de fichiers de manière hiérarchique. Il est, de toutes façons, conseillé de la lancer automatiquement lors du démarrage avant l'activation des quota par quotaon : # Check quota /usr/sbin/quotacheck -avug 77..55..55.. AAttttrriibbuuttiioonn dd''uunn qquuoottaa àà uunn uuttiilliissaatteeuurr La commande edquota est utilisée pour affecter un quota à un utilisateur ou à un groupe d'utilisateurs. Sa syntaxe est edquota -u utilisateur ou edquota -g groupe. Cette commande lance un éditeur de texte contenant la définition des quota attribués à l'utilisateur ou au groupe et prend en compte leur nouvelle valeur lorsque le fichier est ré-écrit. Pour chaque utilisateur ou groupe, il existe deux limitations : le nombre de fichiers et le nombre de blocs disque (exprimés en blocs de 1024 octets). Pour chacune, il existe deux limites : 1. la limite "douce" : lorsque cette limite est atteinte ou dépassée, un message d'avertissement est affiché lors de chaque nouvelle allocation de fichier ou de bloc ; 2. la limite "dure" : lorsque cette limite est atteinte, il est impossible à l'utilisateur de créer de nouveau fichier ou d'allouer de nouveau bloc. La limite "douce" se transforme en limite "dure" quand elle a été atteinte ou dépassée depuis un certain temps (sept jours par défaut). 77..55..66.. SSttaattiissttiiqquueess ssuurr lleess qquuoottaa Tout utilisateur peut obtenir l'état des quota qui lui sont attribués (les limites sur le nombre de fichiers et de blocs qui lui sont alloués) grâce à la commande quota. Le super-utilisateur peut obtenir les mêmes informations sur tout utilisateur ou groupe avec la même commande : quota -u utilisateur ou quota -g groupe. Il peut de plus utiliser la commande repquota pour obtenir une liste des quota associés à un ou plusieurs systèmes de fichiers. 77..55..77.. AAuuttrreess ddooccuummeennttaattiioonnss ssuurr lleess qquuoottaa L'implémentation des quota dans Linux est compatible avec l'implémentation originale dans 4.2BSD Unix. Toutes les documentations concernant les quota dans BSD, que ce soit au niveau des commandes ou au niveau de l'interface de programmation, sont donc utilisables. Les pages de manuel des utilitaires sont assez claires et très instructives. Enfin, les documentations diffusées en format HTML forment une bonne introduction à la gestion des quota. 77..66.. mmttoooollss Plutôt que de monter vos partitions MS-DOS, je vous conseille d'utiliser les mtools. Il s'agit de l'équivalent des commandes MS-DOS, mais avec un m avant ! Exemple : mcopy toto.c a: . Si vous souhaitez copier un fichier texte pour qu'il soit exploitable sous MS-DOS, ou l'inverse, n'oubliez pas d'ajouter l'option -t : cela convertit le caractère de fin de ligne qui est différent entre les deux systèmes. En principe, ils sont déjà à peu près configurés. Au cas où, vous devez modifier le fichier /etc/mtools.conf. drive a: file="/dev/fd0" exclusive drive b: file="/dev/fd1" exclusive # 1er disque Dur drive c: file="/dev/hda1" # 2nd disque Dur drive d: file="/dev/sda1" mtools_lower_case=1 Attention : le fichier a été modifié depuis la dernière version. C'est ici le dernier format qui est présenté car beaucoup plus clair et simple à utiliser. De plus, cette nouvelle version permet d'utiliser les noms longs (vfat de MS-Windows 95). 77..77.. SSwwaapp :: ccrrééaattiioonn ddee llaa ppaarrttiittiioonn Pour rajouter une partition de swap de 8 Mo (8192 Ko), il faut d'abord créer la partition à l'aide du programme fdisk, puis soit vous passez par le programme _s_e_t_u_p de la Slackware, soit vous le faites à la main (ATTENTION : commande DANGEREUSE, destruction du contenu de la partition concernée ASSURÉE) : mkswap /dev/hda3 8192 Rajoutez la ligne /dev/hda3 swap swap defaults 0 0 dans /etc/fstab. Enfin, pour que ça fonctionne, réamorcez la machine ou lancez swapon -a. 77..88.. SSwwaapp :: ffiicchhiieerr Pour le fichier, c'est plus compliqué. Invoquer : dd if=/dev/zero of=/usr2/swap_file bs=1024 count=8192 mkswap /usr2/swap_file 8192 Ajoutez dans /etc/fstab la ligne : /usr2/swap_file /usr2 swap defaults 0 0. Faites bien attention à mettre cette ligne après le montage de la partition /usr2. Sinon, ce n'est pas près de fonctionner. Désormais, vous êtes obligé pour quitter LLiinnuuxx de faire un swapoff -a reboot #Ou autre En effet, si vous ne désactivez pas le fichier d'échange, LLiinnuuxx ne va pas pouvoir démonter la partition, et donc, il fera un fsck dessus à chaque fois que vous relancerez votre machine. Il est aussi possible, avec certains systèmes, de placer la commande swapoff dans /etc/rc.d/rc.K ou bien /etc/rc.d/init.d/halt afin d'automatiser cela. 77..99.. AAjjoouutteerr uunn uuttiilliissaatteeuurr,, uunn ggrroouuppee Si vous possèdez la Red Hat, utilisez le panneau de configuration (control-panel ou bien directement usercfg, utilisables par root sous X Window) : c'est vraiment très bien fait. Ajouter un utilisateur se fait en deux temps et trois mouvements. Deux fichiers sont importants : /etc/passwd et /etc/group. Une ligne du fichier passwd est composée de cette manière : gandalf::501:100:Eric Dumas:/home/gandalf:/bin/bash sgandalf::0:0:Super Eric Dumas:/:/bin/sh Une ligne est composée de 7 colonnes : 1. Nom de l'utilisateur : 8 caractères max ; 2. Mot de passe chiffré ; 3. Numéro d'identificateur unique de l'utilisateur (uid). Rq : 0 = root ; 4. Numéro du groupe (gid) ; 5. Nom "officiel" de l'utilisateur (dit GECOS) ; 6. Répertoire racine de l'utilisateur ; 7. Interpréteur de commandes. Si le champ mot de passe contient le caractère x, c'est que vous utilisez les shadow. Le mot de passe chiffré se trouve dans le fichier /etc/shadow. Cette configuration permet en plus de définir la durée de validité des mots de passe. Le fichier /etc/group contient la liste des groupes de la machine. Par exemple, le groupe 100 est : users::100:games,gandalf Pour ajouter un utilisateur _t_o_t_o, faire 1. ajoutez-le dans /etc/passwd ; 2. si besoin est, créez le groupe dans lequel il va se trouver, en modifiant /etc/group ; 3. créez son home directory : mkdir /home/toto cp /etc/skel/* /home/toto chown -R toto.le_groupe_de_toto /home/toto 4. Enfin, donnez-lui un mot de passe en tapant passwd toto . Vous n'avez plus qu'à essayer. Je vous conseille très fortement de travailler sous un utilisateur commun. En effet, il est très dangereux de travailler en root. Une fausse manipulation et vous devez tout réinstaller, voire perdre de précieux fichiers personnels. 77..1100.. //eettcc//rrcc..dd//rrcc..llooccaall LLaanncceemmeennttss ddee pprrooggrraammmmeess ppeerrssoonnnneellss lloorrss dduu bboooott :: C'est dans ce fichier que vous allez mettre tous les programmes personnels que vous souhaitez lancer au boot. En voici une version : #! /bin/sh # du menage en v'la,... echo "Cleaning /tmp..." find /tmp -type f -mtime +1 | xargs -r rm find /tmp -type d -mtime +1 | xargs -r rmdir # Vive l'azertyuiop :-) echo "Loading french keyboard..." /usr/bin/loadkeys /usr/lib/kbd/keytables/fr-latin1.map Ce qui est important, c'est le clavier français. Si vous ajoutez cette ligne, le clavier sera français dès le boot. En cas de problème il faut modifier ainsi fr-latin1.map : keycode 3 = eacute two asciitilde keycode 8 = egrave seven grave keycode 10 = ccedilla nine asciicircum keycode 14 = Delete BackSpace 77..1111.. OOrrddoonnnnaanncceemmeenntt ddee ttrraavvaauuxx :: llaa ccrroonnttaabb La crontab est une table qui contient des commandes qui doivent être lancées à intervalle régulier. Vous pouvez y mettre la sauvegarde journalière, etc. Le format est assez simple : # Faire une sauvegarde tous les Lundi a 2 heures du matin 0 2 * * 1 /home/gandalf/backup # Rebooter la machine tous 1ers et 15 du mois a 4h15. 15 4 1,15 * * /sbin/shutdown -r +3 Les 5 premières colonnes sont : 1. Minute (0 à 59) ; 2. Heure (0 à 23) ; 3. Jour du mois (1 à 31) ; 4. Mois (1 à 12) ; 5. Jour de la semaine (0 à 6 : 0 = Dimanche, 1 = Lundi). Ensuite vient la commande. Cette crontab est très utile si vous utilisez UUCP (pour envoyer le courrier, récupérer les news, etc). Tout utilisateur peut se créer une crontab grâce à la commande crontab. 77..1122.. IImmpprriimmeerr !! Maintenant que la machine fonctionne, voyons comment imprimer. Les imprimantes sont gérées par le programme lpc et par le démon lpd. Le démon lpd doit être lancé au boot. Il est lancé soit dans rc.M soit dans rc.inetd2 (vous devez le voir lorsqu'il lance tous les démons de la machine. Si ce n'est pas le cas, il faut décommenter quelques lignes dans l'un des fichiers cités). Supposons que l'imprimante s'appelle betty. Dans un premier temps, dans le fichier /etc/rc.d/rc.local, ajoutez echo "Setting up printer betty" /usr/sbin/lpc up betty Passons maintenant aux choses sérieuses. Le fichier dans lequel va être décrit l'imprimante est le fichier /etc/printcap. Exemple : betty|lp:lp=/dev/lp1:sd=/var/spool/lp1:sh:\ lf=/var/adm/lpd-errs:of=/etc/start-dj500: La première colonne représente le nom de l'imprimante. J'ai mis betty et lp car de cette manière, c'est l'imprimante par défaut. Ensuite, la configuration se fait via des mots-clefs. Pour plus d'information, faites man printcap. Voici quand même une description de ceux utilisés. · lp : device sur lequel est branché l'imprimante (LPT1 ici) ; · sd : répertoire du spool d'impression ; · sh : supprime la page d'entête ; · lf : fichier d'erreurs ; · of : programme de filtrage. Comment ça marche ? Bon, supposons que j'ai un fichier toto.ps. Je fais donc lpr toto.ps (ou lpr -Pbetty toto.ps). Le fichier va être déposé dans le répertoire /var/spool/lp1. Le démon va ensuite envoyer le fichier sur le programme de filtrage. Ce système permet d'imprimer des fichiers ayant des formats assez variés. Voici le fichier de filtrage (Pour HP-500,510,520,etc). #!/bin/sh # Script d'impression pour imprimante HP-500 Noir et Blanc # # Eric.Dumas@freenix.org # # Version 2.0 # # 5/01/95 (ED) : Ajout du format dvi ; # 27/10/95 (ED) : Conversion des fichiers textes en fichier PostScript ; # 01/11/95 (ED) : Un peu de ménage ; # 12/08/96 (ED) : modification pour gs # 04/12/96 (ED) : quelques corrections et ajouts. TmpDir=/tmp TmpFile=$TmpDir/deskjet.$$ # Utilisateur à prevenir en cas d'erreur NOTIFY=lp-owner # Programmes CAT=/bin/cat DVIPS=/usr/TeX/bin/dvips PGS=/usr/bin/gs AIIPS=/usr/local/bin/a2ps # Chemins d'accès pour GS GS_LIB=/usr/lib/ghostscript:/usr/lib/ghostscript/psfonts:\ /usr/lib/ghostscript/Type1:/usr/lib/ghostscript/fonts # C'est parti $CAT - > $TmpFile echo -ne '\033E' set -- `file $TmpFile` shift FileType=$* # Transformation du PostScript en format Deskjet500 # résolution à 300x300 - format a4 GS="$PGS -I$GS_LIB -q -sDEVICE=djet500 -r300x300 -sPAPERSIZE=a4 -dNOPAUSE\ -sOutputFile=- - /usr/lib/ghostscript/quit.ps || echo -ne '\033&10H'" case $FileType in *DVI*) # Fichier DVI $DVIPS -t a4 $TmpFile \ -f | $GS ;; *PostScript*) # Impression de fichiers Postscript $CAT $TmpFile | $GS ;; *text*|*script*) $CAT $TmpFile | $AIIPS -nP -r -8 | $GS ;; *data*) echo -ne '\033&;k0G' # C'est un et commercial sans ; ! /bin/cat $TmpFile ;; *) echo "Deskjet: Unknow filetype $FileType" >> /dev/console echo "Deskjet: $TmpFile Unknow filetype $FileType" | mail $NOTIFY ;; esac /bin/rm -f $TmpFile echo -ne '\033E' Ce script permet d'imprimer aussi bien des fichiers texte que des fichiers Postscript, dvi. Si vous souhaitez imprimer d'autres types de fichiers, il suffit de les rajouter ici. Merci de m'envoyer les modifications également : cela peut être bien que tout le monde en profite. Utiliser lprm pour retirer une requête d'impression active. 77..1133.. TTiimmeezzoonnee Timezone est un système fort utile qui permet la gestion de changement d'horaires d'été et d'hiver. La France se trouve dans une zone horaire : MET (Medium European Time, soit GMT + 1). La zone "MET DST" correspond à l'heure d'été activée (GMT + 2). Mieux vaut ne pas laisser tout cela reposer uniquement sur la variable TZ. Placez-vous dans le répertoire /usr/lib/zoneinfo et lisez le fichier time.doc. Les fichiers binaires placés dans /usr/lib/zoneinfo indiquent les règles de calcul de l'heure dans différentes zones du globe. Copier le fichier MET sous le nom de /usr/lib/zoneinfo/localtime, puis faire un lien symbolique de ce fichier sur /usr/lib/zoneinfo/posixrules. Commandes : # cd /usr/lib/zoneinfo # cp MET localtime # ln -sf localtime posixrules Utilisez ensuite la commande clock pour mettre le système à l'heure. Deux possibilités : · La machine est à l'heure GMT ; · La machine est à l'heure locale. La première solution est préférable, mais MS-DOS ne gère pas cette approche (:-)). L'horloge sera donc fausse sur ce système. Par contre tous les changements d'heure, deux fois par an, seront pris en charge par LLiinnuuxx. Dans ce cas, ajouter dans /etc/rc.d/rc.local, la commande clock -u -s. LLiinnuuxx s'ajustera sur l'horloge sauvegardée. Si la CMOS est à l'heure locale, la commande dans /etc/rc.d/rc.local devient clock -s et les changements d'heure ne seront automatiques que si la machine est allumée au moment des changements d'heure. Il faudra manuellement réécrire la nouvelle heure dans la CMOS par clock -w, ou mettre l'horloge à l'heure avec le setup. La commande date permet de vérifier la validité de l'heure : elle renvoie heure et timezone date -u donne toujours l'heure en GMT : plux:/home/rene $ date Tue Sep 28 20:16:46 MET 1993 plux:/home/rene $ date -u Tue Sep 28 19:16:49 GMT 1993 (En été, "MET DST" (Daylight Savings Time) serait indiqué). 77..1144.. NNoouuvveeaauuxx cchhaannggeemmeennttss dd''hheeuurree Il s'avère que, depuis 1996, la date de changement d'heure a été décalée. Pour que LLiinnuuxx ne se mélange pas les pinceaux, il est nécessaire de faire certaines modifications. La manipulation se base sur l'utilisation du programme zic, le _t_i_m_e _z_o_n_e _c_o_m_p_i_l_e_r. Dans un fichier appellé europe, mettre : Zone MET 1:00 M-Eur MET%s Link localtime MET Rule M-Eur 1986 max - Mar lastSun 2:00s 1:00 " DST" Rule M-Eur 1986 1995 - Sep lastSun 2:00s 0 - Rule M-Eur 1996 max - Oct lastSun 2:00s 0 Pour mettre tout en place, lancer la commande : gandalf# zic europe Pour vérifier que tout s'est bien passé, vous devez obtenir le résultat suivant : gandalf# zdump -v MET | grep 1996 MET Mon Nov 11 12:29:02 1996 MET MET Sun Mar 31 00:59:59 1996 GMT = Sun Mar 31 01:59:59 1996 MET isdst=0 MET Sun Mar 31 01:00:00 1996 GMT = Sun Mar 31 03:00:00 1996 MET DST isdst=1 MET Sun Oct 27 00:59:59 1996 GMT = Sun Oct 27 02:59:59 1996 MET DST isdst=1 MET Sun Oct 27 01:00:00 1996 GMT = Sun Oct 27 02:00:00 1996 MET isdst=0 77..1155.. llooccaattee Lorsque vous installez le package GNU "find", en plus du programme de recherche se trouve un programme locate qui permet de retrouver rapidement l'emplacement d'un fichier. Ce programme se trouve dans certaines distributions dans /usr/lib/locate. Lancez, en tant que root, /usr/lib/locate/updatedb. Cela invoquera un find / sur les disques montés et placera les noms de tous les fichiers (sous forme d'une table de hachage) dans /usr/lib/locate/find.codes. locate permettra ensuite de localiser l'un d'eux. Remarque : lorsque vous lancez ce programme, pensez à démonter les partitions MS-DOS et votre CD-ROM ! Une autre solution assez agréable consiste à insérer dans la _c_r_o_n_t_a_b la ligne : updatedb --prunepaths='/tmp /usr/tmp /var/tmp /proc /users /root /dos /mnt /var/adm /var/spool /var/catman /home' Cette commande réalise la mise à jour de l'arborescence sans les fichiers temporaires, l'arborescence utilisateur, une partition MS- DOS, etc. Il est souhaitable d'exclure les répertoires utilisteurs des utilisateurs. En effet, ces partitions contiennent normalement de nombreux fichiers. Mais cela pose un grave problème de sécurité, car tout utilisateur peut sinon connaître le nom des fichiers du voisin. 77..1166.. CCDD--RROOMM AATTAAPPII Bon, les CD-ROM en général ne posent pas trop de problèmes, sauf les ATAPI ancienne version. En effet, le CD est géré sur un deuxième contrôleur disque propriétaire. Procédons dans l'ordre : 1. recompiler le noyau avec l'option CD ATAPI IDE et le support du système de fichiers iso9660 ; 2. réamorcer la machine. Au niveau de LILO, taper : LLiinnuuxx hdd=cdrom. Attention : vous êtes en qwerty ici. 3. créer un lien symbolique entre /dev/hdd (ou hdc) et /dev/cdrom. ln -s /dev/hdd /dev/cdrom. 4. créer le répertoire /cdrom et taper : mount -t iso9660 -o ro /dev/cdrom /cdrom. Normalement, le CD est monté ! En cas de problème il faut tenter de : 1. configurer le lecteur en mode EIDE "master" ; 2. laisser un CD chargé durant le boot ; 3. booter, attendre un moment puis rebooter à chaud (sans éteindre ni actionner reset : donc par control-alt-del) afin de laisser au lecteur le temps de s'ébrouer. Avec les nouveaux lecteurs, il suffit d'activer le support ATAPI pour les lecteurs de CD-ROM, et lors de l'amorçage, le lecteur doit être détecté : hdc: UJDCD6700, ATAPI CDROM drive 77..1177.. MMeettttrree uunnee ccoonnssoollee eexxtteerrnnee ccoommmmee ccoonnssoollee Certains utilisateurs peuvent vouloir mettre comme console un minitel ou un vieux vt100 qui ne passe pas sur la carte vidéo mais sur le port série. Il suffit d'ajouter dans le fichier lilo.conf la ligne suivante : append = "scon=0x03f8 serial=0,9600n8" 77..1188.. DDeeuuxx ccaarrtteess rréésseeaauuxx Certaines machines possèdent deux (ou plus) cartes réseaux. Pour qu'elles soient toutes les deux reconnues, il est nécessaire d'ajouter dans la configuration de LILO : append="ether=0,0,eth1" 77..1199.. LLeess ffiicchhiieerrss dd''iinniittiiaalliissaattiioonn ddeess iinntteerrpprréétteeuurrss ddee ccoommmmaannddeess Voici la description des fichiers qui sont chargés lors de la connexion d'un utilisateur. Le nom du ou des fichiers est spécifique à l'interpréteur de commandes utilisé. Dans le cas de bash, c'est un peu compliqué. D'après la page de manuel de bash, lors d'une connexion interactive, il exécute : · /etc/profile s'il existe ; · ~/.bash_profile s'il existe, sinon ~/.bash_login s'il existe, sinon ~/.profile s'il existe ; · ~/.bashrc s'il existe. Dans le cas où bash est invoqué en tant que sh, il n'exécute que les fichiers /etc/profile et ~/.profile s'ils existent. Dans le cas de ksh, la page de manuel est moins précise mais une étude rapide du code source montre que : · /etc/profile est exécuté s'il existe ; · ~/.profile est exécuté s'il existe, si le numéro d'utilisateur effectif est identique au numéro d'utilisateur réel et si le numéro de groupe effectif est égal au numéro de groupe réel ; · /etc/suid_profile est exécuté s'il existe, si les numéros d'utilisateur effectif et réel diffèrent ou si les numéros de groupe effectif et réel diffèrent ; · enfin, si la variable d'environnement ENV est positionnée, le fichier dont le nom est contenu dans $ENV est exécuté s'il existe. Enfin, pour être complet sur les interpréteurs de commandes compatibles avec le Bourne Shell, citons le cas de zsh qui exécute : · /etc/zshenv s'il existe ; · ~/.zshenv (ou $ZDOTDIR/.zshenv si ZDOTDIR est positionné) s'il existe ; · /etc/zprofile s'il existe ; · ~/.zprofile (ou $ZDOTDIR/.zprofile) s'il existe ; · /etc/zshrc s'il existe ; · ~/.zshrc (ou $ZDOTDIR/.zshrc) s'il existe. Dans le cas de csh (enfin plutôt tcsh) : · /etc/csh.cshrc est exécuté s'il existe ; · /etc/csh.login est exécuté s'il existe ; · ~/.tcshrc est exécuté s'il existe, sinon ~/.cshrc est exécuté s'il existe ; · ~/.history (ou le contenu de la variable histfile) est chargé en mémoire s'il existe ; · ~/.login est exécuté s'il existe ; · ~/.cshdirs (ou le contenu de la variable dirsfile) est chargé en mémoire s'il existe. 77..2200.. LLeess ssaauuvveeggaarrddeess ssoouuss LLiinnuuxx Comme tout système Unix, LLiinnuuxx fournit des outils standards pour réaliser les sauvegardes des disques. Principalement deux types d'outils sont actuellement utilisés. 77..2200..11.. dduummpp eett rreessttoorree Les outils dump et restore ont été adaptés pour LLiinnuuxx par Rémy Card. Ils sont livrés dans les distributions. Une fois les sources compilés et installés, l'utilisation de dump et restore est relativement simple. Pour effectuer la sauvegarde d'une partition /dev/sda1 sur /dev/rmt0, il suffit de faire par exemple : gandalf# dump 0sfu 3600 /dev/rmt0 /dev/sda1 gandalf# dump 0sfu ondee:/dev/rmt0 /dev/sda1 La deuxième commande permet de sauvegarder un disque sur un périphérique distant (par exemple situé ici sur la machine ondee). Les options de dump peuvent sembler complexes. En voici une courte description : · 0 à 9 : niveau de sauvegarde. 0 correspond à une sauvegarde complète, alors que les autres niveaux n correspondent à la sauvegarde des fichiers qui ont été modifiés depuis la nième sauvegarde ; · s : taille de la bande en pieds ; · f : fichier - peut être composé de machine:fichier ; · u : écriture de la date et du niveau de sauvegarde dans le fichier /etc/dumpdates. Il existe d'autres options. Pour plus renseignements, consultez les pages de manuel. Il existe deux modes pour effectuer une restauration : en ligne de commande ou en mode dit "interactif". Le deuxième mode est plus simple pour des restaurations partielles. Le premier est surtout utilisé pour des restaurations complètes. Pour restaurer la bande en mode interactif il suffit de faire gandalf# restore -if /dev/rmt0 gandalf# restore -if ondee:/dev/rmt0 Dans ce cas, un mini-interpréteur de commandes est lancé. Utiliser la commande help pour plus de détails. Pour restaurer une bande complètement, lancez : gandalf# restore rf /dev/rmt0 Note importante : pour l'utilisation de dump et restore à travers un réseau (sauvegarde sur des périphériques distants), vous devez utiliser des fichiers .rhosts. Dans l'exemple de sauvegarde ci-dessus, la machine ondee doit avoir #cat ~root/.rhosts gandalf # Attention toutefois aux failles de sécurité engendrées par les fichiers .rhosts. L'utilisation de périphériques distants nécessite également la présence du programme rmt sur la machine gérant les périphériques de sauvegarde. Ce programme est inclus dans la distribution source de dump pour LLiinnuuxx. 77..2200..22.. ttaarr A la différence de dump ou restore, tar permet de sauvegarder les fichiers désirés, d'exclure certains répertoires, etc. Il est à noter que le tar utilisé sous LLiinnuuxx est le tar GNU. Il possède certaines options particulières. Pour connaître toutes les options possibles, je vous conseille de faire tar --help . Une utilisation simple de tar peut être illustrée avec la sauvegarde d'une partition d'utilisateurs : # tar cvf /dev/rmt0 /users | mail backup-user La liste des fichiers sera ainsi envoyée à l'utilisateur _b_a_c_k_u_p_-_u_s_e_r. Certains sites utilisent exclusivement tar pour effectuer leurs sauvegardes, c'est un choix. 77..2211.. NNuumm LLoocckk aauu ddéémmaarrrraaggee Pour configurer la touche Num Lock au démarrage (par exemple pour qu'elle soit positionnée), il suffit de mettre dans /etc/rc.d/rc.local for tty in /dev/tty[1-9]*; do setleds -D +num < $tty > /dev/null done 77..2222.. LLeess ffiicchhiieerrss ccoorree Certains développeurs aiment exploiter le contenu des fichiers core. Or, sous LLiinnuuxx, ils sont désactivés par défaut. Pour pouvoir les générer, il faut introduire : ulimit -c unlimited sous bash ou limit coredumpsize unlimited 77..2233.. AAccccoouunnttiinngg -- llaassttccoommmm Le système d'accounting (historique des programmes invoqués) est implémenté dans LLiinnuuxx (mais bon, je n'ai jamais testé car ça fait un peu Big Brother is Watching You). Il faut normalement compiler le paquetage acct-1.3.73.tar.gz et suivre les instructions qui sont livrées avec. Ça se trouve sur le site ftp.lip6.fr dans le répertoire /pub/linux/sunsite/system/Admin/accounts ainsi que sur le site . Attention : il est nécessaire d'avoir un noyau 1.3.* ou un 2.0.* au minimum. Voici le résultat : # lastcomm | more Command Flags User Tty PagFlt Time Endtime clear - merlin ttyp2 85 0.00 secs Tue Aug 6 13:26:07 in.identd - root __ 100 0.00 secs Tue Aug 6 13:23:23 color-ls - merlin ttyp2 121 0.01 secs Tue Aug 6 13:23:02 telnet - merlin ttyp2 142 2.77 secs Tue Aug 6 13:23:01 Pnews F merlin ttyp3 33 0.01 secs Tue Aug 6 13:22:15 sed - merlin ttyp3 132 0.02 secs Tue Aug 6 13:22:15 Pnews F merlin ttyp3 34 0.01 secs Tue Aug 6 13:22:15 sed - merlin ttyp3 145 0.02 secs Tue Aug 6 13:22:15 cat - merlin ttyp3 80 0.01 secs Tue Aug 6 13:22:13 Pnews F merlin ttyp3 29 0.00 secs Tue Aug 6 13:22:13 Il faut faire attention car ce système a tendance à prendre beaucoup de place. La solution pour résoudre ce problème est de lancer le système d'accounting de cette manière : #!/bin/sh # Lancement de l'accounting accton /var/log/acct accttrim -n 2000 /var/log/acct 2> /dev/null 88.. SSMMPP,, aauuttrreess aarrcchhiitteeccttuurreess Note: n'hésitez pas à m'envoyer des compléments sur cette partie. 88..11.. SSMMPP SMP, abréviation de _S_y_m_e_t_r_i_c _M_u_l_t_i_-_P_r_o_c_e_s_s_o_r_s, désigne la capacité des noyaux Linux 2.0 et versions suivantes de fonctionner sur des machines à plusieurs processeurs. Sur architecture ix86, le support SMP de LLiinnuuxx suit les spécifications Intel MP (v1.1, v1.4) qui vont théoriquement jusqu'à 16 processeurs. En fait, le SMP n'est pas spécifique aux plates-formes Intel : il existe également sur les plates-formes Alpha, Sparc, PowerPC. La version 2.0 ne gère le SMP que pour les plates-formes de type Intel. Pour compiler un noyau avec le support SMP, il faut _d_é_c_o_m_m_e_n_t_e_r la ligne SMP = 1 dans le fichier Makefile. Il est en outre recommandé de compiler le support pour l'_E_n_h_a_n_c_e_d _R_e_a_l _T_i_m_e _C_l_o_c_k (CONFIG_RTC). Lors du démarrage du noyau, Linux boot d'abord sur un processeur, puis active le(s) autre(s). Extraits des informations données par la commande dmesg : Intel MultiProcessor Specification v1.1 Virtual Wire compatibility mode. OEM ID: INTEL Product ID: Nightshade APIC at: 0xFEE00000 Processor #1 Pentium(tm) Pro APIC version 17 Processor #0 Pentium(tm) Pro APIC version 17 I/O APIC #2 Version 17 at 0xFEC00000. Processors: 2 ... Calibrating delay loop.. ok - 396.49 BogoMIPS ... Booting processor 0 stack 00002000: Calibrating delay loop.. ok - 396.49 BogoMIPS Total of 2 processors activated (792.99 BogoMIPS). Ce qui précède suffit pour avoir un système multiprocesseur qui fonctionne. Ce qui suit va le rendre plus agréable à utiliser et plus efficace. Le package procps contient entre autre les commandes top et ps qui peuvent être modifiées pour afficher le numéro du processeur sur lequel une commande tourne. La marche à suivre ainsi que les patches sont disponibles (en anglais) à . GNU make accepte l'option -j qui spécifie un nombre maximal de tâches pouvant être lancées simultanément. Il peut donc être intéressant d'utiliser cette option (make -j 5 par exemple) sur un système multi- processeurs. Dans la majorité des cas, un système SMP ne se distingue pas parce qu'une même tâche se déroule plus vite, mais bien parce que l'on peut faire tourner plusieurs grosse tâches simultanément (par exemple compiler un programme C eett un fichier LaTeX en même temps) ou bien parce que le système répond instantanément malgré la présence d'une grosse tâche (p.ex. lire son mail tout en compilant le noyau). Pour vraiment faire en sorte qu'un même programme utilise toute la puissance CPU de la machine, il faut investir dans le parallélisme, ce qui sort très nettement du cadre de ce guide. Lire à ce sujet l'excellentissime _L_i_n_u_x _P_a_r_a_l_l_e_l _P_r_o_c_e_s_s_i_n_g _H_O_W_T_O (que l'on trouve aux endroits habituels). Pour en savoir plus, vous pouvez consulter la LLiinnuuxx SSMMPP FFAAQQ de David Mentré, . Une description technique (et sommaire) de l'implémentation de SMP dans le noyau Linux est donnée dans le fichier Documentation/smp.tex 88..22.. PPllaatteess--ffoorrmmeess AAllpphhaa La plate-forme Alpha est gérée depuis pas mal de temps. Le site à consulter avant tout est . La distribution RedHat 5.1 est disponible pour Alpha. Son installation est beaucoup plus complexe car cela dépend un peu du type de machine dont disposez. Si vous souhaitez installer cette version, lisez attentivement le ALPHA-HOWTO, le MILO-HOWTO et le SRM-HOWTO. Il s'agit des trois documents clefs. Pour clarifier la situation, le plus gros problème n'est pas vraiment d'installer Linux, mais de booter. En effet, il existe deux façons de le faire, en fonction de l'architecture de votre machine (voir la FAQ disponible sur le site central du portage Alpha) : · Milo : c'est la solution rêvée... mais qui n'est pas disponible sur tous les modèles d'Alpha. En gros, il s'agit d'une disquette de boot qui vous donne le prompt MILO (au lieu de LILO). L'installation est assez simple à effectuer. · SRM, c'est la galère. Dans ce cas, vous devez copier sur disquette une image, basculer la console de votre Alpha en console SRM. Certains modèles Alpha ne le possèdent pas ! Tout va dépendre de la licence achetée à Digital. En fonction de la version SRM, vous devez taper une commande pour lancer SILO (un LILO particulier), puis taper vmlinuz pour amorcer Linux. Le SRM-HOWTO n'est pas vraiment clair. Quoi qu'il en soit, si vous souhaitez installer Linux sur Alpha, pensez surtout à lire les documents indiqués ci-dessus. Pour la RedHat, un document supplémentaire spécifique à l'Alpha a été écrit. Enfin, pensez à vous abonner au forum et à la liste de discussion sur Linux/Alpha, comp.os.linux.alpha et axp-kernel-list@redhat.com. 99.. XX WWiinnddooww Maintenant que tout fonctionne bien, on passe à un autre gros morceau : l'installation de X Window. Pour pouvoir utiliser X Window, il faut posséder une configuration raisonnable (au moins 8Mo de mémoire). Dans le cas contraire, la machine sera très lente : elle va passer son temps à swapper. Dans un premier temps, installez à l'aide de votre distribution le serveur correspondant à la carte graphique. 99..11.. XXFF8866CCoonnffiigg Le problème avec X Window, c'est de configurer le fichier XF86Config. Il s'agit ici du serveur XFree86 3.2, basé sur X11R6. Avant de commencer à construire votre fichier, lancez le programme SuperProbe. Dans mon cas, cela me permet d'obtenir les renseignements suivants (oui, je sais, c'est une vieille carte vidéo... mais bon, on fait avec les moyens du bord !) : First video: Super-VGA Chipset: Cirrus CL-GD5428 Memory: 1024 Kbytes RAMDAC: Cirrus Logic Built-in 15/16/24-bit DAC (with 6-bit wide lookup tables (or in 6-bit mode)) Ensuite, le plus dur reste à faire : construire le fichier de configuration. Attention : dans certaines distributions, le fichier XF86config est placé dans le répertoire /etc/X11, ce qui est une bonne idée dans le cas d'un réseau de stations Linux partageant /usr par NFS. Si vous utilisez une ou plusieurs machines indépendantes, vous pouvez supprimer /etc/X11/XF86config et utiliser /usr/X11R6/lib/X11/XF86Config. Les nouvelles versions de distributions sont livrées avec certains outils permettant d'automatiser l'installation et la configuration du serveur. Essayez dans un premier temps avec cet outil : il est fort probable que cela fonctionne directement. Ce fichier se présente sous la forme de sections. En voici une description : · Fichiers Section "Files" RgbPath "/usr/X11R6/lib/X11/rgb" FontPath "/usr/X11R6/lib/X11/fonts/misc/" FontPath "/usr/X11R6/lib/X11/fonts/Type1/" FontPath "/usr/X11R6/lib/X11/fonts/Speedo/" FontPath "/usr/X11R6/lib/X11/fonts/75dpi/" FontPath "/usr/X11R6/lib/X11/fonts/100dpi/" FontPath "/usr/X11R6/lib/X11/fonts/xtel/" EndSection Dans cette section, il n'y a pas grand chose à modifier. Ajoutez ou supprimez les chemins des polices de caractères, et la liste des couleurs RGB. · Options pour le serveur : Section "ServerFlags" EndSection Pour ma part, elle est vide... · Clavier Section "Keyboard" Protocol "Standard" # AutoRepeat 500 5 ServerNumLock # Pour cela, voir plus bas LeftAlt Meta RightAlt ModeShift # RightCtl Compose ScrollLock ModeLock · La souris : Section "Pointer" # pour le protocole, utilise MouseMan, MouseSystems, Logitech ou Microsoft Protocol "MouseMan" # Peripherique a utiliser Device "/dev/mouse" BaudRate 1200 # Emulation 3 boutons : le click sur les 2 boutons # simulent le bouton du milieu... pour les souris a deux boutons. Emulate3Buttons # ChordMiddle is an option for some 3-button Logitech mice # ChordMiddle EndSection · Le moniteur. Il s'agit de détailler les caractéristiques du moniteur. Voici celui qui occupe mon bureau :-). Les fichiers situés dans le répertoire doc contiennent les caractéristiques de tout un tas d'écrans. Il est fort possible que vous y trouviez votre bonheur. Section "Monitor" Identifier "Sync3N" VendorName "Samsung" ModelName "3N" # Frequences : Bandwidth 25.2 HorizSync 31.5-80 VertRefresh 60-90 # Les modes dans lesquels l'ecran peut fonctionner Modeline "800x600" 40 800 840 968 1056 600 601 605 628 Modeline "640x480" 25.175 640 664 760 800 480 491 493 525 Modeline "1024x768i" 45 1024 1040 1216 1264 768 768 778 819 interlace Modeline "1024x768" 75 1024 1048 1184 1328 768 771 777 806 EndSection · la carte graphique. Section "Device" # Baratin Identifier "CartePerso" VendorName "Cirrus" # Nom de la carte BoardName "clgd5428" #memoire video VideoRam 1024 # nom du chip Chipset "clgd5428" # clocks d'horloges. Clocks 25.23 28.32 41.16 36.08 31.50 39.99 45.08 49.87 Clocks 64.98 72.16 75.00 80.01 85.23 EndSection · Enfin, on réunit tout : la section écran : Section "Screen" Driver "svga" # References aux autres sections. Device "CartePerso" Monitor "Sync3N" # Le display utilise Subsection "Display" Depth 8 # 256 couleurs max # Modes par priorite : de gauche a droite Modes "1024x768" "800x600" "640x480" ViewPort 0 0 # Resolution virtuelle Virtual 1024 768 option "linear" EndSubsection EndSection Si votre carte le permet, vous pouvez ajouter d'autres sous-sections pour le display : Subsection "Display" Depth 32 Modes "640x480" ViewPort 0 0 Virtual 800 600 EndSubsection Dans ce cas, le serveur fonctionnera en 16 millions de couleurs. La configuration du serveur X est soit très rapide (marche tout de suite), soit très longue. Dans le deuxième cas, voici quelques conseils : 1. lire la documentation se trouvant dans ./doc. Un bon nombre d'écrans et de cartes sont décrites avec les horloges à utiliser. 2. commencer avec une résolution faible (640x480) : c'est plus simple ; 3. si vous avez besoin des clocks de la carte, lancez X -probeonly 2>/tmp/err (si vous utilisez comme interpréteur de commandes csh ou tcsh, remplacez 2> par >&. Dans le fichier /tmp/err vont se trouver tous les messages du serveur, dont le chip de la carte ainsi que ses clocks. La seule chose qu'il va rester à configurer, c'est l'écran. 4. lire le "Video HOWTO", écrit par J.M. Vansteene et disponible sur ftp.lip6.fr dans le répertoire /pub/linux/french/docs/HOWTO ; 5. utiliser le programme xvidtune : il permet "d'affiner" la mise au point de l'image (centrage, etc). Par exemple, j'avais un certain tremblement à l'image : avec ce programme, j'ai pu résoudre le problème. Si jamais l'anglais vous rebute, vous pouvez lire une version française de toute la documentation XFree86 3.2, au format HTML. Pour cela, allez sur le serveur . 99..22.. CCllaavviieerr ffrraannççaaiiss ssoouuss XX :: XXmmooddmmaapp Note: les utilisateurs de clavier de type suisse-romand seront heureux d'aller consulter la documentation qui se trouve à l'adresse . Divers autres types de claviers pour francophones sont décrits par ailleurs. On passe maintenant au clavier français sous X Window. Comme XFree86 a été conçu par des gens se servant de claviers américains (qwertyiop), la configuration du clavier peut sembler être assez affolante. Je vous conseille de suivre ce qui suit... Tout d'abord, vous devez avoir dans le fichier XF86Config les options suivantes : LeftAlt Meta RightAlt ModeShift # RightCtl Compose ScrollLock ModeLock Ensuite, placez le fichier suivant dans le répertoire /usr/X11R6/lib/X11/xinit. Il doit s'appeler .Xmodmap. Le fichier qui suit a été fait par René Cougnenc. A l'heure actuelle, c'est celui dont je me sers... et je pense qu'il est difficile de faire mieux. Il fonctionne sur XFree86 3.2. ! clavier Français AZERTYUIOP pour XFree86 3.2 ! ! ! Les accents circonflexes des principales voyelles sont obtenus avec ! la touche Mode_switch (ALT_GR). ! ! Les tremas sont obtenus par ALT_GR + SHIFT, sur 'e', 'i', 'o', et 'u'. ! ! Esperons qu'un jour on pourra obtenir le clavier Francais standard sur ! lequel tout le monde apprend a taper... ! ----------------------------------------------------------------------- ! keycode 9 = Escape keycode 10 = ampersand 1 keycode 11 = eacute 2 asciitilde keycode 12 = quotedbl 3 numbersign keycode 13 = apostrophe 4 braceleft keycode 14 = parenleft 5 bracketleft keycode 15 = minus 6 bar keycode 16 = egrave 7 grave keycode 17 = underscore 8 backslash keycode 18 = ccedilla 9 asciicircum keycode 19 = agrave 0 at keycode 20 = parenright degree bracketright keycode 21 = equal plus braceright keycode 22 = BackSpace keycode 23 = Tab keycode 24 = a A acircumflex keycode 25 = Z keycode 26 = e E ecircumflex ediaeresis keycode 27 = R keycode 28 = T keycode 29 = Y keycode 30 = u U ucircumflex udiaeresis keycode 31 = i I icircumflex idiaeresis keycode 32 = o O ocircumflex keycode 33 = P keycode 34 = dead_circumflex dead_diaeresis keycode 35 = dollar sterling keycode 36 = Return keycode 37 = Control_L keycode 38 = Q keycode 39 = S keycode 40 = D keycode 41 = F keycode 42 = G keycode 43 = H keycode 44 = J keycode 45 = K keycode 46 = L keycode 47 = M keycode 48 = ugrave percent keycode 49 = guillemotleft guillemotright keycode 50 = Shift_L keycode 51 = asterisk mu keycode 52 = W keycode 53 = X keycode 54 = C keycode 55 = V keycode 56 = B keycode 57 = N keycode 58 = comma question keycode 59 = semicolon period keycode 60 = colon slash keycode 61 = exclam slash keycode 62 = Shift_R keycode 63 = asterisk keycode 64 = Alt_L keycode 65 = space keycode 66 = Caps_Lock keycode 67 = F1 keycode 68 = F2 keycode 69 = F3 keycode 70 = F4 keycode 71 = F5 keycode 72 = F6 keycode 73 = F7 keycode 74 = F8 keycode 75 = F9 keycode 76 = F10 keycode 77 = Num_Lock keycode 78 = Scroll_Lock keycode 79 = 7 keycode 80 = 8 keycode 81 = 9 keycode 82 = KP_Subtract keycode 83 = 4 keycode 84 = 5 keycode 85 = 6 keycode 86 = KP_Add keycode 87 = 1 keycode 88 = 2 keycode 89 = 3 keycode 90 = 0 keycode 91 = period keycode 92 = 0x1007ff00 keycode 93 = keycode 94 = less greater keycode 95 = F11 keycode 96 = F12 keycode 97 = Home keycode 98 = Up keycode 99 = Prior keycode 100 = Left keycode 101 = Begin keycode 102 = Right keycode 103 = End keycode 104 = Down keycode 105 = Next keycode 106 = Insert keycode 107 = Delete keycode 108 = KP_Enter keycode 109 = Control_R keycode 110 = Pause keycode 111 = Print keycode 112 = KP_Divide keycode 113 = Mode_switch keycode 114 = Break ! Nouvelles valeurs pour le pave numerique a partir de XFree86 3.1.1 !keycode 147 = Home !keycode 148 = Up !keycode 149 = Prior !keycode 150 = Left !keycode 152 = Right !keycode 153 = End !keycode 154 = Down !keycode 155 = Next !keycode 156 = Insert !keycode 157 = Delete !keycode 136 = 7 !keycode 137 = 8 !keycode 138 = 9 keycode 82 = KP_Subtract !keycode 139 = 4 !keycode 140 = 5 !keycode 141 = 6 !keycode 86 = KP_Add !keycode 142 = 1 !keycode 143 = 2 !keycode 144 = 3 !keycode 145 = 0 !keycode 146 = period ! ----------------------------------------------------------------------- Les caractères "et " sont obtenus respectivement en appuyant sur la touche où il y a un petit deux (en haut à gauche, sous "Échappement") pour "et Shift + deux pour ". 99..33.. CCllaavviieerr ffrraannççaaiiss ssoouuss XX...... 22iièèmmee ppoossssiibbiilliittéé Rq: personnellement, j'utilise la première solution sans aucun problème... Si jamais vous avez trop de problèmes, essayez celle-ci. Cette solution nous vient de Michel Billaud. Bon, on part de la constatation que les touches accent-grave (ALT-4) et accent-aigu (ALT 7) sont pénibles à utiliser : si elles sont muettes il faut les doubler la plupart du temps, si elles ne le sont pas on ne peut pas accentuer les E A U etc. Donc, il faut que ALT 4 et ALT 7 produisent de vrais accents aigus et apostrophe. Il nous faut quand même des touches muettes (en plus). Il va falloir modifier la "map" du clavier. On va donc faire : · ALT 4 = accent aigu en dur · ALT 7 = accent grave en dur · ALT 9 = circonflexe en dur · ALT ^ = accent aigu · ALT ù = accent grave Dans le répertoire /usr/lib/kbd/keytables.map, copier fr-lat1.map sous un autre nom (comme par exemple monclavier.map). Lancer showkey pour voir le numéro des touches concernées dans l'ordre : 5 8 10 26 et 40. Puis éditer monclavier.map pour faire les modifications. Pour tester, faire loadkeys monclavier. Lorsque tout semble fonctionner, modifier /etc/rc.d/rc.keymap pour qu'il charge _m_o_n_c_l_a_v_i_e_r_._m_a_p et gribouiller le clavier avec un crayon, pas un feutre... :-). On peut aussi mettre un "tilde muet" sur le 2 supérieur et un "tilde dur" (indispensable au shelliste) sur ALT-2. 99..44.. CCllaavviieerr ffrraannççaaiiss ssoouuss XX...... uuttiilliisseerr xxkkbb Il est nécessaire d'utiliser un serveur X assez récent pour mettre en place cela (XFree86 3.2 minimum). Dans la section "Keyboard" du fichier de configuration, ajouter : XkbKeycodes "xfree86" XkbTypes "default" XkbCompat "default" XkbSymbols "us(pc101)" XkbGeometry "pc" XkbRules "xfree86" XkbModel "pc102" XkbLayout "fr" Si le clavier n'offre pas 101 touches il faudra remplacer le "102" par "101", "pc102", "104" ou "105" afin de pouvoir d'utiliser les touches spéciales (MS-Windows). Pour plus d'informations, regardez le contenu du répertoire /usr/X11R6/lib/X11/xkb. 99..55.. xxddmm Pour démarrer X Window directement au boot (xdm, vous pouvez modifier le fichier /etc/inittab en changeant la ligne contenant initdefault. Par exemple sur ma machine, il suffit de remplacer id:5:initdefault: #id:6:initdefault: par #id:5:initdefault: id:6:initdefault: Mais aatttteennttiioonn ! Certaines distributions, dont la Red Hat et la Debian, utilisent le niveau 6 pour réamorcer, celles-ci utilisent le niveau 5 pour lancer xdm. Le plus simple est de regarder dans le fichier /etc/inittab : celui-ci contient généralement une description des niveaux d'exécution et de ce à quoi ils correspondent. Pour lancer xdm en 16 ou 32 bits, il faut modifier le fichier /usr/X11/lib/X11/xdm et mettre : :0 local /usr/X11/bin/X -bpp 16 (ou 32) 99..66.. CCoommmmeenntt ddéémmaarrrreerr pplluussiieeuurrss sseessssiioonnss XX ?? Afin de pouvoir démarrer plusieurs sessions X sur différentes consoles sans avoir à spécifier le "display" à utiliser, ajoutez à la fin du fichier startx : CONSOLE=`tty` CONSOLE=`basename $CONSOLE` CONSOLE=`echo $CONSOLE | sed s/tty//` CONSOLE=`expr $CONSOLE - 1` echo "Starting X on display "$CONSOLE exec xinit $clientargs -- $serverargs :$CONSOLE On également utiliser la solution suivante qui a pour avantage d'utiliser la première console libre : for AFFICHAGE in 0 1 2 3 4 5; do if [ ! -f /tmp/.X$AFFICHAGE-lock ]; then exec xinit $clientargs -- $serverargs :$AFFICHAGE >/dev/console 2>&1 exit fi done 99..77.. CCoommmmeenntt rrééccuuppéérreerr lleess eerrrreeuurrss ssuurr llaa ccoonnssoollee ?? Il arrive fréquemment que les erreurs se trouvent dans la fenêtre texte virtuelle à partir de laquelle vous avez lancé le serveur. Une solution consiste à lancer le serveur de cette manière : xinit > /dev/console 2>&1 Si vous utilisez la Slackware, il suffit d'éditer le script startx et de remplacer la ligne exec xinit $clientargs -- $serverargs par exec xinit $clientargs -- $serverargs >/dev/console 2>&1 99..88.. XXFFrreeee8866 eett XXIInnppuutt À partir de la version XFree86 3.1.2B, le serveur X de XFree86 supporte l'extension XInput. Cette extension permet d'employer simultanément plusieurs périphériques d'entrée. Dans XFree86, il y a en a 3 pour l'instant : · une tablette Wacom ou compatible avec le protocole wacom IV ; · un écran tactile Elographics ; · un joystick. Le support pour ces périphériques est chargé dynamiquement dans le serveur à partir de la version 3.1.2D en ajoutant les lignes suivantes au fichier XF86Config : Section "Module" Load "xf86Wacom.so" Load "xf86Elo.so" Load "xf86Jstk.so" EndSection XFree86 cherche les modules dans un répertoire prédéfini : /usr/X11R6/lib/modules ou bien suivant un chemin spécifié dans la section Files : Section "Files" ModulePath "/usr/X11R6/lib/,/usr/X11R6/lib/modules/" ModulePath "/usr/X11R6/bin" EndSection Le ModulePath doit être specifié avant la section "Module" pour fonctionner. Chaque périphérique possède sa propre sous-section de configuration. Consulter la page de manuel de XF86Config pour avoir le détail. Un périphérique n'est activé que s'il possède une sous-section. L'exemple suivant active un joystick et une tablette : Section "XInput" SubSection "Joystick" Port "/dev/js0" Timeout 20 MinimumXPosition 28 MaximumXPosition 1206 MinimumYPosition 27 MaximumYPosition 1239 Delta 20 EndSubsection SubSection "WacomStylus" Port "/dev/ttyS2" EndSubsection EndSection Ensuite le serveur peut émettre des évènements étendus ou bien basculer un périphérique en _c_o_r_e _p_o_i_n_t_e_r. Deux programmes existent pour manipuler les devices étendus : · xsetpointer bascule un périphérique en core pointer ou liste les périphériques ; · xsetmode passe un périphérique en absolu ou en relatif. On doit changer le mode d'un périphérique avant qu'il ne soit basculé en core pointer. 99..99.. PPrroobbllèèmmee aasssseezz ccoouurraanntt Une question qui revient assez souvent : _j_e _n_e _s_a_i_s _p_a_s _p_o_u_r_q_u_o_i _s_o_u_s _X_F_r_e_e_8_6_, _d_e _t_e_m_p_s _à _a_u_t_r_e_s _j_e _n_e _p_e_u_x _p_l_u_s _d_é_p_l_a_c_e_r _l_e_s _f_e_n_ê_t_r_e_s_, _n_'_a_i _p_l_u_s _a_c_c_è_s _a_u_x _b_o_u_t_o_n_s _e_t _a_u_x _m_e_n_u_s _d_é_r_o_u_l_a_n_t _(_s_a_u_f _c_e_u_x _d_e_s _f_e_n_ê_t_r_e_s _s_y_s_t_è_m_e_) _? . La solution est très simple : déverrouiller Num Lock ! 99..1100.. SSoouurriiss ppoouurr lleess ggaauucchheerrss Certains gauchers souhaitent inverser l'ordre des boutons. Pour cela, modifiez les fichiers .xinitrc et xsession en y indiquant : xmodmap -e "pointer = 3 2 1" 1100.. SSééccuurriittéé 1100..11.. XX WWiinnddooww :: llee ffiicchhiieerr ..XXaauutthhoorriittyy Le fichier .Xauthority est généré par le programme xauth. Il s'agit d'un système d'authentification pour les applications graphiques. Cela permet d'éviter que d'autres personnes envoient des images, des fenêtres sur votre écran - mais également que des personnes puissent "voir" ce qu'il y a sur votre écran. Le principe est de donner une clef d'identification, en hexadécimal avec un nombre pair de caractères. Lancer xauth et faire : add MaMachine:0 MIT-MAGIC-COOKIE-1 MonCode add MaMachine/unix:0 MIT-MAGIC-COOKIE-1 MonCode Pour la machine locale, c'est en fait "hostname:NoDisplay". Un fois lancé, le serveur X interdit toute connexion, sauf si l'application : · est exécutée sur une machine référencée ; · possède le code. Vous pouvez désactiver le système pour certaines machines avec un xhost +toto par exemple. Rq: certaines versions obligent à lancer le serveur X avec la commande xinit -- -auth $HOME/.Xauthority 1100..22.. XX WWiinnddooww :: ccoonnttrrôôllee ddee llaa sseessssiioonn Seul xdm assure un contrôle de session X Window correct. La directive DontZap, placée dans la section ServerFlags du fichier de configuration de XFree86 limite aussi les possibilités de gourance. Si vous n'employez pas xdm : afin d'interdire aux malintentionnés d'utiliser les touches de "basculement" des consoles virtuelles (Alt- F1, Alt-F2 ...) il suffit de placer dans /etc/profile une ligne : alias x='(startx >/dev/null &);clear;logout' Puis d'invoquer x en lieu et place de startx. 1100..33.. PPrroobbllèèmmeess ddee ssééccuurriittéé La distribution Slackware contient certaines failles. Vous pouvez en consulter la liste à l'adresse suivante : . LLiinnuuxx est d'une manière générale très solide car toute faille, sitôt découverte, est immédiatement référencée et corrigée... C'est l'avantage des sources publiques. Toutefois, certaines failles importantes existent dans les distributions et il est important de les corriger. Un document WEB propose une liste des problèmes : http://bach.cis.temple.edu/pub/linux/linux-security/Linux-Security-FAQ/ 1100..44.. PPrrootteeccttiioonn ddee llaa mmaacchhiinnee ccoonnttrree ll''eexxttéérriieeuurr Une solution pour éviter les connexions externes est d'utiliser TCP/Wrappers. Il est très fortement conseillé de le recompiler ! L'installation est assez intuitive. En bref, il vous suffit d'indiquer le nom des machines autorisées dans le fichier /etc/hosts.allow et les machines interdites dans /etc/hosts.deny. On peut permettre l'envoi de courrier lorsqu'une machine tente de se connecter alors qu'elle est interdite en mettant par exemple dans le fichier /etc/hosts.deny : wu.ftpd: ALL: twist = /usr/sbin/real-daemon-dir/safe_finger -l @%h | /bin/mail -s %d-%h root (Sur une seule ligne :-)). Si vous voulez plus de détails, lisez le document suivant : . 1100..55.. QQuueellqquueess ppooiinntteeuurrss En France, le serveur ftp.urec.fr contient de nombreux utilitaires relatifs à la sécurité informatique. Deux listes de diffusion internationales sont consacrées à la diffusion d'informations liées à des problèmes de sécurité sous Linux : linux-security@tarsier.cv.nrao.edu et linux- alert@tarsier.cv.nrao.edu 1100..66.. VViirruuss Par définition, un système Unix n'a pas la même sensibilité aux virus qu'une machine sous MS-DOS. La seule chose qui puisse exister, ce sont des chevaux de Troie (modulo quelques autres cochonneries). Il s'avère qu'un de ces engins est apparu : _b_l_i_s_s. Pour voir si vous êtes touchés : · verifiez l'existence d'un fichier /tmp/.bliss ; · la liste des exécutables contaminés se trouve dans ce fichier et ils peuvent être récupérés en leur passant comme argument --bliss- uninfect-files-please. Un dernier conseil : lorsque vous le pouvez, recompilez les programmes que vous installez, et récupérez-les sur des sites sûrs (miroirs officiels). De cette manière, vous réduisez les risques. 1100..77.. CCooppss//CCrraacckk Ces deux outils peuvent être trouvés sur le site et particulièrement utiles si votre machine est directement connecté à Internet. N'hésitez pas à vous en servir. 1111.. RReeccoommppiilleerr llee nnooyyaauu 1111..11.. CCyyrriixx il existe des patchs non officiels pour le noyau 2.0.xx. Toutefois, le mieux est d'utiliser l'utilitaire set6x86 qui positionne certains registres du cyrix pour optimiser son fonctionnement. Le site incontournable pour tout ce qui concerne linux/cyrix : est . 1111..22.. PPeennttiiuumm LLiinnuuxx gère sans aucun problème les machines basées sur Pentium. Pour optimiser un peu la compilation, il suffit de spécifier Pentium lors de la recompilation du noyau. Il existe toutefois un gcc spécialisé pour Pentium, qui est en cours de développement. Il suffit de consulter la page pour plus de renseignements. 1111..33.. CCoommppiillaattiioonn Les nouveaux sources du noyau LLiinnuuxx peuvent être récupérés sur le site ftp.lip6.fr dans le répertoire /pub/linux/kernel/sources/v2.0 pour les versions dites "stables". Il s'agit d'un miroir du site ftp.kernel.org. Il existe un autre répertoire : v2.1 : il s'agit de la version de développement. Je vous déconseille de l'installer : il s'agit de noyaux en cours de développement; ils peuvent être stables mais il est également possible qu'ils soient complètement bogués. En les utilisant, vous prenez le risque de perdre des données de la machine. Installez donc les sources (normalement dans le répertoire /usr/src/linux). La compilation est très simple à réaliser mais vous devez suivre quelques points très scrupuleusement : 1. conserver à portée de la main une disquette permettant de démarrer le système et de monter la partition root, afin de pouvoir reprendre le contrôle en cas d'erreur et tester qu'elle permet bien de démarrer. 2. make config va demander la configuration que vous souhaitez. Certains points peuvent vous sembler assez obscurs. Dans ce cas, ne les changez pas. Vous pouvez lancer make menuconfig en mode texte pour avoir le programme en couleur ou make xconfig sous X à condition d'avoir installé Tcl/Tk. Configurons ensemble ce noyau... Remarque importante : il s'agit du noyau 2.0.26, donc certaines options ou certaines indications peuvent ne pas exister sur d'autres versions. # make config rm -f include/asm ( cd include ; ln -sf asm-i386 asm ) /bin/sh scripts/Configure -d arch/i386/config.in # Cela n'a que peu d'intérêt : il s'agit de positionner des liens sym­ boliques, mais il ne faut pas oublier ! * * Code maturity level options * Prompt for development and/or incomplete code/drivers (CONFIG_EXPERIMENTAL) [Y/n/?] * Cette option permet de spécifier si vous voulez avoir certaines options particulières. Les options ainsi proposées peuvent entraîner l'inclusion de périphériques pas encore arrivés à maturité. Toute­ fois, si vous souhaitez utiliser les modules chargeables avec kerneld, répondez Y. * * Loadable module support * Enable loadable module support (CONFIG_MODULES) [Y/n/?] Set version information on all symbols for modules (CONFIG_MODVERSIONS) [N/y/?] Kernel daemon support (e.g. autoload of modules) (CONFIG_KERNELD) [Y/n/?] Cette partie est spécifique aux modules chargeables. Pour répondre aux questions, il y a trois solutions : soit l'option par défaut (lettre en majuscule) est déjà adéquate, soit il suffit de la préciser. Si vous ne savez pas à quoi correspond cette option, tapez ? : une brève description va alors apparaître. Dans le cas présent ci-dessus, je vais utiliser les modules chargeables avec le système de chargement automatique (kerneld). * * General setup * Kernel math emulation (CONFIG_MATH_EMULATION) [N/y/?] Networking support (CONFIG_NET) [Y/n/?] Limit memory to low 16MB (CONFIG_MAX_16M) [N/y/?] PCI bios support (CONFIG_PCI) [N/y/?] System V IPC (CONFIG_SYSVIPC) [Y/n/?] Kernel support for a.out binaries (CONFIG_BINFMT_AOUT) [Y/m/n/?] Kernel support for ELF binaries (CONFIG_BINFMT_ELF) [Y/m/n/?] Kernel support for JAVA binaries (CONFIG_BINFMT_JAVA) [N/y/m/?] Compile kernel as ELF - if your GCC is ELF-GCC (CONFIG_KERNEL_ELF) [Y/n/?] Processor type (386, 486, Pentium, PPro) [486] defined CONFIG_M486 La première option n'est nécessaire que si vous ne disposez pas d'un processeur arithmétique (ce qui est le cas sur les machines à base de 386 et de 486 SX). Je vous conseille très fortement de l'éviter. Si vous disposez d'une machine avec PCI et non 486, il vous suffit de donner les caractéristiques de la machine. Du côté des formats exécutables, il est préférable d'activer les for­ mats ELF et a.out. * * Floppy, IDE, and other block devices * Normal floppy disk support (CONFIG_BLK_DEV_FD) [M/n/y/?] Enhanced IDE/MFM/RLL disk/cdrom/tape support (CONFIG_BLK_DEV_IDE) [Y/n/?] Je demande ici à gérer mon lecteur de disquettes comme module charge­ able, et d'une manière générale, j'active le support IDE. * * Please see Documentation/ide.txt for help/info on IDE drives * Use old disk-only driver on primary interface (CONFIG_BLK_DEV_HD_IDE) [N/y/?] Include IDE/ATAPI CDROM support (CONFIG_BLK_DEV_IDECD) [N/y/?] Include IDE/ATAPI TAPE support (CONFIG_BLK_DEV_IDETAPE) [N/y/?] Support removable IDE interfaces (PCMCIA) (CONFIG_BLK_DEV_IDE_PCMCIA) [N/y/?] CMD640 chipset bugfix/support (CONFIG_BLK_DEV_CMD640) [N/y/?] Other IDE chipset support (CONFIG_IDE_CHIPSETS) [N/y/?] Si vous disposez de matériel ATAPI, il faut préciser ici. De même si vous avez une interface PCMCIA (attention : pour une carte PCMCIA, il est nécessaire d'utiliser un paquetage spécial). Il faut remarquer que Linux vous propose certaines options particulières pour certains contrôleurs IDE connus pour être bogués. Si vous êtes dans cette situ­ ation, n'hésitez pas à sélectionner l'option. * * Additional Block Devices * Loopback device support (CONFIG_BLK_DEV_LOOP) [N/y/m/?] Multiple devices driver support (CONFIG_BLK_DEV_MD) [N/y/?] RAM disk support (CONFIG_BLK_DEV_RAM) [N/y/m/?] XT harddisk support (CONFIG_BLK_DEV_XD) [N/y/m/?] A moins que vous ne sachiez exactement ce que vous faîtes, ne pas mod­ ifier. Bien, on passe au réseau maintenant ! * * Networking options * Network firewalls (CONFIG_FIREWALL) [N/y/?] Network aliasing (CONFIG_NET_ALIAS) [N/y/?] TCP/IP networking (CONFIG_INET) [Y/n/?] IP: forwarding/gatewaying (CONFIG_IP_FORWARD) [N/y/?] IP: multicasting (CONFIG_IP_MULTICAST) [N/y/?] IP: accounting (CONFIG_IP_ACCT) [Y/n/?] D'une manière générale, il est suggéré d'activer Tcp/Ip, même si vous n'êtes pas relié au réseau (certaines applications en ont besoin). Le reste dépend de votre machine. Je passe sur les deux séries qui suiv­ ent pour le réseau. * * SCSI support * etc...etc : pour le SCSI. Liste des cartes SCSI gérées... choisissez la bonne (ou plusieurs). * * Network device support * Network device support (CONFIG_NETDEVICES) [Y/n/?] Dummy net driver support (CONFIG_DUMMY) [M/n/y/?] EQL (serial line load balancing) support (CONFIG_EQUALIZER) [N/y/m/?] Frame relay DLCI support (EXPERIMENTAL) (CONFIG_DLCI) [N/y/m/?] PLIP (parallel port) support (CONFIG_PLIP) [N/y/m/?] PPP (point-to-point) support (CONFIG_PPP) [M/n/y/?] Liste des possibilités réseau... ne pas oublier de positionner PPP ou SLIP si nécessaire. Ensuite viennent les cartes elles-mêmes. Elles ne sont pas détaillées ici. * * ISDN subsystem * ISDN support (CONFIG_ISDN) [N/y/m/?] Support des cartes RNIS. A moins d'en avoir une, ne pas activer. * * CD-ROM drivers (not for SCSI or IDE/ATAPI drives) * Support non-SCSI/IDE/ATAPI CDROM drives (CONFIG_CD_NO_IDESCSI) [N/y/?] * Pour les CD-ROM Sony CDU31A/CDU33A, Matsushita/Panasonic/Creative, etc. En bref, les CD branchés sur les cartes son par exemple. * * Filesystems * Quota support (CONFIG_QUOTA) [Y/n/?] Mandatory lock support (CONFIG_LOCK_MANDATORY) [N/y/?] Minix fs support (CONFIG_MINIX_FS) [M/n/y/?] Extended fs support (CONFIG_EXT_FS) [N/y/m/?] Second extended fs support (CONFIG_EXT2_FS) [Y/m/n/?] xiafs filesystem support (CONFIG_XIA_FS) [N/y/m/?] DOS FAT fs support (CONFIG_FAT_FS) [M/n/y/?] MSDOS fs support (CONFIG_MSDOS_FS) [M/n/?] VFAT (MS-Windows-95) fs support (CONFIG_VFAT_FS) [M/n/?] umsdos: Unix like fs on top of std MSDOS FAT fs (CONFIG_UMSDOS_FS) [N/m/?] /proc filesystem support (CONFIG_PROC_FS) [Y/n/?] NFS filesystem support (CONFIG_NFS_FS) [M/n/y/?] SMB filesystem support (to mount WfW shares etc..) (CONFIG_SMB_FS) [N/y/m/?] ISO9660 cdrom filesystem support (CONFIG_ISO9660_FS) [M/n/y/?] OS/2 HPFS filesystem support (read only) (CONFIG_HPFS_FS) [N/y/m/?] System V and Coherent filesystem support (CONFIG_SYSV_FS) [N/y/m/?] Amiga FFS filesystem support (EXPERIMENTAL) (CONFIG_AFFS_FS) [N/y/m/?] UFS filesystem support (read only) (CONFIG_UFS_FS) [N/y/m/?] Il s'agit de configurer la liste des gestionnaires de fichiers gérés par Linux. Vous devez absolument avoir ext2fs. Il est très fortement suggéré d'y mettre également le support /proc. SMB est utilisé pour accéder aux ressources partagées de MS-Windows For Workgroup. Désormais, il existe deux formats pour MS-DOS : le for­ mat standard et le format étendu qu'utilise MS-Windows 95 (VFAT). Si vous possédez un CD-ROM, pensez à inclure le support ISO9660. Enfin, si vous désirez utiliser les quotas, pensez à répondre Y à la première option. * * character devices * Support pour le port parallèle et pour diverses souris. Pensez à activer l'imprimante si elle est connectée sur le port parallèle ! * * Sound * Passons à la carte son ! Je vais un peu limiter et me cantonner à la SoundBlaster 16. C'est ce que j'ai, et ça permet de donner un exemple. Seules les options qu'il convient de modifier sont présentes ici. En fait, Linux gère bien d'autres cartes son. Sound card support (CONFIG_SOUND) [M/n/y/?] Sound Blaster (SB, SBPro, SB16, clones) support (CONFIG_SB) [Y/n/?] /dev/dsp and /dev/audio support (CONFIG_AUDIO) [Y/n/?] MIDI interface support (CONFIG_MIDI) [Y/n/?] FM synthesizer (YM3812/OPL-3) support (CONFIG_YM3812) [Y/n/?] I/O base for SB Check from manual of the card (SBC_BASE) [260] Sound Blaster IRQ Check from manual of the card (SBC_IRQ) [5] Sound Blaster DMA 0, 1 or 3 (SBC_DMA) [1] Sound Blaster 16 bit DMA (_REQUIRED_for SB16, Jazz16, SMW) 5, 6 or 7 (use 1 for 8 bit cards) (SB_DMA2) [5] MPU401 I/O base of SB16, Jazz16 and ES1688 Check from manual of the card (SB_MPU_BASE) [330] SB MPU401 IRQ (Jazz16, SM Wave and ES1688) Use -1 with SB16 (SB_MPU_IRQ) [-1] Audio DMA buffer size 4096, 16384, 32768 or 65536 (DSP_BUFFSIZE) [65536] * * Kernel hacking * Kernel profiling support (CONFIG_PROFILE) [N/y] Il est très conseillé de laisser cette option à N. 3. make dep se charge de créer les dépendances. 4. make clean va nettoyer toute l'arborescence. 5. Lance make zImage pour compiler votre noyau. Vous pouvez aller boire un bon café, voire toute autre boisson dont la publicité est interdite, car c'est long, sauf bien sûr si vous possédez un P6 ou autre monstre (temps de compilation environ 4 minutes)... mais avec mon 486 DX2/66 et 16 Mo, la compilation exige un peu plus de 40 minutes. Cela dépend surtout de la quantité de mémoire vive disponible. 6. si vous avez des modules, lancer leur compilation par : make modules puis les installer par make modules_install. Ils seront copiés dans le répertoire /lib/modules/2.0.26. 7. Quand c'est terminé, aller dans /usr/src/linux/arch/i386/boot. Le nouveau noyau flambant neuf est le fichier _z_I_m_a_g_e, qui est déjà compacté. Le copier dans la racine : / en lui attribuant un nouveau nom (par exemple "vmlinuz2"). Modifier la configuration de LILO mais ne rien retirer : copier/coller en tête du fichier une section existante puis la modifier afin qu'elle concerne le nouveau noyau. Puis relancer lilo pour que le nouveau noyau soit pris en compte et reboote. Remarque : si vous ne parvenez pas à modifier la configuration de lilo il faudra installer le nouveau fichier du noyau en lieu et place de l'ancien. Je vous conseille fortement de laisser l'ancien noyau dans un coin et surtout de pouvoir booter dessus, par exemple grâce à une disquette, afin de ne pas tout perdre. Réamorcer et ça doit fonctionner. 1122.. LLeess ffiicchhiieerrss ssppéécciiaauuxx Sous LLiinnuuxx et plus généralement sous Unix, les entrées-sorties sur un périphérique se font grâce à des fichiers situés dans le répertoire /dev/. Chacun d'entre eux est identifié par un nom (hda pour le premier disque dur du contrôleur IDE, par exemple) mais surtout par deux numéros uniques : _m_a_j_e_u_r et _m_i_n_e_u_r. Ces fichiers dits _s_p_é_c_i_a_u_x sont de deux sortes : _c_a_r_a_c_t_è_r_e_s (terminal, imprimante, etc) ou _b_l_o_c_s (disque par exemple). Il est important de connaître ces fichiers. Les diverses distributions (Slackware, RedHat, jurix, SLS, etc) les créent parfois de façon incorrecte. De même, il est inutile de créer les fichiers nécessaires à l'utilisation des périphériques d'un type donné si l'on ne possède pas de carte. Pour créer un fichier spécial, il suffit de faire mknod Nom_Fichier Type Majeur Mineur. D'autres options existent, consultez le manuel. Un fichier de commandes appelé MAKEDEV est également disponible dans le répertoire /dev. Il permet de créer des fichiers spéciaux sans appeler directement mknod. La liste de périphériques qui va suivre provient du document _L_I_N_U_X _A_L_L_O_C_A_T_E_D _D_E_V_I_C_E_S écrit par H. Peter Anvin hpa@zytor.com. Cette liste est fournie dans le répertoire de documentations des sources du noyau (Documentation/devices.txt) à partir de la version 1.3 du noyau. Si vous voulez développer un gestionnaire de périphérique et ajouter un périphérique à la liste, contactez le, aapprrèèss aavvooiirr lluu llee ddooccuummeenntt oorriiggiinnaall. En effet la liste ci-dessous est quelque peu épurée. CCeettttee lliissttee ccoorrrreessppoonndd àà llaa vveerrssiioonn 22..11..111155 · 0 : Périphérique Nul et sans nom. · 1 car : Mémoire · 1 : /dev/mem : accès mémoire physique · 2 : /dev/kmem : accès mémoire virtuelle · 3 : /dev/null : périphérique nul · 4 : /dev/port : accès au port d'entrée/sortie · 5 : /dev/zero : source d'octets à 0 · 6 : /dev/core : OBSOLETE (remplacé par /proc/kcore) · 7 : /dev/full : retourne ENOSPC lors d'une écriture · 8 : /dev/random : génération de nombres aléatoires · 9 : /dev/urandom : plus rapide, moins sûr. · 1 bloc : disque virtuel : · 0 : /dev/ram0 : 1er disque · · 7 : /dev/ram7 : dernier disque · 250 : /dev/initrd : disque virtuel d'initialisation Les anciens noyaux possèdent /dev/ramdisk (1,1) à la place et /dev/initrd fait référence à un disque virtuel qui a été préalablement chargé par le _b_o_o_t _l_o_a_d_e_r. · 2 car : Réservé pour les pseudo-tty · 0 : /dev/ptyp0 : 1er périphérique · · 255 : /dev/ptyef : dernier périphérique Les maîtres sont les _p_t_y et les esclaves sont les _t_t_y. · 2 bloc : Lecteurs de disquettes · 0 : /dev/fd0 1er lecteur autodétecté · 1 : /dev/fd1 2nd · 2 : /dev/fd2 3ème · 3 : /dev/fd3 4ème · 3 car : Réservé pour les pty esclaves · 0 : /dev/ttyp0 : 1er terminal esclave · · 255 : /dev/ttyef : dernier terminal esclave Il s'agit des anciens périphériques pty (BSD). Voir Unix98, majeur 136 et supérieur. · 3 bloc : 1er interface IDE/CD-ROM (pour MFM, RLL et IDE) · 0 : /dev/hda Disque maître · 64 : /dev/hdb Disque esclave (ou CD-ROM) · Pour les partitions, ajoutez au mineur le nombre : · 0 : /dev/hd? Tout le disque · 1 : /dev/hd?1 1ère partition principale · 2 : /dev/hd?2 2ème partition principale · 3 : /dev/hd?3 3ème partition principale · 4 : /dev/hd?4 4ème partition principale · 5 : /dev/hd?5 1ère partition logique · 6 : /dev/hd?6 2ème partition logique · 7 : /dev/hd?7 3ème partition logique · ... · 63 : /dev/hd?63 59ème partition logique · 4 car : Périphériques TTY · 0 : /dev/console Périphérique de la console · 1 : /dev/tty1 1ère console virtuelle · · 63 : /dev/tty63 63ème console virtuelle · 64 : /dev/ttyS0 1er port série · · 127 : /dev/ttyS63 64ème port série · 128 : /dev/ptyp0 1er ancien pseudo tty maître · · 191 : /dev/ptysf 64ème ancien pseudo tty maître · 192 : /dev/ttyp0 1er ancien pseudo tty esclave · · 255 : /dev/ttysf ancien 64ème pseudo tty esclave Les 64 premiers PTY sont supprimés à partir de la version 2.1.115. · 5 car : Autres périphériques TTY · 0 : /dev/tty périphérique TTY courant · 1 : dev/console réservé pour le périphérique de console · 2 : /dev/ptmx PTY maître pour multiplexage · 64 : /dev/cua0 Périphérique d'appel vers extérieur correspondant à ttyS0 · · 127 : /dev/cua63 Périphérique d'appel vers extérieur correspondant à ttyS63 · 6 car : Périphériques pour imprimantes parallèles · 0 : /dev/lp0 1ère imprimante parallèle (0x3bc) · 1 : /dev/lp1 2nde imprimante parallèle (0x378) · 2 : /dev/lp2 3ème imprimante parallèle (0x278) · 7 car : Contenu des consoles virtuelles (vcs) · 0 : /dev/vcs Contenu texte la console courante · 1 : /dev/vcs1 Contenu texte de tty1 · · 63 : /dev/vcs63 Contenu texte de tty63 · 128 : /dev/vcsa Attributs/Texte de la console courante · 129 : /dev/vcsa1 Attributs/Texte de tty1 · · 191 : /dev/vcsa63 Attributs/Texte de tty63 · 7 bloc : périphériques dit _l_o_o_p_b_a_c_k. Utilisés pour monter des périphériques qui ne sont pas associés à des périphériques de type bloc. · 0 : /dev/loop0 : 1er périphérique · 1 : /dev/loop1 : second... · · 8 bloc : Périphériques disques SCSI (0-15) · 0 : /dev/sda 1er disque SCSI · 16 : /dev/sdb 2nd disque SCSI · 32 : /dev/sdc 3ème disque SCSI · · 240 : /dev/sdp 16ème disque SCSI · 9 car : Périphériques lecteurs de bandes SCSI · 0 : /dev/st0 1er lecteur SCSI de bandes mode 0 · 1 : /dev/st1 2nd lecteur SCSI de bandes mode 0 · · 32 : /dev/st0l 1er lecteur SCSI de bandes mode 1 · 33 : /dev/st1l 2nd lecteur SCSI de bandes mode 1 · · 64 : /dev/st0m 1er lecteur SCSI de bandes mode 2 · 65 : /dev/st1m 2nd lecteur SCSI de bandes mode 2 · · 96 : /dev/st0a 1er lecteur SCSI de bandes mode 3 · 97 : /dev/st1a 2nd lecteur SCSI de bandes mode 3 · · 128 : /dev/nst0 1er lecteur SCSI de bandes mode 0,sans rembobinage · 129 : /dev/nst1 2nd lecteur SCSI de bandes mode 0, sans rembobinage · · 160 : /dev/nst0l 1er lecteur SCSI de bandes mode 1,sans rembobinage · 161 : /dev/nst1l 2nd lecteur SCSI de bandes mode 1,sans rembobinage · · 192 : /dev/nst0m 1er lecteur SCSI de bandes mode 2,sans rembobinage · 193 : /dev/nst1m 2nd lecteur SCSI de bandes mode 2,sans rembobinage · · 224 : /dev/nst0a 1er lecteur SCSI de bandes mode 3,sans rembobinage · 225 : /dev/nst1a 2nd lecteur SCSI de bandes mode 3,sans rembobinage · · 9 bloc : Périphériques méta-disques _R_A_I_D · 0 : /dev/md0 1er groupe de périphériques · 1 : /dev/md1 2nd groupe de périphériques · · 10 car : Souris non-séries. Divers · 0 : /dev/logibm : souris Logitech · 1 : /dev/psaux : souris style PS/2 · 2 : /dev/inportbm : souris Microsoft · 3 : /dev/atibm : souris ATI XL · 4 : /dev/jbm : J-mouse · 4 : /dev/amigamouse : souris amiga · 5 : /dev/atarimouse : souris Atari · 6 : /dev/sunmouse : souris Sun · 7 : /dev/amigamouse1 : seconde souris Amiga · 8 : /dev/smouse : gestionnaire souris séris · 9 : /dev/pc110pad : clavier IBM PC-110 · 128 : /dev/beep : beep ! · 129 : /dev/modreq : requète de chargement de module · 130 : /dev/watchdog : port timer WatchDog · 131 : /dev/temperature : température interne de la machine · 132 : /dev/hwtrap : capture d'erreurs matérielles · 133 : /dev/exttrp : capture d'erreurs externes · 134 : /dev/apm_bios : BIOS _A_d_v_a_n_c_e_d _P_o_w_e_r _M_a_n_a_g_e_m_e_n_t · 135 : /dev/rtc : _R_e_a_l _T_i_m_e _C_l_o_c_k · 136 : /dev/qcam0 : QuickCam sur lp0 · 137 : /dev/qcam1 : QuickCam sur lp1 · 138 : /dev/qcam2 : QuickCam sur lp2 · 139 : /dev/openprom : SPARC OpenBoot PROM · 140 : /dev/relay8 : carte relai Berkshire Products Octal · 141 : /dev/relay16 : carte relai Berkshire Products ISO-16 · 142 : /dev/msr : registres spécifiques x86 · 143 : /dev/pciconf : espace de configuration PCI · 144 : /dev/nvram : RAM non volatile · 145 : /dev/hfmodem : controle de modem carte son shortwave · 146 : /dev/graphics : périphérique graphique Linux/SGI · 147 : /dev/opengl : pipe OpenGL Linux/SGI · 148 : /dev/gfx : périphérique effet graphique Linux/SGI · 149 : /dev/input/mouse : émulation souris Irix Linux/SGI · 150 : /dev/input/keyboard : émulation clavier Irix Linux/SGI · 151 : /dev/led : LED boitier · 152 : /dev/radio Radio card (type?) · 153 : /dev/mergemem Périphérique mémoire · 11 car : clavier Sun (mode raw) · 0 : /dev/kbd · 11 bloc : Périphériques CD-ROM SCSI · 0 : /dev/sr0 1er CD-ROM SCSI · 1 : /dev/sr1 2nd CD-ROM SCSI · · 12 car : lecteurs de bandes QIC-02 · 2 : /dev/ntpqic11 QIC-11, sans rembobinage · 3 : /dev/tpqic11 QIC-11, avec rembobinage · 4 : /dev/ntpqic24 QIC-24, sans rembobinage · 5 : /dev/tpqic24 QIC-24, avec rembobinage · 6 : /dev/ntpqic120 QIC-120, sans rembobinage · 7 : /dev/tpqic120 QIC-120, avec rembobinage · 8 : /dev/ntpqic150 QIC-150, sans rembobinage · 9 : /dev/tpqic150 QIC-150, avec rembobinage · 12 bloc : Support CD-ROM MSCDEX · 0 : /dev/dos_cd0 1er CD-ROM MSCDEX · 1 : /dev/dos_cd1 2nd CD-ROM MSCDEX · · 13 car : Haut parleur du PC · 0 : /dev/pcmixer Émulation de /dev/mixer · 1 : /dev/pcsp Émulation de /dev/dsp (8-bit) · 4 : /dev/pcaudio Émulation de /dev/audio · 5 : /dev/pcsp16 Émulation de /dev/dsp (16-bit) · 13 bloc : Contrôleur 8-bit MFM/RLL/IDE · 0 : /dev/xda 1er disque XT · 64 : /dev/xdb 2nd disque XT · 14 car : Carte son · 0 : /dev/mixer Contrôle du mixage · 1 : /dev/sequencer Séquenceur audio · 2 : /dev/midi00 1er port MIDI · 3 : /dev/dsp Audio digital · 4 : /dev/audio Audio compatible Sun · 6 : /dev/sndstat État de la carte son · 8 : /dev/sequencer2 Autre périphérique pour séquenceur · 16 : /dev/mixer1 contrôle du mixage Second pour 2ème carte son · 17 : /dev/patmgr0 Gestionnaire du séquenceur patch · 18 : /dev/midi01 2nd port MIDI · 19 : /dev/dsp1 Audio digital pour 2nde carte son · 20 : /dev/audio1 Audio compatible sun pour 2nde carte son · 33 : /dev/patmgr1 Gestionnaire du séquenceur patch pour 2nde carte son · 34 : /dev/midi02 3ème port MIDI · 50 : /dev/midi03 4ème port MIDI · 14 bloc : Disque dur via BIOS · 0 : /dev/dos_hda 1er disque dur BIOS · 64 : /dev/dos_hdb 2nd disque dur BIOS · 128 : /dev/dos_hdc 3ème disque dur BIOS · 192 : /dev/dos_hdd 4ème disque dur BIOS · 15 car : Joystick · 0 : /dev/js0 1er joystick · 1 : /dev/js1 2ème joystick · ... · 128 : /dev/djs0 1er joystick numérique · 129 : /dev/djs1 2nd joystick numérique · bloc 15 : Sony CDU-31A/CDU-33A CD-ROM · 0 : /dev/sonycd Sony CDU-31a CD-ROM · 16 car : Réservé pour les scanners non SCSI : · 0 : /dev/gs4500 : Genius 4500 · 16 bloc : CD-ROM GoldStar · 0 : /dev/gscd : CD-ROM GoldStar · 17 car : Carte série _C_h_a_s_e · 0 : /dev/ttyH0 1er port · 1 : /dev/ttyH1 2nd port · · 17 bloc : CD-ROM de sauvegardes optiques · 0 : /dev/optcd CD-ROM de sauvegarde optiques · 18 car : Carte série Chase · 0 : /dev/cuh0 Appel sortant correspondant à ttyH0 · 1 : /dev/cuh1 Appel sortant correspondant à ttyH1 · · 18 bloc : CD-ROM Sanyo · 0 : /dev/sjcd CD-ROM Sanyo CD-ROM · 19 car : Carte série Cyclades · 0 : /dev/ttyC0 1er port · · 31 : /dev/ttyC31 32ème port · 19 bloc : Disque compressé "Double" · 0 : /dev/double0 1er disque compressé · · 7 : /dev/double7 8ième disque · 128 : /dev/cdouble0 miroir du 1er disque · · 135 : /dev/cdouble7 miroir du 8ième disque · 20 car : carte série Cyclades · 0 : /dev/cub0 périphérique appelant correspondant à ttyC0 · · 31 : /dev/cub31 périphérique appelant correspondant à ttyC31 · 20 bloc : CD-ROM Hitachi (en développement) · 0 : /dev/hitcd CD-ROM Hitachi · 21 car : SCSI générique · 0 : /dev/sg0 1er périphérique · 1 : /dev/sg1 2nd périphérique · · 21 bloc : Interface disques Acorn MFM · 0 : /dev/mfma 1er disque MFM · 64 : /dev/mfmb 2nd disque MFM Utilisé uniquement sur les Acorn RiscPC. · 22 car : Carte série Digiboard · 0 : /dev/ttyD0 1er port Digiboard · 1 : /dev/ttyD1 2ème port Digiboard · · 22 bloc : Seconde interface IDE disque dur / CD-ROM · 0 : /dev/hdc maître (ou CD-ROM) · 64 : /dev/hdd serveur (ou CD-ROM) · 23 car : Carte série Digiboard · 0 : /dev/cud0 périphérique appelant correspondant à ttyD0 · 1 : /dev/cud1 périphérique appelant correspondant à ttyD1 · · 23 bloc : CD-ROM propriétaire Mitsumi · 0 : /dev/mcd CD-ROM Mitsumi · 24 car : Carte série Stallion · 0 : /dev/ttyE0 Port 0 carte 0 · 1 : /dev/ttyE1 Port 1 carte 0 · · 64 : /dev/ttyE64 Port 0 carte 1 · 65 : /dev/ttyE65 Port 1 carte 1 · · 128 : /dev/ttyE128 Port 0 carte 2 · 129 : /dev/ttyE129 Port 1 carte 2 · · 192 : /dev/ttyE192 Port 0 carte 3 · 193 : /dev/ttyE193 Port 1 carte 3 · · 24 bloc : CD-ROM Sony CDU-535 · 0 : /dev/cdu535 CD-ROM Sony CDU-535 · 25 car : Stallion serial card - alternate devices · 0 : /dev/cue0 Périphérique appelant correspondant à ttyE0 · 1 : /dev/cue1 Périphérique appelant correspondant à ttyE1 · · 64 : /dev/cue64 Périphérique appelant correspondant à ttyE64 · 65 : /dev/cue65 Périphérique appelant correspondant à ttyE65 · · 128 : /dev/cue128 Périphérique appelant correspondant à ttyE128 · 129 : /dev/cue129 Périphérique appelant correspondant à ttyE129 · · 192 : /dev/cue192 Périphérique appelant correspondant à ttyE192 · 193 : /dev/cue193 Périphérique appelant correspondant à ttyE193 · · 25 bloc : 1er CDROM Matsushita (Panasonic/SoundBlaster) · 0 : /dev/sbpcd0 Contrôleur 0 CD-ROM Panasonic unité 0 · 1 : /dev/sbpcd1 Contrôleur 0 CD-ROM Panasonic unité 1 · 2 : /dev/sbpcd2 Contrôleur 0 CD-ROM Panasonic unité 2 · 3 : /dev/sbpcd3 Contrôleur 0 CD-ROM Panasonic unité 3 · 26 car : _Q_u_a_n_t_a _W_i_n_V_i_s_i_o_n _F_r_a_m_e _g_r_a_b_b_e_r_s · 0 : /dev/wvisfgrab Quanta WinVision · 26 bloc : 2nd CDROM Matsushita (Panasonic/SoundBlaster) · 0 : /dev/sbpcd4 Contrôleur 1 CD-ROM Panasonic unité 0 · 1 : /dev/sbpcd5 Contrôleur 1 CD-ROM Panasonic unité 1 · 2 : /dev/sbpcd6 Contrôleur 1 CD-ROM Panasonic unité 2 · 3 : /dev/sbpcd7 Contrôleur 1 CD-ROM Panasonic unité 3 · 27 car : lecteur de cartouches QIC-117 · 0 : /dev/rft0 Unité 0, avec rembobinage · 1 : /dev/rft1 Unité 1, avec rembobinage · 2 : /dev/rft2 Unité 2, avec rembobinage · 3 : /dev/rft3 Unité 3, avec rembobinage · 4 : /dev/nrft0 Unité 0, sans rembobinage · 5 : /dev/nrft1 Unité 1, sans rembobinage · 6 : /dev/nrft2 Unité 2, sans rembobinage · 7 : /dev/nrft3 Unité 3, sans rembobinage · 16 : /dev/zqft0 Unité 0, rembobinage lors de la fermeture, compression · 17 : /dev/zqft1 Unité 1, rembobinage lors de la fermeture, compression · 18 : /dev/zqft2 Unité 2, rembobinage lors de la fermeture, compression · 19 : /dev/zqt3 Unité 3, rembobinage lors de la fermeture, compression · 20 : /dev/nzqft0 Unité 0, sans rembobinage lors de la fermeture, compression · 21 : /dev/nzqft1 Unité 1, sans rembobinage lors de la fermeture, compression · 22 : /dev/nzqft2 Unité 2, sans rembobinage lors de la fermeture, compression · 23 : /dev/nzqft3 Unité 3, sans rembobinage lors de la fermeture, compression · 32 : /dev/rawqft0 Unité 0, rembobinage lors de la fermeture, pas de fichier marque · 33 : /dev/rawqft1 Unité 1, rembobinage lors de la fermeture, pas de fichier marque · 34 : /dev/rawqft2 Unité 2, rembobinage lors de la fermeture, pas de fichier marque · 35 : /dev/rawqft3 Unité 3, rembobinage lors de la fermeture, pas de fichier marque · 32 : /dev/nrawqft0 Unité 0, sans rembobinage lors de la fermeture, pas de fichier marque · 33 : /dev/nrawqft1 Unité 1, sans rembobinage lors de la fermeture, pas de fichier marque · 34 : /dev/nrawqft2 Unité 2, sans rembobinage lors de la fermeture, pas de fichier marque · 35 : /dev/nrawqft3 Unité 3, sans rembobinage lors de la fermeture, pas de fichier marque · 27 bloc : 3ème CDROM Matsushita (Panasonic/SoundBlaster) · 0 : /dev/sbpcd8 Contrôleur 2 CD-ROM Panasonic unité 0 · 1 : /dev/sbpcd9 Contrôleur 2 CD-ROM Panasonic unité 1 · 2 : /dev/sbpcd10 Contrôleur 2 CD-ROM Panasonic unité 2 · 3 : /dev/sbpcd11 Contrôleur 2 CD-ROM Panasonic unité 3 · 28 car : Carte série Stallion (sauf Atari) · 0 : /dev/staliomem0 1ère carte mémoire I/O · 1 : /dev/staliomem1 2nd carte mémoire I/O · 2 : /dev/staliomem2 3ième carte mémoire I/O · 3 : /dev/staliomem3 4ième carte mémoire I/O · 28 car : Imprimante laser SLM ACSI (68k/Atari) · 0 : /dev/slm0 1ère imprimante laser SLM · 1 : /dev/slm1 2nde imprimante laser SLM · · 28 bloc : 4ème CDROM Matsushita (Panasonic/SoundBlaster) (sauf pour 68k/Atari) · 0 : /dev/sbpcd12 contrôleur 3 CD-ROM Panasonic unité 0 · 1 : /dev/sbpcd13 contrôleur 3 CD-ROM Panasonic unité 1 · 2 : /dev/sbpcd14 contrôleur 3 CD-ROM Panasonic unité 2 · 3 : /dev/sbpcd15 contrôleur 3 CD-ROM Panasonic unité 3 · 28 bloc : disk ACSI (68k/Atari) · 0 : /dev/ada 1er disque ACSI · 16 : /dev/adb 2nd disque ACSI · 32 : /dev/adc 1er disque ACSI · ... · 240 : /dev/adp 16ième disque ACSI · 29 car : Buffer Universal (68k et Sparc uniquement) · 0 : /dev/fb0 1er buffer · 32 : /dev/fd1 2nd buffer · ... · 240 : /dev/fb7 7ième buffer · 29 bloc : CD-ROM Aztech/Orchid/Okano/Wearnes · 0 : /dev/aztcd CD-ROM Aztech · 30 car : Périphériques compatibles iBCS-2 · 0 : /dev/socksys Accès Socket · 1 : /dev/spx Interface locale X SVR3 · 2 : /dev/inet/arp Accès réseau · 2 : /dev/inet/icmp Accès réseau · 2 : /dev/inet/ip Accès réseau · 2 : /dev/inet/udp Accès réseau · 2 : /dev/inet/tcp Accès réseau · 30 bloc : CD-ROM Philips LMS CM-205 CD-ROM · 0 : /dev/cm205cd CD-ROM Philips LMS CM-205 · 31 car : MPU-401 MIDI · 0 : /dev/mpu401data MPU-401 port données · 1 : /dev/mpu401stat MPU-401 port état · 31 bloc : Carte mémoire ROM/flash · 0 : /dev/rom0 1ère carte ROM (rw) · · 7 : /dev/rom7 8ème carte ROM (rw) · 8 : /dev/rrom0 1ère carte ROM (ro) · · 15 : /dev/rrom7 8ème carte ROM (ro) · 16 : /dev/flash0 1ère carte mémoire flash (rw) · · 23 : /dev/flash7 8ème carte mémoire flash (rw) · 24 : /dev/rflash0 1ère carte mémoire flash (ro) · · 31 : /dev/rflash7 8ème carte mémoire flash (ro) · 32 car : Carte série Specialix · 0 : /dev/ttyX0 1er port · 1 : /dev/ttyX1 2nd port · · 32 bloc : CD-ROM Philips LMS CM-206 · 0 : /dev/cm206cd CD-ROM Philips LMS CM-206 · 33 car : Carte série Specialix · 0 : /dev/cux0 Périphérique appelant correspondant à ttyX0 · 1 : /dev/cux1 Périphérique appelant correspondant à ttyX1 · · 33 bloc : 3ième carte controleur IDE · 0 : /dev/hde Maître · 64 : /dev/hdf Esclave · 34 char : Z8530 HDLC · 0 : /dev/scc0 : 1er Z8530 - 1er port · 1 : /dev/scc1 : 1er Z8530 - 2nd port · 2 : /dev/scc2 : 2nd Z8530 - 1er port · 3 : /dev/scc3 : 2nd Z8530 - 2nd port · ... · 34 bloc : 4ème interface IDE disque dur/CD-ROM · 0 : /dev/hdg : Maître · 64 : /dev/hdh : Esclave · 35 car : tclmidi MIDI · 0 : /dev/midi0 1er port MIDI, timer via noyau · 1 : /dev/midi1 2nd port MIDI, timer via noyau · 2 : /dev/midi2 3ème port MIDI, timer via noyau · 3 : /dev/midi3 4ème port MIDI, timer via noyau · 64 : /dev/rmidi0 1er port MIDI, sans timer · 65 : /dev/rmidi1 2nd port MIDI, sans timer · 66 : /dev/rmidi2 3ème port MIDI, sans timer · 67 : /dev/rmidi3 4ème port MIDI, sans timer · 128 : /dev/smpte0 1er port MIDI, timer via SMPTE · 129 : /dev/smpte1 2ème port MIDI, timer via SMPTE · 130 : /dev/smpte2 3ème port MIDI, timer via SMPTE · 131 : /dev/smpte3 4ème port MIDI, timer via SMPTE · 35 bloc : Ramdisk mémoire lente · 0 : /dev/slram : Ramdisk mémoire lente · 36 car : Netlink · 0 : /dev/route : routage · 1 : /dev/skip : cache de sécurité · 36 bloc : MCA ESDI disque dur · 0 : /dev/eda 1er · 64 : /dev/edb 2nd · · 37 car : lecteurs de bande IDE · 0 : /dev/ht0 : 1er périphérique · 128 : /dev/nht0 : 1er périphérique, sans rembobinage · 37 bloc : zorro II ramdisk · 0 : /dev/z2ram : Zorro II · 38 car : cartes Myricom PCI Myrinet · 0 : /dev/mlanai0 : 1ère carte · 1 : /dev/mlanai2 : 2nde carte · · 38 bloc : réservé pour Linux/AP+ · 39 car : ML-16P - carte expérimentale · 0 : /dev/ml16pa-a0 : 1ère carte, 1er canal analogique · 1 : /dev/ml16pa-a0 : 1ère carte, 2nd canal analogique · · 15 : /dev/ml16pa-a15 : 1ère carte, 16ème canal analogique · 16 : /dev/ml16pa-d : 1ère carte, lignes digitales · 17 : /dev/ml16pa-c0 : 1ère carte, 1er compteur/timer · 18 : /dev/ml16pa-c1 : 1ère carte, 2nd compteur/timer · 19 : /dev/ml16pa-c2 : 1ère carte, 3eme compteur/timer · 32 : /dev/ml16pb-a0 : 2ème carte, 1er canal analogique · 33 : /dev/ml16pb-a1 : 2ème carte, 2nd canal analogique · · 47 : /dev/ml16pb-a15 : 2ème carte, 16ème canal analogique · 48 : /dev/ml16pb-d : 2ème carte, lignes digitales · 49 : /dev/ml16pb-c0 : 2ème carte, 1er compteur/timer · 50 : /dev/ml16pb-c1 : 2ème carte, 2nd compteur/timer · 51 : /dev/ml16pb-c2 : 2ème carte, 3eme compteur/timer · ... · 39 bloc : réservé pour Linux/AP+ · 40 car : Matrox Meteor · 0 : /dev/mmetfgrab Matrox Meteor · 40 bloc : disque extractible Syquest EZ135 sur port parallèle · 0 : /dev/eza 1er disque sur port parallèle EZ135 Ce périphérique est obsolète et sera supprimé dans une prochaine version. · 41 car : _Y_e_t _A_n_o_t_h_e_r _M_i_c_r_o _M_o_n_i_t_o_r · 0 : /dev/yamm _Y_e_t _A_n_o_t_h_e_r _M_i_c_r_o _M_o_n_i_t_o_r · 41 bloc : Port parallèle CD-ROM MicroSolutions BackPack · 0 : /dev/bpcd Ce périphérique est obsolète et sera supprimé dans une prochaine version. · 42 : utilisé pour des démonstrations ou des exemples · 43 car : modem virtuel isdn4linux · 0 : /dev/ttyI0 1er modem virtuel · ... · 63 : /dev/ttyI63 64ème modem virtuel · 43 bloc : périphériques bloc réseau · 0 : /dev/nb0 premier périphérique réseau · 1 : /dev/nb1 second périphérique réseau · 44 car : autres périphériques isdn4linux · 0 : /dev/cui0 1er périphérique d'appel · ... · 63 : /dev/cui63 64ème périphérique d'appel · 44 bloc : Flash Translation Layer (FTL) - systèmes de fichiers · 0 : /dev/ftla FTL sur le premier Memory Technology Device · 16 : /dev/ftlb FTL sur le second Memory Technology Device · 32 : /dev/ftlc FTL sur le troisième Memory Technology Device · · 240 : /dev/ftlp FTL sur le 16ième Memory Technology Device · 45 car : périphérique BRI ISDN isdn4linux · 0 : /dev/isdn0 1er périphérique virtuel · ... · 63 : /dev/isdn63 64ième périphérique virtuel · 64 : /dev/isdnctrl0 1er canal de contrôle · ... · 127 : /dev/isdnctrl63 64ième canal de contrôle · 128 : /dev/ippp0 : 1er périphérique SyncPPP · · 191 : /dev/ippp63 : 64ième périphérique SyncPPP · 255 : /dev/isdninfo interface · 45 bloc : disques IDE sur port parallèle · 0 : /dev/pda, 1er disque IDE · 16 : /dev/pdb, 2nd disque IDE · 32 : /dev/pdc, 3ième disque IDE · 48 : /dev/pdd, 4ième disque IDE · 46 car : carte série Rocketport · 0 : /dev/ttyR0 1er port · 1 : /dev/ttyR1 2nd port · ... · 46 bloc : CD-ROM ATAPI sur le port parallèle · 0 : /dev/pcd0, 1er lecteur CD-ROM ATAPI · 1 : /dev/pcd1, 2nd lecteur CD-ROM ATAPI · 2 : /dev/pcd2, 3ième lecteur CD-ROM ATAPI · 3 : /dev/pcd3, 4ième lecteur CD-ROM ATAPI · 47 car : carte série Rocketport - autre périphériques · 0 : /dev/cur0 1er port d'appel · 1 : /dev/cur1 2nd · ... · 47 bloc : CD-ROM ATAPI sur le port parallele · 0 : /dev/pf0, 1er lecteur CD-ROM ATAPI · 1 : /dev/pf1, 2nd lecteur CD-ROM ATAPI · 2 : /dev/pf2, 3ième lecteur CD-ROM ATAPI · 3 : /dev/pf3, 4ième lecteur CD-ROM ATAPI · 48 car : carte série SDL RISCom · 0 : /dev/ttyL0 1ère carte RISCom · 1 : /dev/ttyL1 2ième carte RISCom · ... · 48 bloc : réservé pour contrôleur Mylex DAC960 PCI RAID · 49 car : carte série SDL RISCom - autre périphérique · 0 : /dev/cul0 1er périphérique d'appel · 1 : /dev/cul1 2ième périphérique d'appel · ... · 49 bloc : réservé pour contrôleur Mylex DAC960 PCI RAID · 50 car : réservé pour GLINT · 50 bloc : réservé pour contrôleur Mylex DAC960 PCI RAID · 51 car : modem radio Baycom · 0 : /dev/bc0 1er modem Baycom · 1 : /dev/bc1 2nd modem Baycom · · 51 bloc : réservé pour contrôleur Mylex DAC960 PCI RAID · 52 car : cartes ISDN DataComm/BRI Spellcaster · 0 : /dev/dcbri0 1ère carte DataComm · 1 : /dev/dcbri1 2nde carte DataComm · 2 : /dev/dcbri2 3ème carte DataComm · 3 : /dev/dcbri3 4ème carte DataComm · 52 bloc : réservé pour contrôleur Mylex DAC960 PCI RAID · 53 car : interface BDM pour débogage de micro-contrôleurs MC683xx · 0 : /dev/pd_bdm0 interface PD BDM sur lp0 · 1 : /dev/pd_bdm1 interface PD BDM sur lp1 · 2 : /dev/pd_bdm2 interface PD BDM sur lp2 · 4 : /dev/icd_bdm0 interface ICD BDM sur lp0 · 5 : /dev/icd_bdm1 interface ICD BDM sur lp1 · 6 : /dev/icd_bdm2 interface ICD BDM sur lp2 · 53 bloc : réservé pour contrôleur Mylex DAC960 PCI RAID · 54 car : Cartes séries Holter Electrocardiognosis Holter · 0 : /dev/holter0 1er port Holter · 1 : /dev/holter1 2nd port Holter · 2 : /dev/holter2 3ème port Holter · 51 bloc : réservé pour contrôleur Mylex DAC960 PCI RAID · 55 car : processeurs numériques DSP56001 · 0 : /dev/dsp56k premier DSP56001 · 51 bloc : réservé pour contrôleur Mylex DAC960 PCI RAID · 56 car : Bus Apple Desktop · 0 : /dev/adb bus ADB · 56 bloc : 5ième interface IDE/CD-ROM · 0 : /dev/hdi maître (ou CD-ROM) · 64 : /dev/hdj serveur (ou CD-ROM) · 57 car carte série Hayes ESP · 0 : /dev/ttyP0 Premier port ESP · 1 : /dev/ttyP1 Second port ESP · 57 bloc : 6ième interface IDE/CD-ROM · 0 : /dev/hdk maître (ou CD-ROM) · 64 : /dev/hdl serveur (ou CD-ROM) · 58 car carte série Hayes ESP - autres périphériques · 0 : /dev/cup0 Périphérique d'appel correspondant à ttyP0 · 1 : /dev/cup1 Périphérique d'appel correspondant à ttyP1 · 59 bloc réservé pour le gestionnaire de volume · 59 car paquetage firewall sf · 0 : /dev/firewall Communication avec le noyau · 60-63 : usage local ou d'expérimentation · 64 car : paquetage de chiffrement noyau ENskip · 0 : /dev/enskip communication avec le module noyau ENskip · 65 car cartes Sundance "plink" · 0 : /dev/plink0 premier périphérique plink · 1 : /dev/plink1 second périphérique plink · 2 : /dev/plink2 troisième périphérique plink · 3 : /dev/plink3 quatrième périphérique plink · 64 : /dev/rplink0 premier périphérique plink, données brute · 65 : /dev/rplink1 second périphérique plink, données brute · 66 : /dev/rplink2 troisième périphérique plink, données brute · 67 : /dev/rplink3 quatrième périphérique plink, données brute · 128 : /dev/plink0d premier périphérique plink, déboguage · 129 : /dev/plink1d second périphérique plink, déboguage · 130 : /dev/plink2d troisième périphérique plink, déboguage · 131 : /dev/plink3d quatrième périphérique plink, déboguage · 192 : /dev/rplink0d premier périphérique plink, données brute, déboguage · 193 : /dev/rplink1d second périphérique plink, données brute, déboguage · 194 : /dev/rplink2d troisième périphérique plink, données brute, déboguage · 195 : /dev/rplink3d quatrième périphérique plink, données brute, déboguage · 65 bloc : Périphériques disques SCSI (16-31) · 0 : /dev/sdq 16ième disque SCSI · 16 : /dev/sdr 17ième disque SCSI · 32 : /dev/sds 18ième disque SCSI · · 240 : /dev/sdaf 32ème disque SCSI · 66 car carte coprocesseur YARC PowerPC PCI · 0 : /dev/yppcpci0 première carte YARC · 1 : /dev/yppcpci1 seconde carte YARC · 66 bloc : Périphériques disques SCSI (32-47) · 0 : /dev/sdag 33ième disque SCSI · 16 : /dev/sdah 34ième disque SCSI · 32 : /dev/sdai 35ième disque SCSI · · 240 : /dev/sdav 48ème disque SCSI · 67 car système de fichiers réseau Coda · 0 : /dev/cfs0 gestionnaire de cache Coda Voir . · 67 bloc : Périphériques disques SCSI (47-63) · 0 : /dev/sdaw 49ième disque SCSI · 16 : /dev/sdax 50ième disque SCSI · 32 : /dev/sday 51ième disque SCSI · · 240 : /dev/sdbl 64ème disque SCSI · 68 car interfcace CAPI 2.0 · 0 : /dev/capi20 périphérique de controle · 1 : /dev/capi20.00 première application CAPI 2.0 · 2 : /dev/capi20.01 seconde application CAPI 2.0 · ... · 20 : /dev/capi20.19 19ième application CAPI 2.0 · 68 bloc : Périphériques disques SCSI (64-79) · 0 : /dev/sdbm 64ième disque SCSI · 16 : /dev/sdbn 65ième disque SCSI · 32 : /dev/sdbo 66ième disque SCSI · · 240 : /dev/sdcb 80ième disque SCSI · 69 car carte accélératrice numérique MA16 · 0 : /dev/ma16 carte d'accès mémoire · 69 bloc : Périphériques disques SCSI (80-95) · 0 : /dev/sdcc 81ième disque SCSI · 16 : /dev/sdax 82ième disque SCSI · 32 : /dev/sday 83ième disque SCSI · · 240 : /dev/sdcr 96ième disque SCSI · 70 car SpellCaster Protocol Services Interface · 0 : /dev/apscfg interface Configuration · 1 : /dev/apsauth interface Authentication · 2 : /dev/apslog interface Logging · 3 : /dev/apsdbg interface Debugging · 64 : /dev/apsisdn interface de commandes ISDN · 65 : /dev/apsasync interface de commandes Async · 128 : /dev/apsmon interface Monitor · 70 bloc : Périphériques disques SCSI (96-111) · 0 : /dev/sdcs 97ième disque SCSI · 16 : /dev/sdct 98ième disque SCSI · 32 : /dev/sdcu 99ième disque SCSI · · 240 : /dev/sddh 112ième disque SCSI · 71 car carte série Computone IntelliPort II · 0 : /dev/ttyF0 carte 0, port 0 IntelliPort II · 1 : /dev/ttyF1 carte 0, port 1 IntelliPort II · ... · 63 : /dev/ttyF63 carte 0, port 63 IntelliPort II · 64 : /dev/ttyF64 carte 1, port 0 IntelliPort II · 65 : /dev/ttyF65 carte 1, port 1 IntelliPort II · ... · 127 : /dev/ttyF127 carte 1, port 63 IntelliPort II · 128 : /dev/ttyF128 carte 2, port 0 IntelliPort II · 129 : /dev/ttyF129 carte 2, port 1 IntelliPort II · ... · 191 : /dev/ttyF191 carte 2, port 63 IntelliPort II · 192 : /dev/ttyF192 carte 3, port 0 IntelliPort II · 193 : /dev/ttyF193 carte 3, port 1 IntelliPort II · ... · 255 : /dev/ttyF255 carte 3, port 63 IntelliPort II · 71 bloc : Périphériques disques SCSI (112-127) · 0 : /dev/sddi 97ième disque SCSI · 16 : /dev/sddj 98ième disque SCSI · 32 : /dev/sddk 99ième disque SCSI · · 240 : /dev/sddx 112ième disque SCSI · 72 car carte série Computone IntelliPort II, autres périphériques · 0 : /dev/cuf0 appel sortant correspondant à ttyF0 · 1 : /dev/cuf1 appel sortant correspondant à ttyF1 · ... · 63 : /dev/cuf63 appel sortant correspondant à ttyF63 · 64 : /dev/cuf64 appel sortant correspondant à ttyF64 · 65 : /dev/cuf64 appel sortant correspondant à ttyF65 · ... · 127 : /dev/cuf64 appel sortant correspondant à ttyF127 · 128 : /dev/cuf64 appel sortant correspondant à ttyF128 · 129 : /dev/cuf64 appel sortant correspondant à ttyF129 · ... · 191 : /dev/cuf64 appel sortant correspondant à ttyF191 · 192 : /dev/cuf64 appel sortant correspondant à ttyF192 · 193 : /dev/cuf64 appel sortant correspondant à ttyF193 · ... · 255 : /dev/cuf255 appel sortant correspondant à ttyF255 · 73 car carte série Computone IntelliPort II, périphériques de controle · 0 : /dev/ip2ipl0 périphérique Loadware pour carte 0 · 1 : /dev/ip2stat0 périphérique Status pour carte 0 · 4 : /dev/ip2ipl1 périphérique Loadware pour carte 1 · 5 : /dev/ip2stat1 périphérique Status pour carte 1 · 8 : /dev/ip2ipl2 périphérique Loadware pour carte 2 · 9 : /dev/ip2stat2 périphérique Status pour carte 2 · 12 : /dev/ip2ipl3 périphérique Loadware pour carte 3 · 13 : /dev/ip2stat3 périphérique Status pour carte 3 · 74 car SCI bridge · 0 : /dev/SCI/0 périphérique 0 SCI · 1 : /dev/SCI/1 périphérique 1 SCI · 75 car : carte série Specialix IO8+ · 0 : /dev/ttyW0 premier port IO8+, première carte · 1 : /dev/ttyW1 second port IO8+, première carte · ... · 8 : /dev/ttyW8 premier port IO8+, seconde carte · ... · 76 car carte série Specialix IO8+, autres périphériques · 0 : /dev/cuw0 périphérique d'appel correspond à ttyW0 · 1 : /dev/cuw1 périphérique d'appel correspond à ttyW1 · ... · 8 : /dev/cuw1 périphérique d'appel correspond à ttyW8 · ... · 77 car ComScire Quantum Noise Generator · 0 : /dev/qng ComScire Quantum Noise Generator · 78 car cartes multimodem PAM · 0 : /dev/ttyM0 Premier modem PAM · 1 : /dev/ttyM1 Second modem PAM · 79 car carte multimodem PAM, autres périphériques · 0 : /dev/cum0 périphérique se sortie correspondant à ttyM0 · 1 : /dev/cum1 périphérique se sortie correspondant à ttyM1 · 80 car caméra Photometrics AT200 CCD · 0 : /dev/at200 caméra Photometrics AT200 CCD · 81 car Brooktree Bt848 · 0 : /dev/bttv0, première carte Bt848 · 1 : /dev/bttv1, seconde carte Bt848 · ... · 16 : /dev/bttvc0, Control pour première carte Bt848 · 17 : /dev/bttvc1, Control pour seconde carte Bt848 · ... · 32 : /dev/bttv-vbi0, données VBI pour première carte Bt848 · 33 : /dev/bttv-vbi1, données VBI pour seconde carte Bt848 · ... · 82 car carte réception radio WiNRADiO · 0 : /dev/winradio0 première carte WiNRADiO · 1 : /dev/winradio1 seconde carte WiNRADiO · ... · 83 car interfaces Teletext/vidéotext · 0 : /dev/vtx décodeur vidéotexte · 16 : /dev/vttuner interface tuner TV sur télétexte · 84 car Ikon 1011[57] Versatec Greensheet Interface · 0 : /dev/ihcp0 port First Greensheet · 1 : /dev/ihcp1 port Second Greensheet · 85 car file d'entrée mémoires partagées Linux/SGI · 0 : /dev/shmiq file d'entrée maîtresse · 1 : /dev/qcntl0 premier périphérique inséré · 2 : /dev/qcntl1 second périphérique inséré · · 86 car robot SCSI · 0 : /dev/sch0 premier média SCSI · 1 : /dev/sch1 second média SCSI · · 87 car bus de controle Sony Control-A1 stéréo · 0 : /dev/controla0 premier périphérique sur la chaîne · 1 : /dev/controla1 second périphérique sur la chaîne · ... · 88 car carte série synchrone COMX · 0 : /dev/comx0 canal COMX 0 · 1 : /dev/comx1 canal COMX 1 · ... · 89 car : interface bus I2C · 0 : /dev/i2c0 premier adaptateur I2C · 1 : /dev/i2c1 second adaptateur I2C · ... · 90 car : Memory Technology Device (RAM, ROM, Flash) · 0 : /dev/mtd0, 1er MTD (rw) · 1 : /dev/mtdr0, 2nd MTD (ro) · · 30 : /dev/mtd15, 16ième MTD (rw) · 31 : /dev/mtdr15, 16ième MTD (ro) · 91 car : périphériques CAN-Bus · 0 : /dev/can0, 1er contrôleur CAN-Bus · 1 : /dev/can1, 2nd contrôleur CAN-Bus · ... · 92 car : réservé pour carte Kommunikationstechnik MIC ISDN · 93 car : IBM Smart Capture Card · 0 : /dev/iscc0, 1ère carte Smart Capture · 1 : /dev/iscc1. 2nde carte Capture Card · · 128 : /dev/isccctl0, 1er contrôleur Smart Capture · 129 : /dev/isccctl1, 2nd contrôleur Smart Capture · · 94 car : périphérique de capture/restitution miroVIDEO DC10/30 · 0 : /dev/dcxx0, 1ère carte · 1 : /dev/dcxx1, 2nde carte · · 95 car : filtre IP · 0 : /dev/ipl, fichier périphérique filtre · 1 : /dev/ipnat, fichier de contrôle NAT · 2 : /dev/ipstate, fichier d'état · 3 : /dev/ipauth, fichier de contrôle d'authentification · 96 car : périphériques cartouche ATAPI port parallèle · 0 : /dev/pt0, 1er port parallèle · 1 : /dev/pt1, 2nd port parallèle · 2 : /dev/pt2, 3ième port parallèle · 3 : /dev/pt3, 4ième port parallèle · 128 : /dev/npt0, 1er port parallèle, sans rembobinage · 129 : /dev/npt1, 2nd port parallèle, sans rembobinage · 130 : /dev/npt2, 3ième port parallèle, sans rembobinage · 131 : /dev/npt3, 4ième port parallèle, sans rembobinage · 97 car : interface ATAPI parallèle générique · 0 : /dev/pg0, 1er périphérique ATAPI port parallèle · 1 : /dev/pg1, 2nd périphérique ATAPI port parallèle · 2 : /dev/pg2, 3ième périphérique ATAPI port parallèle · 3 : /dev/pg3, 4ième périphérique ATAPI port parallèle · 98 car : Périphériques de contrôle et de mesure (comedi) · 0 = /dev/comedi0, 1er périphérique · 1 = /dev/comedi1, 2nd périphérique · · 99 bloc : Ports parallèles en mode raw · 0 = /dev/parport0, 1er port · 1 = /dev/parport1, 2nd port · · 100 car : port A/B POTS (téléphone analogique) · 0 = /dev/phone0, 1er port · 1 = /dev/phone1, 2nd port · · 101 car : carte DSP 56xxx Motorola · 0 = /dev/mdspstat, états · 1 = /dev/msp1, première carte DSP · · 16 = mdsp16, 16ième carte DSP · 102 car : décodeur de signaux Philips SAA5249 Teletext · 0 = /dev/tlk0, premier décodeur Teletext · 1 = /dev/tlk1, second décodeur Teletext · 2 = /dev/tlk2, troisième décodeur Teletext · 3 = /dev/tlk3, quatrième décodeur Teletext · 103 car : système de fichiers réseau Arla · 0 = /dev/xfs0 Il s'agit d'un clone libre d'AFS. · 104 car : gestion Flash BIOS · 105 car : contrôleur série Comtrol VS-1000 · 0 = /dev/ttyV0, 1er port VS-1000 · 1 = /dev/ttyV1, 2nd port VS-1000 · · 106 car : contrôleur série Comtrol VS-1000, autres périphériques · 0 = /dev/cuv0, 1er port VS-1000 · 1 = /dev/cuv1, 2nd port VS-1000 · · 107 car : périphérique graphique 3Dfx Voodoo · 0 = /dev/3dfx périphérique 3Dfx principal · 108 car : périphérique ppp indépendant · 0 = /dev/ppp, périphérique indépendant · 109 car : réservé pour le gestionnaire de volumes. · 108-119 : non-alloués · 120-127 : usage local ou d'expérimentation · 128-135 car : PTY Unix98 maîtres Ces périphériques ne devraient pas avoir de noeuds correspondants. En fait, on devrait y accéder en utilisant l'interface /dev/ptmx. · 136-143 car : PTY Unix98 escalves · 0 = /dev/pts/0 , 1er pseudo TTY · 1 = /dev/pts/1 , 2nd pseudo TTY Ces noeuds sont générés automatiquement avec les droits d'accès et modes corrects en montant le système de fichiers devpts sur /dev/pts avec les options de montage requises (cela dépend de la distribution). · 144-239 : non-alloués · 240-254 : usage local ou d'expérimentation · 255 : Réservé 1133.. CCoommmmuunniiqquueerr 1133..11.. UUUUCCPP eett mmooddeemm UUCP (Unix to Unix CoPy) vous permet de transférer des fichiers et d'exécuter certaines commandes sur une machine distante sous forme de batches. Ce système permet ainsi de transférer du courrier électronique, des news et des fichiers. En fait, ce protocole permet d'effectuer un transfert de fichiers et d'exécuter certaines commandes en fonction du type de fichier (par exemple rmail et rnews). Cela permet à une machine non connectée en permanence à l'Internet d'avoir accès à la messagerie et aux groupes de discussions. Bien que ce protocole ait près de vingt ans, il est toujours particulièrement adapté. Un exemple : bien que je sois aux Etats-Unis à l'heure actuelle, je reçois toutes mes news ainsi que la plupart de mon courier _v_i_a UUCP depuis la France (sur une liaison TCP/IP). Avant de continuer, nous supposons que vous avez installé le paquetage Taylor UUCP, un lecteur de courrier électronique (elm, mutt, etc.), sendmail, un serveur de news (inn) et un lecteur de news. UUCP a besoin de plusieurs fichiers de configuration qui se trouvent dans /etc/uucp (les chemins d'accès peuvent varier d'une installation à l'autre). Si vous aviez une configuration fondée sur HDB, le paquetage Taylor contient un outil qui permet d'effectuer une conversion automatique de vos fichiers. Cela fonctionne très bien. · sys : il s'agit du fichier principal. On y définit les interlocuteurs, les protocoles utilisés, etc... Une configuration simple (serveur perceval) : # Ce qui suit les '#' est du commentaire. protocol itejgv # Je ne suis pas difficile, j'accepte [presque] tout. system latulipe # L'identifiant du systeme distant. call-login * # Le compte UUCP sur la machine distante ('*' renvoie sur le fichier call). call-password * # Son mot de passe (ici, '*' renvoie sur le fichier call). local-send / # Ces repertoires sont ceux accessibles (en fonction du transfert). local-receive /var/spool/uucppublic remote-send / remote-receive /var/spool/uucppublic. time any # On peut établir une connexion à tout moment. phone 0102030405 # Le numéro à appeler. port ACU # L'identifiant du port, voir fichier port. chat "" \r\c ogin:-BREAK-ogin:-BREAK- \L word: \P # Le dialogue pour la # connexion. Il faut voir aussi le fichier dial qui se charge de la partie # initialisation modem et appel. Dans le cas d'une configuration un peu plus complexe (machine lat­ ulipe) : remote-send ~ # Là, on se limite au repertoire utilisateur d'uucp remote-receive ~ local-send ~ local-receive ~ command-path /usr/sbin /usr/bin # Le chemins des commandes commands rmail rnews # Les commandes autorisées time any # Appel à toute heure - ne pas mettre le téléphone sur la même ligne! :-) system excalibur port type TCP # Connection via TCP/IP sur service uucp address glou.machine.fr # La machine distante call-login uutulipe # Mon nom utilisateur call-password ***censuré*** # Mon mot de passe system perceval # Identifiant port ACU protocol i # Protocole i, il permet de faire du full-duplex et de la récupération sur erreurs, interessant pour une ligne série. call-login uutulipe call-password ***censuré*** phone 0102030406 alternate # Une autre forme de connexion, au cas où la première échoue port type TCP address perceval.uic.asso.fr protocol t # Protocole t, pas de gestion d'erreur (déjà gérée par TCP/IP) On peut voir que, dans ce dernier cas, si une connexion modem sur perceval échoue (par exemple le modem est déjà utilisé pour une con­ nexion ppp ;-), UUCP essaie de s'y connecter avec la seconde solution (au dessus de TCP/IP). Dans la partie alternate, on ne précise que les différences avec la solution principale (notament, il n'est pas utile de repréciser le login, password, etc...) D'autre part, les scripts de connexion n'ont pas été défini (il y a habituellement un script de connexion par défaut qui est suffisant dans les cas stan­ dards). · port : la configuration des ports d'appel UUCP # # Connexion Série # port ACU type modem # type du port, principaux choix : modem, direct, tcp. device /dev/ttyS0 # périphériques. dialer hayes # Identifiant pour le script d'appel, voir fichier dial. speed 115200 # Débit. # # Connexion par TCP # port TCP type tcp seven-bit false reliable true half-duplex false service uucp · dial : le script d'appel dialer hayes # Correspond à la définition du port dans le fichier port. chat "" ATZ\r\c\d\d OK\r ATQ0M0E0\r\c OK\r AT&K1\r\c OK\r ATDT\T\r\c CONNECT \d\d chat-fail RING\r chat-fail NO\sCARRIER chat-fail ERROR chat-fail NO\sDIALTONE chat-fail BUSY chat-fail NO\sANSWER chat-fail VOICE complete \d\d+++\d\dATH\r\c abort \d\d+++\d\dATH\r\c Ici aussi, rien de très compliqué. Il faut essentiellement réadapter la seconde ligne (chat) pour les chaines d'initialisation de son modem. · call : les logins/passwords pour se connecter aux systèmes distants Configuration de perceval : latulipe uupercev ***censuré*** Traduction : si on se connecte sur le serveur latulipe, on utilise uupercev comme nom d'utilisateur uucp et ***censuré*** comme mot de passe. On peut utiliser le fichier call pour laisser en accès libre le fichier sys (car il ne contient plus les logins/passwords) mais il faut alors limiter les accès à ce fichier. · password : les logins/passwords des comptes UUCP hébergés Configuration de perceval : uutulipe ***censuré*** Traduction : il existe un compte uutulipe qui a le droit de se con­ necter (avec ***censuré*** comme mot de passe). Si ce fichier n'existe pas, la connexion peut être authentifiée avec le fichier /etc/passwd (il faut alors compiler UUCP avec les bonnes options... Dans mon cas, je ne voulais pas voir les comptes UUCP apparaître comme utilisa­ teurs). Les plus sérieux compileront UUCP en activant l'option HAVE_ENCRYPTED_PASSWORDS pour utiliser des mots de passes cryptés dans ce fichier. · config Configuration de perceval : nodename perceval Normalement, le nom UUCP est celui de la machine. Néanmoins, vous pou­ vez définir le nom que vous voulez. Il existe d'autres options, mais qui dépassent le cadre d'un site UUCP artisanal... Maintenant, le système est configuré. Il n'y a plus qu'à le tester... Pour visualiser la configuration, vous pouvez utiliser la commande uuchk. Il n'y a plus qu'à configurer son serveur pour qu'il accepte les connexions UUCP (démon uucico) : · Fichier /etc/passwd Une des manipulations les plus basiques pour mettre en place un feed uucp est de rajouter une ligne dans le fichier /etc/passwd (machine latulipe) : uupercev:JuNKieSPW:1000:1000:Compte UUCP Perceval:/var/spool/uucppublic:/usr/sbin/uucico Cela sous entend que son script de connexion ressemble à quelque chose comme : telnet\slatulipe.freenix.fr ogin: \L word: \P Cette configuration est utilisable également avec une connexion modem lorsque ce dernier est géré comme un terminal (cf agetty et autres). · Connection TCP/IP Service UUCP Très simple, il suffit de vérifier que le fichier /etc/services contient bien la ligne : uucp 540/tcp uucpd # BSD uucpd(8) UUCP service et que le fichier /etc/inetd.conf contienne : uucp stream tcp nowait uucp /usr/sbin/tcpd /usr/lib/uucp/uucico -l La commande /usr/sbin/tcpd correspond aux tcp-wrappers, elle est court-circuitable mais je vous recommande plutôt de la garder et de jeter un coup d'oeil à la configuration des dits tcp-wrappers. · Mgetty Dans le cas de mgetty, on peut utiliser le fichier /etc/mgetty/login.config pour y inserer (ou decommenter) la ligne : # username userid utmp_entry login_program [arguments] U* uucp @ /usr/lib/uucp/uucico -l -u @ Ainsi, au lieu de se connecter via login, on passe directement à uucico (sur perceval ou latulipe, le U* est un uu* correspondant aux uutulipe et autres uuperceval). Bien sûr, rien n'empêche un mélange de tous les genres... Dans tous les cas, si vous cherchez de plus amples renseignements, pensez à consulter la documentation fournie avec le paquetage Taylor. Il existe de plus un excellent livre chez O'Reilly sur UUCP. C'est un peu la bible du genre, n'hésitez donc pas à vous plonger dedans. 1133..22.. AAppppeellss eennttrraannttss Bon. Au point où l'on en est, vous pouvez appeler. Maintenant, on va configurer la machine pour que le monde extérieur puisse appeler. Tout se joue dans le fichier /etc/inittab. Décommenter une ligne comme par exemple : s1:45:respawn:/sbin/agetty -h -t 60 9600 modem | | | | | | |--- Port a utiliser | | | | | |--------- Vitesse du modem | | | | |--- Temps au bout duquel on racroche | | | |-------- Active le controle de flux rts/cts | | |------------- A relancer lorsqu'il se termine | |------------------ Runlevels. |---------------------- Identificateur Donc, au prochain boot, un système de login est prêt sur le port /dev/modem (port série sur lequel est connecté le modem). Le dernier problème est de le configurer. En effet, le modem doit être positionné pour la vitesse. En fait, cela dépend du modem. Si jamais vous pouvez positionner des switch, rendez le modem muet (ATQ2) et surtout, mettez-le en auto-reponse (ATS0=1). Si vous n'avez pas de switches, faîtes un AT&W pour sauvegarder les paramètres. Pour vérifier la config, utilisez /usr/lib/uucp/uuchk. Si vous voulez d'autres renseignements, je vous conseille de lire le HOWTO UUCP. 1133..33.. PPPPPP L'objet de ce paragraphe est l'installation d'une connexion PPP. 1133..33..11.. IInnttrroodduuccttiioonn PPP (Point to Point Protocol) permet d'établir une connexion IP sur une voie série de manière plus efficace que SLIP (Serial Line Internet Protocol). Une fois la connexion établie, tous les protocoles supérieurs à IP (TCP, UDP, ICMP et tous les services associés : FTP, telnet, NFS, http, X...) sont disponibles. Il est également possible de faire passer de l'IPX. Pour établir une connexion PPP, il faut: · un serveur supportant le protocole PPP ; · un modem *au moins* V32 (9600 bauds) ; · un soft de connexion à PPP ; · un peu de patience... PPP est supporté par un grand nombre de systèmes (dont MS-Windows) et on peut normalement se connecter d'un système à l'autre. Cependant, cette documentation ne traite que le cas de LLiinnuuxx ! 1133..33..22.. AAccccèèss àà uunn sseerrvveeuurr PPPPPP Pour accéder à un serveur PPP installé, votre noyau doit être compilé avec le support TCP/IP. Pour cela, lors du make config il faut répondre comme suit : Networking support (CONFIG_NET) [y] y TCP/IP networking (CONFIG_INET) [y] y IP forwarding/gatewaying (CONFIG_IP_FORWARD) [y] n Network device support? (CONFIG_NETDEVICES) [y] y PPP (point-to-point) support (CONFIG_PPP) [y] y Vous devez en plus récupérer les sources des programmes d'accès à PPP (dans l'archive ppp-2.1.2a.tar.gz, voire b, c, ou d) de manière à installer les programmes suivants : · pppd le programme d'établissement du protocole · chat qui permet de dérouler le chat-script d'appel au site PPP Vous pouvez par exemple installer pppd et chat dans le répertoire /usr/sbin. Ensuite, vous devez configurer vos shell-scripts de boot de manière à configurer la couche TCP/IP (par exemple dans un fichier /etc/rc.d/rc.net qui sera lancé par /etc/rc.d/rc.local). En voici un exemple : echo -n "/etc/rc.net: " INETD=/sbin/inetd PORTMAP=/sbin/portmap # loopback /sbin/ifconfig lo 127.0.0.1 up netmask 255.255.255.0 /sbin/route add 127.0.0.1 lo # demarrage des demons if [ -x $PORTMAP ]; then echo -n ", `basename $PORTMAP`" $PORTMAP fi if [ -x $INETD ]; then echo -n ", `basename $INETD`" $INETD fi echo "" Il faut ensuite ajouter l'adresse IP de la machine dans le fichier /etc/hosts : 127.0.0.1 loopback localhost # useful aliases 199.103.124.170 pcpf.lectra.fr pcpf # Mon beau PC en PPP L'adresse IP de la machine correspond à celle affectée par l'administrateur du serveur PPP pour la connexion associée à un numéro de téléphone donné. Cela signifie que la personne qui se connecte 10 minutes après utilisera la même adresse IP que vous. Enfin, vous devez configurer votre domaine dans le fichier /etc/resolv.conf : domain lectra.fr nameserver 192.1.2.1 La deuxième ligne est utilisée si vous souhaitez utiliser un serveur de noms, c'est-à-dire une machine renvoie l'adresse IP correspondant au nom de machine fourni. Si vous n'avez pas de serveur de noms, vous ne pourrez utiliser que des adresses numériques (199.103.124.x) ou bien vous devrez mettre dans le fichier /etc/hosts toutes les machines auxquelles vous voulez accéder avec leurs adresses IP... Vous pouvez également mettre votre nom de domaine dans le fichier /etc/ppp/options qui doit exister même vide (si vous ne voulez pas que pppd demande /etc/ppp/options, il faut le compiler avec l'option -DREQ_SYSOPTIONS=0). Vous pouvez maintenant fébrilement tester la connexion en utilisant un shell-script du style (attention : tout cela constitue une seule ligne) : /usr/sbin/pppd connect '/usr/sbin/chat -v ABORT ERROR ABORT "NO CARRIER" \ ABORT BUSY "" ATB0 OK ATDTxxxxxxxx CONNECT "" ogin: ppp \ word: ppp0' /dev/modem 9600 -detach debug crtscts modem \ defaultroute 199.103.124.170: La commande chat permet d'effectuer la connexion en appelant le numéro de téléphone de votre serveur. Attention de ne pas oublier les options de la deuxième ligne en particulier modem et defaultroute. La spécification de la vitesse (9600) ainsi que le chat-script à utiliser (ABORT ERROR ABORT "NO CARRIER" ABORT BUSY "" ATB0 OK ATDTxxxxxxxx CONNECT) dépendent bien entendu du modem et de la configuration du serveur (voir également le login et le password). L'adresse IP doit être celle déclarée en tant qu'adresse de la machine en PPP dans /etc/hosts (on peut également y mettre le nom de la machine en PPP). Les informations de debug doivent sortir sur la console (si vous avez configuré le fichier /etc/syslog.conf pour cela). À partir de là, vous êtes connecté sur le réseau distant et vous pouvez faire par exemple: $ ping 199.103.124.50 PING 199.103.124.50 (199.103.124.50): 56 data bytes 64 bytes from 199.103.124.50: icmp_seq=0 ttl=255 time=268 ms 64 bytes from 199.103.124.50: icmp_seq=1 ttl=255 time=247 ms 64 bytes from 199.103.124.50: icmp_seq=2 ttl=255 time=266 ms pour tester la connexion. Si le ping marche et que le réseau est con­ necté à l'Internet, alors vous avez Internet à la maison ! Si ça ne marche pas, vous pouvez tester en tapant /sbin/ifconfig et le résultat doit ressembler à ça : lo Link encap Local Loopback inet addr 127.0.0.1 Bcast 127.255.255.255 Mask 255.0.0.0 UP LOOPBACK RUNNING MTU 2000 Metric 1 RX packets 0 errors 0 dropped 0 overrun 0 TX packets 0 errors 0 dropped 0 overrun 0 ppp0 Link encap Serial Line IP inet addr 199.103.124.170 P-t-P 199.103.124.50 Mask 255.255.255.0 UP POINTOPOINT RUNNING MTU 1500 Metric 1 RX packets 33 errors 0 dropped 0 overrun 0 TX packets 42 errors 0 dropped 0 overrun 0 Surtout, vous devez avoir une ligne commençant par ppp0 sinon, c'est qu'il y a un problème. Vous pouvez également tester le routage par netstat -nr qui doit donner quelque chose de semblable à : Kernel routing table Destination Gateway Genmask Flags Metric Ref Use Iface 199.103.124.50 0.0.0.0 255.255.255.255 UH 0 0 6 ppp0 127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo 0.0.0.0 199.103.124.50 0.0.0.0 UG 0 0 6298 ppp0 Avec une ligne 0.0.0.0 contenant l'adresse IP du serveur PPP. Si vous n'avez pas cette ligne, il se peut que vous ayez oublié l'option defaultroute. 1133..33..33.. CCoonnffiigguurraattiioonn dd''uunn sseerrvveeuurr PPPPPP Pour cela, vous devez installer les mêmes logiciels que dans le chapitre précédent (configurer le noyau, installer pppd). En plus de ça, il faut créer un login spécial pour les connexions PPP dans /etc/passwd, par exemple : ppp::61:60:Connexion PPP:/:/usr/bin/ppp_login Le script /usr/bin/ppp_login étant : #!/bin/sh # Connexion PPP --> adresse IP = 199.103.124.170 exec /usr/sbin/pppd -d -detach -ip modem proxyarp :199.103.124.170 L'option proxyarp permet à la machine connectée d'accèder à tout le réseau : 199.103.124.170 199.103.124.50 +-----------+ PPP link +----------+ | pcpf | ------------------- | ondee | +-----------+ +----------+ | Ethernet ----------------------------------- 199.103.124.x 1133..33..44.. BBiibblliiooggrraapphhiiee Pour plus d'informations, voir le fichier README.LLiinnuuxx de la distribution ppp-2.1.2a.tar.gz. Remarque : ce fichier peut généralement se trouver dans le répertoire /usr/doc. 1133..44.. UUnn rréésseeaauu ddeerrrriièèrree uunnee sseeuullee aaddrreessssee Une question commune est : "j'ai un accès Internet mais une seule adresse IP et je voudrais pourtant pouvoir connecter plusieurs machines". Le NET3-HOWTO répond à cette question mais il oublie une possibilité. Cette note a pour but d'expliquer les quatre façons de résoudre le problème ci-dessus. · Obtenir plusieurs adresses. L'idéal serait sans doute d'avoir un vrai sous-réseau sur le site distant, qui pourrait être routé "normalement". C'est la méthode la plus normale et la seule qui donnera à toutes les machines du réseau distant une vraie connectivité Internet. Mais si votre fournisseur d'accès est un opérateur commercial, il vous faudra probablement payer *beaucoup* plus cher pour un tel accès (qui lui coûte effectivement plus). Si c'est une université ou association, elle n'aura peut-être pas envie de configurer un cas spécial pour vous. Il va donc falloir se contenter d'un des trois bricolages suivants, qui commencent tous par allouer aux ordinateurs supplémentaires une adresse privée, prise dans le RFC 1918 (qui a remplacé le fameux 1597). · "IP masquerading". C'est une traduction d'adresses dynamique fournie par le noyau de la machine Linux passerelle. Une idée simple et géniale. C'est peut-être la méthode la plus générale, car elle marche pour un grand nombre de services réseaux. Notez quand même tout de suite que tous ne fonctionneront pas, notamment ping et beaucoup de services UDP. "IP masquerading" nécessite un noyau récent (2.* ou certains 1.3.* ou un patch du 1.2.*) et il est documenté sur ou . Un HOWTO décrivant clairement l'installation de IP masquerading se trouve à . · "Socks" est un relais générique, fonctionnant au niveau application (donc pas de modifications dans le noyau contrairement au "IP masquerading". Il nécessite des programmes spéciaux (trouvés couramment sur les machines Unix) du côté client. Les documentations se trouvent en général dans les livres ou serveurs parlant de sécurité car on l'utilise beaucoup dans ce contexte. C'est ainsi que le document "Firewall-HOWTO" décrit cette solution (il est traduit en français, voir .) · Relais applicatif : c'est ainsi qu'on nomme les programmes tournant au niveau application qui relaient les requêtes des clients, installés sur le réseau sans adresses IP légales. Outre le relayage qui permet à ces machines de sortir, ils fournissent typiquement une valeur ajoutée, par exemple en gardant en mémoire locale des informations fréquemment accédées. C'est à mon avis la solution la plus simple à mettre en oeuvre, elle marche sur tous les noyaux et même sur d'autres Unix que LLiinnuuxx. Certaines applications n'ont aucun problème à être ainsi relayées car elles ont toujours fonctionné comme ça : le courrier, les News, la synchronisation d'horloges, le service de noms, etc. D'autres se sont converties au relayage à posteriori et y ont gagné beaucoup (pour le Web, c'est le relayage qui permet de mettre en oeuvre les indispensables caches comme celui de Renater ). Ainsi, le gros avantage du relayage est de pouvoir apporter une valeur ajoutée : réécriture d'adresses et gestion de files d'attente centralisées pour le courrier, caches pour le Web. Le meilleur relais + cache Web à l'heure actuelle est Squid . Le relayage a deux défauts : toutes les applications ne disposent pas d'un relais (on peut utiliser Socks pour combler les trous) et il faut installer un nouveau relais à chaque application. Le relayage est donc recommandé si on se contente des services de base : courrier, Web, News, etc. 1133..55.. SSeennddmmaaiill La configuration de sendmail est toujours quelque chose de particulièrement pénible et difficile. Toutefois, certains outils facilitent grandement les choses. Les distributions sont fournies avec certains fichiers, qui peuvent être une solution. Toutefois, il est plus sain de réinstaller le fichier de configuration en se basant sur les documents qui suivent : · Programmes : · sendmail : ; · procmail : ; · fetchmail : ; · kit Jussieu : ; · UUCP : n'importe quel site miroir GNU, par exemple ou ; · exmh : . · Documents : · excellente documentation dans le kit Jussieu, en français : ; · FAQ FreeBSD notamment "How do I use sendmail for mail delivery with UUCP?" ; · ' · pourquoi utiliser UUCP : ; · la doc de Taylor-UUCP ; · Linux Network Administrator's Guide (voir plus bas). 1133..66.. CCoonnffiigguurraattiioonn dduu mmaaiill lloorrss dd''uunnee ccoonnnneexxiioonn aavveecc uunn pprroovviiddeerr Les providers reçoivent les messages et les rendent accessibles via un serveur POP (mail.fournisseur.fr en général). Il faut donc récupérer les messages reçus par ce serveur vers la machine linux dans le fichier /var/spool/mail/utilisateur. Pour cela, vous pouvez utiliser le programme fetchmail qui permet entre autres choses de récupérer du courrier pour plusieurs utilisateurs sur différents serveurs. Voici un exemple de fichier .fetchmailrc : # Recuperation de mon courrieur chez mon fournisseur 1 poll mail.fournisseur.fr protocol POP3: user UserServeurPop has password MotDePasseServeurPop is NomLocal here fetchall # Recuperation de mon courrieur chez mon fournisseur 2 poll mail.fournisseur2.fr protocol POP3: user UserServeurPop2 has password MotDePasseServeurPop2 is NomLocal here fetchall Vous pouvez également utiliser le programme gwpop de Stéphane Bortzmeyer. On peut le trouver sur le site . Dans ce script, définir : $mailhost = "mail.fournisseur.fr"; $deliver= "deliver NomUserLocal "; Puis, une fois connecté, lancer via un script (histoire de ne pas avoir à tout retaper à chaque fois) : gwpop -p MotDePasseServeurPop UserServeurPop Une fois que le courier est reçu, la question est de savoir comment en envoyer. Deux méthodes sont couramment utilisées dans le monde unix pour créer le fichier sendmail.cf nécessaire. 1133..77.. UUttiilliissaattiioonn dduu KKiitt ddee JJuussssiieeuu Recompilez et installez la dernière version de sendmail. Voici le fichier de règles qu'il faut indiquer via le kit sendmail Jussieu : #!/bin/sh # # Regles pour le domaine lolonet # Domaine="MonNomdeDomaineAvecUnPoint" AdressesInternes=RIEN V8="o" Aliases="/etc/aliases" SendmailSt="/etc/sendmail.st" SendmailHf="/usr/lib/sendmail.hf" Mqueue="/var/spool/mqueue" et le fichier de config : #!/bin/sh Host='NomDeMaMachine' AdressesLocales=TOUT_DOMAINE RelaisExterieur='smtp.[mail.fournisseur.fr]' ReecritureAdressesLocales=$Domaine RevAliases='hash -N /etc/revaliases' MailerLocal='/usr/bin/procmail lsSDFMhPfn procmail -Y -a $h -d $u' On utilise le programme procmail comme mailer local. Ce programme permet à chaque utilisateur de filtrer automatiquement les messages reçus via des règles spécifiées dans le fichier .procmailrc de leur $HOME. Il suffit ensuite de modifier le configurateur en décommentant la ligne suivante: CPP="$CPP -traditional" puis de générer le fichier de config : ./configurateur regles.lolonet Machine.config > sendmail.cf.Machine et de copier le fichier généré dans /etc/sendmail.cf. 1133..88.. UUttiilliissaattiioonn ddee mm44 Vous pouvez conserver le sendmail fourni par votre distribution mais je vous recommande fortement de compiler vous même la dernière version disponible. Vous trouverez dans le repertoire sendmail-ver/cf/cf une liste de fichiers .mc prédéfinis... Vous pouvez vous baser sur ceux ci, sur le fichier sendmail-ver/cf/README et sur le fichier sendmail- ver/doc/op/op.me pour vous faire un fichier linux.mc à votre convenance. Voici un exemple commenté basé sur la configuration suivante : · Domaine local non routable : mondomaine.a.moi · Serveur SMTP du fournisseur d'accès : mail.fournisseur.fr Ce document présente l'une des possibilités de sendmail qui permet de définir un mailer particulier comme coûteux. Une autre option disant à sendmail de garder en attente les messages utilisant de tels médias, il nous suffit de définir le mailer _s_m_t_p comme étant _c_o_û_t_e_u_x pour voir tous les messages à destination de l'extérieur rester _d_a_n_s _l_a _q_u_e_u_e jusqu'à ce qu'on les en chasse explicitement par un sendmail -q, placé par exemple dans le script /etc/ppp/ip-up lors d'une connexion PPP. divert(-1) # linux.rtc.mc, version dialup # Copyright (C) 1998 Jean Charles Delépine # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # divert(0) include(`../m4/cf.m4')dnl On récupère les macros générales... dnl VERSIONID(`@(#)linux.rtc.mc, 0.6 (Delépine) 14/08/1998')dnl dnl dnl ******************************************************************** OSTYPE(linux)dnl dnl dnl A priori on tournera sous linux cette ligne ne fait que définir dnl un mailer local que l'on va s'empresser de redéfinir mais il vaut dnl mieux la laisser au cas où les futures versions de sendmail y dnl ajouttent de nouvelles fonctionalités. dnl dnl ******************************************************************** DOMAIN(generic)dnl dnl dnl le domaine 'generic' défini le nom des .forward, la feature 'redirect' dnl et l'utilisation de sendmail.cw dnl GENERICS_DOMAIN(mondomaine.a.moi mondomain) dnl dnl défini la classe des domaines influencés par les genericstables dnl utilisées plus bas. Y mettre tous les noms que votre serveur peut dnl prendre suivant les outils utilisés (pine, netscape, mail...) dnl dnl ******************************************************************** dnl FEATURE(always_add_domain)dnl dnl dnl j'aime bien recevoir mes courriers locaux avec l'adresse réécrite dnl FEATURE(masquerade_envelope)dnl dnl dnl pour que le from de l'enveloppe soit correct... c'est cette adresse dnl qui sera utilisée par les serveurs smtp menant à vos correspondants dnl pour vous prevenir en cas de problèmes (user unknown, ...) dnl dnl ******************************************************************** FEATURE(local_procmail)dnl dnl dnl Par défaut le mailer local pour linux est mail.local, je lui préfère dnl procmail d'autant plus que mail.local n'est généralement pas dnl fourni avec les distributions actuelles de linux (il peut être dnl trouvé dans le package sources de sendmail). dnl dnl ATTENTION, procmail est sensé être dans /usr/local/bin mais si vous ne dnl l'avez pas compilé vous même il est certainement dans /usr/bin... si dnl vous êtes dans ce cas, décommentez la ligne suivante. dnl dnl FEATURE(local_procmail,``/usr/bin/procmail'')dnl dnl dnl ******************************************************************** FEATURE(genericstable,``hash -N /etc/revaliases'')dnl dnl dnl un FEATURE(genericstable) suffirait mais je veux rester cohérent dnl avec la solution "Kit de Jussieu" fournie précédemment, dnl je renomme donc /etc/genericstable en /etc/revaliases dnl C'est dans ce fichier que nous définierons les règles de dnl transcription d'adresse entre adresse locale -> adresse provider. dnl ex: machin@mondomaine.a.moi -> nom.prenom@fournisseur.fr dnl dnl ******************************************************************** FEATURE(nocanonify)dnl dnl dnl On ne cherchera pas a canoniser les domaines des messages à dnl envoyer. dnl dnl ******************************************************************** dnl define(`confDOMAIN_NAME',`ppp.fournisseur.fr')dnl dnl dnl Défini le nom qu'annoncera sendmail par EHLO aux autres dnl serveur SMTP... dnl Vous pouvez mettre ce que vous voulez ici mais je considère plus dnl propre d'annoncer son véritable nom (que les serveurs sérieux dnl indiqueront de toute façon dans les entêtes). dnl Si vous disposez d'une adresse IP fixe, vous mettez ici le dnl le nom DNS associé à cette adresse lors de vos connexion PPP. dnl dnl Si votre fournisseur d'accés utilise des adresses dynamiques, dnl reportez vous à la section dnl "Que faire en cas d'attribution dynamique de l'adresse IP" dnl dnl ******************************************************************** define(`confDEF_CHAR_SET', `ISO-8859-1')dnl dnl dnl pour que le destinataire sache comment lire notre 8bit dnl dnl ******************************************************************** define(`confCON_EXPENSIVE',`True')dnl dnl dnl Ce qui coûte cher doit attendre un 'sendmail -q' dnl dnl ******************************************************************** define(`confCOPY_ERRORS_TO', `Postmaster')dnl dnl dnl Les messages d'erreur doivent être envoyés en copie au Postmaster dnl dnl ******************************************************************** define(`confME_TOO', `True')dnl dnl dnl Pour que les messages envoyés à une liste locale soit aussi envoyés dnl à l'auteur dnl dnl ******************************************************************** define(`SMART_HOST', `smtp8:[mail.fournisseur.fr]')dnl dnl dnl Ce n'est pas à moi de négocier avec le bout du monde. Je délègue dnl donc cette tâche au serveur de mon FAI. dnl On utilise smtp8 pour envoyer les accents en 8 bits sans passage dnl par le quoted unreadable. Attention, on considère ici que dnl mail.fournisseur.fr dispose d'un MTA correct acceptant les messages en dnl 8 bits (soit la plupart si ce n'est tout les fournisseurs d'accès) dnl dnl ******************************************************************** define(`SMTP_MAILER_FLAGS', `e')dnl dnl dnl Le flag 'e' est là pour expensive : smtp coûte cher ! dnl dnl ******************************************************************** dnl MAILER(local)dnl MAILER(smtp)dnl dnl dnl Définition des mailers qui seront utilisés. dnl dnl ******************************************************************** Placez votre linux.rtc.mc modifié dans le répertoire sendmail- ver/cf/cf et lancez la commande : m4 < linux.rtc.mc > sendmail.cf 1133..99.. UUnnee ffooiiss llee sseennddmmaaiill..ccff ggéénnéérréé...... Le copier dans /etc. Il est nécessaire de définir l'adresse IP du serveur SMTP dans le fichier /etc/hosts. À partir des versions 8.7 de sendmail (si votre version est antérieure : changez-en !) sendmail utilise les _s_e_r_v_i_c_e _s_w_i_t_c_h sur les systèmes les supportant (Ultrix, Solaris, OSF/1, linux-libc6...) et implante lui même ces services via le fichier /etc/service.switch sur les autres systèmes (SunOS, HP-UX, BSD, _L_i_n_u_x_-_l_i_b_c_5, ...) Si votre système utilise la Glibc2 (RedHat 5.x, Debian 2.0,...) vous devrez utiliser un fichier /etc/nsswitch.conf dont voici un exemple : # /etc/nsswitch.conf # # Name Service Switch configuration file. # Attention: si vous utilisez les services NIS ou NIS+, # vous devrez adapter le contenu de ce fichier. passwd: files shadow: files group: files # On veut que le fichier /etc/hosts soit visité en # premier. # Attention de bien laisser une référence au service de noms (DNS) # ou vous ne pourrez plus utiliser d'outils réseaux compilés en libc6 ! hosts: files dns networks: files ethers: files protocols: files rpc: db files services: files Si vous utilisez encore la libc5, le fichier /etc/host.conf n'est pas pris en compte par sendmail et vous devrez utiliser un fichier /etc/service.switch contenant l'unique ligne : hosts files Ainsi, lorsque sendmail cherchera notre relais smtp, il ira directement voir dans le fichier /etc/hosts sans se soucier du DNS. Enfin, il faut réécrire l'adresse locale pour que les messages envoyés aient un champ From correspondant à l'adresse fournie par le fournisseur. Il suffit d'ajouter dans /etc/revaliases une ligne du style : NomLocal: NomFournisseur@fournisseur.fr Je vous recommande d'y ajouter aussi les diverses adresses que votre serveur peut utiliser pour communiquer avec le reste du monde : root: NomFournisseur@fournisseur.fr news: NomFournisseur@fournisseur.fr postmaster: NomFournisseur@fournisseur.fr Le-chat: NomFournisseur@fournisseur.fr ... et ensuite régénérer la base avec : /usr/sbin/sendmail -bi -oA/etc/revaliases Si un démon sendmail tourne actuellemnt, tuez le : # kill `head -1 /var/run/sendmail.pid` Puis relancez le : # /usr/sbin/sendmail -bd -os Éditez vos fichiers de démarrage (souvent dans /etc/rc.?d ou /etc/init.d) afin de modifier si nécessaire la ligne lançant sendmail au moment du boot en la remplaçant par /usr/sbin/sendmail -bd -os'. Voila ! Les mails sont stockés dans /var/spool/mqueue. Lorsque vous êtes connectés par PPP et que vous souhaitez envoyer tous les mails, il suffit de faire /usr/sbin/sendmail -q 1133..1100.. QQuuee ffaaiirree eenn ccaass dd''aattttrriibbuuttiioonn ddyynnaammiiqquuee ddee ll''aaddrreessssee IIPP Quel est le problème ? Lorsque sendmail communique avec un autre MTA, il se présente (commande HELO ou EHLO) en utilisant le contenu de la macro $j qui est généralement le résultat de la commande hostname sur le système hôte. Dans le cas d'une machine reliée de façon intermitente à l'Internet ce résultat n'est généralement pas une adresse officielle, déclarée, donc connue du service de noms (DNS). Nous avons vu que la solution quand on dispose d'une adresse IP fixe et valide consistait en forcer la définition de la macro $j par la commande du kit m4 : define(`confDOMAIN_NAME',`ppp.fournisseur.fr')dnl Mais il faut, pour utiliser cette solution, connaître à l'avance le nom qui sera attribué à notre machine lors de la future connexion... ce n'est donc pas envisageable dans le cas qui nous préoccupe. Dans le fichier /etc/sendmail.cf que nous venons de générer, nous pouvons voir : # my official domain name # ... define this only if sendmail cannot automatically determine your domain #Dj$w.Foo.COM C'est à cet endroit qu'a eventuellement lieu la définition de la macro $j qui nous intéresse. Lors d'une connexion PPP, le script /etc/ip-up/, lancé au début de la connexion, reçoit en argument l'adresse IP qui nous a été attribuée. Il est donc possible, dans ce script, de demander au serveur de noms (le nôtre ou celui du provider) de transcrire cette adresse IP en un nom de domaine pleinement qualifié, de modifier /etc/sendmail.cf puis de relancer sendmail avec cette nouvelle définition. Différentes méthodes et programmes le permettent mais la plupart sont verbeux et nécessiteraient un filtre awk ou grep pour extraire le nom qui nous intéresse... j'ai donc écrit un petit utilitaire très simple gethost dans cet unique but. Pour pouvoir utiliser le script ip-up que je fournis plus loin : · copiez /etc/sendmail.cf en /etc/sendmail.cf.base afin de disposer d'une base à partir de laquelle ip-up pourra travailler. · Compilez gethost : gcc -o gethost gethost.c et placez-le dans le repertoire /usr/local/bin. Il vous reste à modifier votre fichier /etc/ppp/ip-up en y intégrant le mien. Un exemple de script ip-up : #!/bin/sh # /etc/ppp/ip-up script permettant de configurer correctement # sendmail dans le cas des attributions # dynamique d'adresse IP # # Copyright © 04/1998 Jean Charles Delépine # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # Les paramètres passés à ip-up par pppd (man pppd) : # $1 = nom de l'interface (ppp0) # $2 = périférique utilisé (/dev/modem) # $3 = vitesse de transmission # $4 = adresse IP locale (celle qui nous intéresse) # $5 = adresse IP distante (le serveur de modem du provider, sera # notre passerelle vers le reste du monde) # $6 = ipparam (option donnée par l'utilisateur via l'option ipparam # de pppd) HOST=`/usr/local/bin/gethost $4` sed s/'#Dj.*'/"Dj$HOST"/ /etc/sendmail.cf.base >/etc/sendmail.cf kill -1 `head -1 /var/run/sendmail.pid` /usr/sbin/sendmail -q& exit 0 Le programme gethost.c : /* gethost.c, récupère le nom canonique d'une machine à partir de son adresse IP. Copyright © 04/1998 Jean Charles Delépine This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. */ #include #include #include #include int main(argc,argv) char argc; char *argv[]; { struct hostent *host; struct in_addr ia; if (argc < 2) { fprintf(stderr,"Usage : %s addr\n",argv[0]); exit(1); } if (!inet_aton (argv[1],& ia)) { fprintf(stderr,"Erreur: adresse invalide\n"); exit(1); } host=gethostbyaddr((char *) & ia, sizeof(ia), AF_INET); if (!host) { fprintf(stderr,"Erreur: adresse non trouvée ou pas de DNS\n"); exit(1); } printf("%s\n",host->h_name); exit(0); } 1133..1111.. nneettssttaatt --ss Une option de netstat existant sur certaines plates-formes est inexistante avec Linux (option -s). Qu'importe : le script Perl 5 qui suit résoud ce problème ! Il suffit de le sauvegarder sous le nom de netstat, et de le mettre avec le _v_r_a_i dans le PATH. Perl fait le reste. ______________________________________________________________________ #!/usr/local/bin/perl # Il faut perl 5 require 5.003; $stats = "/proc/net/snmp"; if ($ARGV[0] eq '-s') { open (STATS, "< $stats") || die "Cannot open $stats: $!"; while () { chop; undef $i; ($category, @fields) = split; chop $category; print "\n$category statistics:\n"; $_ = ; ($category, @values) = split; $~ = "STAT"; foreach $field (@fields) { write; } } close (STATS); } else { system ($0, join (' ', @ARGV)); } format STAT = @<<<<<<<<<<<<<<<<<:@>>>>>>> $field, ,$values[$i++] . ______________________________________________________________________ 1144.. EELLFF 1144..11.. IInnttrroodduuccttiioonn Depuis ses toutes premières versions, Linux supporte les binaires au format a.out. Le support pour les binaires au format ELF a été intégré dans le noyau et une distribution des bibliothèques partagées au format ELF a été faite. Les avantages du format ELF par rapport au format a.out sont nombreux : · compatibilité avec les systèmes Unix basés sur SVR4, · plus grande facilité de création des bibliothèques partagées, · édition de liens dynamiques lors de l'exécution des programmes, · support des fonctions dlopen(), dlsym() et dlclose() Les plus récentes versions des distributions sont basées sur le format ELF. Si votre machine est encore au format a.out, il est grand temps de réinstaller votre machine avec une distribution de Linux plus à jour. 1144..22.. UUttiilliissaattiioonn ddeess uuttiilliittaaiirreess EELLFF Les nouvelles versions du compilateur et des utilitaires génèrent des exécutables au format ELF, par défaut. Il est possible de créer des exécutables au format a.out en utilisant l'option -b i486-linuxaout lors de l'appel de gcc. Il est désormais assez facile de construire des bibliothèques dynamiques. Les fichiers sources doivent être compilés avec l'option -fPIC afin que le code généré puisse s'exécuter à n'importe quelle adresse (les bibliothèques dynamiques sont chargées à des adresses non prévisibles aussi le code doit être indépendant de son adresse physique). L'option -shared de gcc permet ensuite de générer une bibliothèque dynamique. Par exemple, pour générer une bibliothèque libtruc.so.1.0, on utilisera les commandes suivantes : $ gcc -c -fPIC *.c $ gcc -shared -Wl,-soname,libtruc.so.1 -o libtruc.so.1.0 *.o 1144..33.. SSoouurrcceess dd''iinnffoorrmmaattiioonn ssuurr EELLFF Quelques documents concernant ELF sont disponibles sur ftp.lip6.fr dans /pub/linux/ELF/doc. Il s'agit de : · ELF.doc.tar.gz : la spécification du format ELF, · ELF.ps.gz : un article, écrit par H.J. Lu, décrivant l'implémentation du format ELF dans Linux, · move_to_elf.gz : une description de la transition entre les formats a.out et ELF. Il est également possible d'en apprendre plus sur ELF par les URL suivants : · · 1155.. CCaattaassttrroopphhee !! Ce chapitre est dédié aux moments de catastrophe, où rien de marche, et où l'on a envie de tout mettre par la fenêtre... 1155..11.. CCoorrrruuppttiioonn ddee ppaarrttiittiioonnss Dans certaines situation (panne électrique, etc.), la table des partitions logiques peut se corrompre. Si c'est votre cas, une solution pour tenter de résoudre le problème consiste à lancer le programme fdisk et entrer à la main les limites (_S_t_a_r_t et _E_n_d) de chacune des partitions de votre disque. Bien sûr, il est important d'en avoir fait une copie papier au préalable. 1155..22.. IImmppoossssiibbllee ddee bbooootteerr !! Vous venez de rallumer la machine et n'arrivez plus à booter. Dans ce cas, le mieux est d'utiliser les disquettes de boot (celles de la Slackware, ou bien donner l'option rreessccuuee avec Red Hat). Une fois la machine amorcée, montez la partition racine et copiez le noyau sur une nouvelle disquette en lançant : cat /mnt/vmlinuz > /dev/fd0 par exemple. Normalement, ça devrait alors fonctionner si le noyau est correct. Éventuellement, effectuez un : rdev /dev/fd0 /dev/hda2 rdev -R /dev/fd0 1 pour spécifier au noyau quelle partition est la racine du système de fichiers et lui dire de monter celle-ci en lecture seule pour permettre à fsck de faire son travail au moment du boot. 1155..33.. FFoorrmmaattaaggee aacccciiddeenntteell dd''uunnee ppaarrttiittiioonn Voilà, vous avez formaté par erreur une partition où se trouvait le rapport de 120 pages à rendre hier. Bon, pas de panique ! Inutile de dire qu'il est impossible de faire un unformat. La première solution de récupération (très brutale) est de faire un strings /dev/hda3 > Recup. Il reste ensuite à parcourir le fichier et à récupérer ce qu'il est possible de récupérer. Une seconde solution est d'utiliser ce script Perl (voir ) : # Auteur : aubert@titan.enst-bretagne.fr #!/usr/local/bin/perl $maxlines = 20; @before = (); $syntaxe = "Syntaxe: cgrep.pl terme_a_rechercher fichier_a_parcourir\n"; $terme = shift(@ARGV) || die $syntaxe; $fichier = shift(@ARGV) || die $syntaxe; open(F, $fichier) || die "Cannot read $fichier: $!\n"; # On remplit @before jusqu'a sa capacite maximales ($maxlines) while (($_ = ) && (scalar(@before) < $maxlines)) { if (/$terme/o) { print @before; print $_; & print_next_lines; } push(@before, $_); } # Le tableau @before contient la bonne quantite d'elements, donc on # passe maintenant dans une partie ou @before garde une taille constante while () { if (/$terme/o) { print @before; print $_; & print_next_lines; } push(@before, $_); shift(@before); } close(F); exit 1; sub print_next_lines { for ($i = 0; $i < $maxlines; $i++) { print scalar(); } exit 0; } 1155..44.. PPrroobbllèèmmeess aavveecc llee ddiissqquuee dduurr :: ssuuppeerr--bblloocc Si le super-bloc est vérolé lancer e2fsck avec les options suivantes : e2fsck -b 8193 /dev/sda3. Si ça ne marche toujours pas, essayer en augmentant le nombre de 8192 à chaque fois pour essayer de récupérer une copie du super-bloc en état. Si ça ne fonctionne toujours pas, essayer de lancer la commande mke2fs avec l'option -S. Attention à ne pas l'oublier sinon vous reformatez la partition ! Cette option provoque la regénération des copies du superbloc et des descripteurs du système de fichiers. Elle n'écrase pas les fichiers existants. 1155..55.. PPrroobbllèèmmeess aavveecc llee ddiissqquuee dduurr :: bbllooccss ddééffeeccttuueeuuxx Si le disque a quelques problèmes (secteurs défectueux), vous pouvez récuperer e2fsck dans le paquetage e2fsprogs version 1.10 si vous ne l'avez pas déjà. Ensuite, · bootez sur une disquette si le problème est à la racine ; · lancez badblocks > BLOCKS ; · lancez e2fsck -f -L BLOCKS -p -y. 1155..66.. RRééccuuppéérraattiioonn dd''uunn ddiissqquuee Les instructions qui suivent effectuent une sauvegarde du disque (enfin, de ce qu'il est possible de récupérer), testent la qualité du disque, recréent un système de fichiers en retirant les blocs défectueux et enfin restaurent la sauvegarde. ______________________________________________________________________ cd /fs find . -depth -mount -print | cpio -ovB > $TAPE cd / tail -f /usr/adm/syslog & umount /fs badblocks -w -o /autre_filesystem/bb_list.tmp /dev/hda3 mke2fs -l /autre_filesystem/bb_list.tmp /dev/hda3 mount /dev/hda3 /fs dd if=/dev/zero of=/fs/test.tmp rm test.tmp cd /fs cpio -ivBmd < $TAPE ______________________________________________________________________ A partir du mke2fs, aucun message d'erreur ne devrait se produire. 1155..77.. ffaattaall ssiiggnnaall 1111 Certaines machines ne pourront fonctionner convenablement et produiront alors de façon plus ou moins aléatoire un message (par exemple "fatal signal 11", ou "SIGSEGV") puis stopperont brutalement l'exécution du programme actif. Cause la plus probable : problème du matériel (composants de mémoire trop lents, par exemple). Essayer tout d'abord, grâce au "SETUP" de la machine, de ralentir le processeur et/ou le bus, de "débrayer" le cache processeur. Puis diminuer le niveau de PIO de l'EIDE (ne pas dépasser PIO 3). Lire à ce propos le document . 1155..88.. DDiissqquueettttee ddee sseeccoouurrss À peu près toutes les distributions proposent des disquettes de secours qui vous permettent au moins d'amorcer la machine et de monter la racine du système de fichiers pour pouvoir y effectuer les réparations nécessaires. Toutefois, signalons la présence d'une disquette assez utile (ce genre de disquette a un nom particulier, "bite et couteau", pour des raisons purement historique), tomsrtbt, que l'on peut trouver sur le site . 1166.. DDiivveerrss 1166..11.. CCoommmmeenntt ggéénnéérreerr uunnee ddiissqquueettttee ddee bboooott Il peut être très utile d'avoir sur disquette un noyau pour booter dessus. Pour faire cela, prenez une disquette formatée et allez à la racine de votre disque. Identifiez votre noyau. Il doit s'appeler zImage ou vmlinuz. Vous le copiez d'abord sur disquette : cat /zImage > /dev/fd0 puis faîtes (exemple) : rdev /dev/fd0 /dev/hda2 rdev -R /dev/fd0 1 Le deuxième paramètre de la première commande doit être le nom de la partition racine LLiinnuuxx de votre système. Cette disquette vous permet alors de booter (tester !). Si vous utilisez la Slackware, vous pouvez aussi utiliser la commande /sbin/makebootdisk qui fera tout cela à votre place. 1166..22.. MMoonn mmoott ddee ppaassssee,, ooùù eesstt mmoonn mmoott ddee ppaassssee ?? En bref : vous avez perdu le mot de passe de root... Bon, il y a plusieurs solutions. La première : solutions. La première : 1. bootez avec les disquettes boot et root de votre distribution. 2. loguez-vous en root (là, pas de mot de passe). 3. montez la racine du disque dur : mount -t ext2 /dev/hda1 /mnt 4. allez dans le répertoire /mnt. Il ne reste plus qu'à éditer le fichier /mnt/etc/passwd, y supprimer le mot de passe de root : root::0:0:root:/root:/bin/bash. Vous rebootez LLiinnuuxx normalement, et en principe, vous n'avez plus besoin de mot de passe pour vous loguer en root. Bon, passons à d'autres solutions : rebooter le pc en mode dit _s_i_n_g_l_e_- _u_s_e_r. Pour cela, lors du boot avec LILO, fournir LILO: linux single (remplacer ici "linux" par le nom sous lequel LILO connaît votre noyau). Un shell root va apparaître. Attention : le clavier est en qwerty et la partition en lecture seule. Pour y remédier : loadkeys /usr/lib/kbd/keytables/fr.map mount -w -n -o remount / Soit vous utilisez la commande passwd, soit vous éditez le fichier /etc/passwd Si vous n'avez pas de disquette de boot, vous pouvez souvent vous en sortir en passant init=/bin/sh lors de l'amorçage. Ensuite, monter la racine et éditer à la main le fichier /etc/passwd. 1166..33.. CCoommmmeenntt lliimmiitteerr llee rreebboooott eenn ssiinnggllee uusseerr ?? Le problème du reboot en single user, c'est que n'importe qui peut alors réussir à passer sur la machine en root. Pour les entreprises ou les universités, cela pose un problème de sécurité. Certaines stations Unix permettent de mettre un mot de passe dans l'EPROM de la machine. Linux permet de demander le mot de passe root même en _s_i_n_g_l_e_- _u_s_e_r. Pour cela, vous devez récupérer les sources du programme init qui est lancé lors de l'amorçage du système. Au début du programme init.c, modifiez, la définition de la constante _S_O_M_E___U_S_E_R pour qu'elle ait la valeur 2, recompilez init, et ré-installez-le. Cette première solution peut toutefois s'avérer être insuffisante car une personne peut toujours booter sur un autre périphérique (en utilisant l'option root = MonLinux). En utilisant Lilo, pas de problème ! Il suffit alors d'ajouter les lignes suivantes pour chacune des images dans le fichier /etc/lilo.conf : password = le mot de passe en clair restricted (pensez à mettre ce fichier en lecture seule pour le super-utilisateur et aucun droit pour les autres !) Le boot normal de chaque image se passe sans problème et sans demander le mot de passe (important si l'on veut que la machine redémarre seule en cas de pépin : EDF, reboot à distance, ...) mais si l'on veut passer des paramètres au noyau lors du boot, lilo demande alors le mot de passe. 1166..44.. CCoonnssoolleess vviirrttuueelllleess -- aassppeeccttss pprraattiiqquueess LLiinnuuxx vous permet de travailler en même temps sur plusieurs fenêtres textes. Pour passer de l'une à l'autre, fais Alt + Fn ou n est le numéro de la fenêtre virtuelle et Fn une touche de fonction (par exemple F1, F2 ...). Vous pouvez configurer le nombre de fenêtres dans le fichier /etc/inittab. Quand vous êtes sous X, la combinaison devient Ctrl + Alt + Fn. Il est alors possible de retourner sous X en accédant ainsi à la console qu'il emploie (la première "libre", c'est-à-dire non gérée par un getty). Utiliser maj + pages (touches SHIFT et page précédente ou page suivante) pour "remonter". Ceci fonctionne aussi sous xterm. 1166..55.. CCoonnssoolleess vviirrttuueelllleess -- aassppeeccttss tthhééoorriiqquueess 1166..55..11.. PPrriinncciippee Les consoles virtuelles sont des périphériques. Elles sont au nombre de 63 (ou plus, ou moins, si l'on change ça lors de la compilation du noyau). Elles correspondent aux fichiers "spéciaux" tty1 ... tty63 du répertoire /dev. Maintenant, pour pouvoir les utiliser, il faut pouvoir attacher un processus à ce terminal. C'est le rôle des utilitaires tels que agetty. Il est d'ailleurs intéressant de suivre (à l'aide de top) l'évolution des processus lors du login : Tout d'abord, agetty (de propriétaire root) vous demande votre login. Dès que vous appuyez sur entrée, agetty exécute le programme login (toujours de propriétaire root) par recouvrement. login (attaché à la VC puisqu'héritant de agetty) vous demande votre mot de passe. Il lance alors votre shell de login (de propriétaire "vous"). Vous pouvez noter que quand vous terminez votre session (i.e. votre shell de login), un agetty est relancé. 1166..55..22.. CCoonnffiigguurraattiioonn C'est là qu'intervient le fichier inittab. init (de PID 1), est le processus ancêtre de tous les processus. Comme c'est le premier processus, c'est lui qui se charge de lancer les agetty. Il se sert pour cela du fichier de configuration /etc/inittab. Entre autres choses, ce fichier contient des lignes du type : ______________________________________________________________________ c1:1235:respawn:/sbin/agetty 38400 tty1 linux ______________________________________________________________________ Pour une explication, se référer à la page de manuel d'inittab(5). Ca veut dire en gros que init lance un agetty sur /dev/tty1 qu'il relance chaque fois qu'il meurt (respawn) avec un type de terminal LLiinnuuxx pour les cas où on est dans les "runlevels" 1,2,3 ou 5. Donc, il faut mettre une ligne de ce type pour chaque console virtuelle. On voit ici qu'il y a autant de agetty lancés que de consoles virtuelles utilisables, et qu'on est limité par ce nombre des lignes dans inittab (sauf si l'on lance 63 agetty...). Il existe une autre méthode, c'est l'allocation de VC dynamiquement. Cela se fait grâce à un petit démon (cspawnd) cspawnd is normally started in rc.local as a daemon that is signaled by the kernel when the console user presses the Spawn_Console key (see below). Upon receipt of a signal from the kernel, cspawnd activates the newly allocated VC and spawns a getty process to enable the user to login. In its default configuration, it also attempts to periodically deallocate unused VCs. Il convient alors de laisser une VC gérée par la première méthode, les autres étant alouées dynamiquement. 1166..55..33.. LLeess ttoouucchheess Maintenant, il faut pouvoir passer d'une VC à l'autre. C'est le noyau qui s'en charge. Quand une touche "ConsoleN" (N=1...63) est frappée, Le noyau fait correspondre la VC numéro N à la console (la vrai). Il y a aussi "Decr_Console", "Incr_Console" qui respectivement, incrémente et décrémente le numéro de la console ; ainsi que Last_Console qui fait passer à la sernière console utilisée. cspawnd rajoute la touche "Spawn_Console" (voir plus haut). Il ne reste plus qu'a faire correspondre ceci à des touches (ou des combinaisons de touches) du clavier. Cela est fait grâce à l'utilitaire loadkeys (lancé par init au boot [dans un fichier /etc/rcXXX]). Cet utilitaire prend en paramètre un fichier .map (sûrement /usr/lib/kbd/keytables/fr-lat1.map pour vous) qui contient des lignes du style : keycode 87 = F11 F11 Console_23 control keycode 87 = F11 alt keycode 87 = Console_11 control alt keycode 87 = Console_11 Bien sûr, vous pouvez retrouver tout ceci dans les pages de man et toutes les aides en ligne mises à votre disposition. Citons loadkeys(8), init(8), inittab(5), cspawnd(8) ainsi que les fichiers du répertoire /usr/src/linux/Documentation. 1166..66.. FFrraanncciissaattiioonn 1166..66..11.. llooccaallee //// nnllss Les "locales" sont un système permettant de gérer le plus proprement possible les différences de langue et de style des utilisateurs. Par exemple, des francophones préfèrent écrire 3,14 plutôt que 3.14, ne notent pas les dates comme les Australiens (qui ne le font pas comme les États-Uniens), etc. Chaque utilisateur doit donc pouvoir choisir une locale qui lui convienne et les applications bien faites (rares sont celles qui gèrent complètement les locales mais nombreuses sont celles qui les utilisent au moins un peu) s'adaptent sans recompilation. En somme, il s'agit de mettre les préférences nationales en dehors de l'application, comme avec le système de ressources du MacOs. Si vous êtes un développeur, lisez le locale-tutorial (répertoires distributions/jurix/source/libc/nls ou bien sunsite/utils/nls) ou le Mini-HOWTO sur les Locales. Si vous êtes simple utilisateur, vous pouvez connaître les locales installées sur votre système avec locale -a (les noms semblent peu standardisés, vous aurez des chaînes du genre "fr_FR" ou "fr_FR.ISO8859-1") et en sélectionner une avec les variables d'environnement comme LANG ou LC_CTYPE (man locale donnera peut-être quelque chose). Si vous êtes administrateur d'une machine, que les locales ne marchent pas comme vous le souhaitez, lisez le Mini-HOWTO sur les Locales et/ou ce modeste texte. Si votre Linux n'est pas venu avec une installation correcte des locales (je ne crois pas qu'il existe une bonne distribution de ce point de vue), vous avez deux solutions. Je n'ai testé que la première et elle ne semble marcher qu'avec un noyau supérieur ou égal à 2.0 et une libc version 5.2.18 ou supérieure. Première solution : compiler les programmes de la libc et utiliser le paquetage WG15-collection. Pour cela, vous devez récupérer les sources de la libc. Il n'est pas nécessaire de la compiler en entier, juste les programmes de gestion des locales, qui permettent notamment de produire un fichier binaire à partir du source d'une locale. Pour résumer l'installation : Récupérer libc (ici 5.2.18), par exemple dans . (passer root) cd /usr/src mkdir libc-5.2.18 chown libc-5.2.18 (quitter root) cd libc-5.2.18 tar -xzvf /usr/tmp/libc-5.2.18.tar.gz cd include ln -s /usr/src/linux/include/asm . ln -s /usr/src/linux/include/linux . cd ../libc Et là vous pouvez lire les instructions dans le README et faire ./configure (make depend est long et ne semble pas nécessaire si vous voulez juste les locales) Si vous ne voulez pas compiler toute la bibliothèque C, arrêtez-vous là et : cd locale make SHARED= programs (passer root) mv localedef /usr/local/bin mv locale /usr/local/bin (quitter root) Vous avez alors les deux programmes importants. Vous pouvez maintenant générer des locales binaires à partir des sources. Une bonne collection de sources se trouve dans le fichier WG15-collection.linux.tar.gz qu'on trouve par exemple en (il doit son nom à un "working group" Posix). Dans ce fichier, une fois détaré, il y a une bonne documentation (Intro). Si vous ne voulez pas la lire, ce qu'il faut faire est : (passer root) cd charmaps mkdirhier /usr/share/nls/charmap cp ISO_* /usr/share/nls/charmap cd ../locales mkdirhier /usr/share/nls/locale cp POSIX ??_* /usr/share/nls/locale mkdirhier /usr/share/locale (la ligne suivante est à cause de ce qui semble être une bogue dans la distribution) localedef -c -i /usr/share/nls/locale/en_DK -f ISO_8859-1:1987 en_DK (plein de message d'erreurs du genre item `yesstr' of category `LC_MESSAGES' undefined à ignorer) localedef -c -i /usr/share/nls/locale/fr_FR -f ISO_8859-1:1987 fr_FR (quitter root) Vous pouvez tester avec locale -a que la nouvelle locale est désormais connue. C'est tout. Les utilisateurs peuvent désormais utiliser les variables d'environnement des locales comme LANG ou LC_CTYPE. Deuxième méthode, que je n'ai pas réussi à faire fonctionner : Récupérer nslutils (aujourd'hui nlsutils-0.5.tar.gz) par exemple (il semble nécessaire de récupérer des fichiers d'en-têtes comme localeinfo.h dans la libc). make make install Pour tester votre installation des locales, vous pouvez vous servir de Perl 5.003 (c'est la première version de Perl qui teste que l'installation est correcte et produit un message d'erreur autrement) ou ce programme : #include #include #include #include #include #define STRING "bétö\b" void main () { int i; u_char c; printf ("Setting locale: %s\n", setlocale(LC_ALL, "")); for (i=0; i s'avère lui aussi digne d'intérêt. 1166..66..33.. LLeess aacccceennttss ssoouuss bbaasshh Ajoutez dans le fichier .inputrc les lignes suivantes : set meta-flag on set convert-meta off set output-meta on 1166..66..44.. lleessss Il est très désagréable de ne pas avoir les accents lorsque l'on fait un less ou un more d'un fichier. Pour que ce problème ne se pose pas, ajouter : export LESSCHARSET=latin1 dans le fichier /etc/profile. La commande less permet aussi d'examiner le contenu de divers types de fichiers (less toto.tar.gz ...) : export LESSOPEN="|lesspipe.sh %s" Placer le script suivant dans un répertoire dont le nom figure dans le PATH : #!/bin/sh lesspipe() { case "$1" in *.tar) tar tvvf $1 2>/dev/null ;; # View contents of .tar and .tgz files *.tgz) tar tzvvf $1 2>/dev/null ;; *.tar.gz) tar tzvvf $1 2>/dev/null ;; *.tar.Z) tar tzvvf $1 2>/dev/null ;; *.tar.z) tar tzvvf $1 2>/dev/null ;; *.Z) gzip -dc $1 2>/dev/null ;; # View compressed files correctly *.z) gzip -dc $1 2>/dev/null ;; *.gz) gzip -dc $1 2>/dev/null ;; *.bz) bzip -dc $1 2>/dev/null ;; *.bz2) bzip2 -dc $1 2>/dev/null ;; *.zip) unzip -l $1 2>/dev/null ;; *.lha) lha -v $1 2>/dev/null ;; *.arj) arj l $1 2>/dev/null ;; *.1|*.2|*.3|*.4|*.5|*.6|*.7|*.8|*.9|*.n|*.man) FILE=`file -L $1` ; # groff src FILE=`echo $FILE | cut -d ' ' -f 2` if [ "$FILE" = "troff" ]; then groff -s -p -t -e -Tascii -mandoc $1 fi ;; esac } lesspipe $1 1166..66..55.. FFoorrmmaattaaggee ddee tteexxtteess Pour gs et xdvi, il faut utiliser des options spéciales (sur ma machine, ce sont des alias). En effet, ils sont souvent configurés pour un papier de taille anglo-saxonne. Ces options sont les suivantes : gs -sPAPERSIZE=a4 xdvi -paper a4 ghostview -a4 Pour que dvips convertisse les documents dans un format papier a4, il faut spécifier dans le fichier config.ps (le chemin varie en fonction des versions de LaTeX) : @ a4 210mm 297mm @+ ! %%DocumentPaperSizes: a4 @+ %%PaperSize: a4 @+ %%BeginPaperSize: a4 @+ a4 1166..66..66.. eellmm Pour que votre courrier soit en 8 bits (avec accents) sans avoir besoin de l'encapsuler via MIME ou autre, ajoutez ces trois lignes dans votre fichier ~/.elm/elmrc : charset = iso-8859-1 displaycharset = iso-8859-1 textencoding = 8bit 1166..66..77.. tteellnneett Il peut arriver que lors d'une connexion distante _v_i_a telnet, les accents ne passent pas. Dans ce cas, utiliser l'option -L de telnet. 1166..66..88.. FFrreenncchh--HHOOWWTTOO Un document a été écrit pour regrouper un certain nombre de spécificités. N'hésitez pas à le consulter à l'adresse . 1166..77.. tteeTTeeXX eett llee ssttyyllee ffrreenncchh Remarque : la version originale de cette partie se trouve sur le site La version de teTeX employée est la 0.4pl8, en provenance de la distribution Linux Red Hat 4.2 (CD "LINDIS 1.0"). La version de l'extension french employée est la version 4,00 (date : 19970626) en provenance du site ftp.lip6.fr /pub/TeX/CTAN/language/french (fichier french.tar.gz). Voir également . Nota : les utilisateurs de Debian apprendront avec plaisir que les paquetages suivants existent (merci à L. Picouleau) : tetex-french - The french style files for (La)TeX tetex-french 4.00-1 -> 4.01-1 into hamm/non-free/binary-i386/tex tetex-french (4.01-1) unstable; urgency=low * New upstream source * Build from pristine sources * 8 bit support (patch from Frederic Lepied ) 1166..77..11.. IInnssttaallllaattiioonn Commencer dans un premier temps par récupérer les archives tetex et french et installer les paquetages rpm : tetex-dvilj-0.4pl8-5.i386.rpm tetex-dvips-0.4pl8-5.i386.rpm tetex-xdvi-0.4pl8-5.i386.rpm tetex-latex-0.4pl8-5.i386.rpm tetex-0.4pl8-5.i386.rpm Il est nécessaire de passer en root avant d'effectuer l'installation (rappel : pour installer un paquetage, # rpm -i nom_du_paquet). Il n'est pas nécessaire d'installer le paquetage tetex-dvilj-0.4pl8-5 si vous n'utilisez pas d'imprimante PCL LaserJet sans Postscript. Lisez les commentaires contenus dans le paquetage tetex-afm (grâce à rpm -qip tetex-afm* avant de décider de l'installer ou non). L'ensemble de la distribution prend environ 40 Mo (teTeX) et 3,5 Mo (french). 1166..77..22.. PPrreemmiieerr tteesstt L'installation place divers programmes exécutables dans les répertoires adéquats. Tentons de déterminer si tout semble en place (en tant qu'utilisateur normal, non root) : · taper hash -r (ou bien se déloger puis reloger) ; · taper kpsewhich cnf texmf.cnf. Le message /usr/lib/texmf/texmf.cnf doit alors apparaître. En cas de problème : # find /usr/lib/texmf /var/lib/texmf -type d|xargs chmod a+rx 1166..77..33.. CCoonnffiigguurraattiioonn Passons à l'installation et à la configuration du paquetage french. # umask 022 # cd /usr/lib/texmf/texmf/tex/generic # tar xvzf french.tar.gz Éditez le fichier /usr/lib/texmf/texmf.cnf et modifiez la définition de TEXINPUTS.latex. Elle devient alors : $KPSE_DOT:$TEXMFS/tex/{generic/french/inputs,latex,latex209,generic}//:$TEXMFS/tex// Il suffit donc d'ajouter generic/french/inputs et :$TEXMFS/tex//. On peut également, le cas échéant, ajouter le chemin des styles livrés avec les _s_g_m_l_-_t_o_o_l_s ou _l_i_n_u_x_d_o_c_-_s_g_m_l (afin d'employer sgml2latex pour générer par exemple les version françaises des HowTo, ou le Guide du ROOTard) : $KPSE_DOT:$TEXMFS/tex/{generic/french/inputs,latex,latex209,generic}//:$TEXMFS/tex//: /usr/local/lib/linuxdoc-sgml// Utilisez dans ce cas sgml2latex -l lors de la conversion sgml vers LaTeX. Mais cela ne suffit pas : les caractères accentués sont perdus. Il est peut-être nécessaire d'utiliser recode ou bien (merci à L. Wacrenier) ajouter l'option
au code SGML. Il faut ensuite modifier le paramétrage : # cd /usr/lib/texmf/texmf/tex/generic/config # mv language.dat language.dat-babel # cd /usr/lib/texmf/texmf/tex/generic/babel # mv hyphen.cfg hyphen.cfg-babel # cd /usr/lib/texmf/texmf/tex/generic/hyphen # ln -s ushyph1.tex ushyph.tex # cd /usr/lib/texmf/texmf/tex/generic/french/initex # texconfig rehash # initex latex.ltx # mv latex.fmt /usr/lib/texmf/texmf/web2c Ensuite, toujours en super-utilisateur, lancez le programme texconfig et sélectionner : · MODE puis une imprimante ; · XDVI, PAPERTYPE puis a4 ; · DVIPS, GLOBAL puis a4 ; · DOC. Utilisez ensuite les tests du répertoire /usr/lib/texmf/texmf/tex/generic/french/tst afin de s'assurer que tout fonctionne bien (en tant qu'utilisateur normal) : $ mkdir ~/tmp $ cd ~/tmp $ cp -a /usr/lib/texmf/texmf/tex/generic/french/tst french_tst $ cd french_tst $ latex frenchlb.tex $ latex frenchlb.tex $ xdvi frenchlb.dvi $ xdvi frenchrf.dvi Certains anciens styles ne fonctionneront pas faute de fichier Ulasy.fd. Ce fichier existe bien mais a été renommé ulasy.fd (initiale en minuscule) car cela améliore la compatibilité de teTeX avec les systèmes d'exploitation incapables de distinguer la casse des caractères dans les noms de fichiers. Il suffit de retrouver le répertoire où se trouve le fichier (utiliser find ou locate), de créer un lien symbolique puis d'appeler texconfig rehash. Par exemple : # locate ulasy.fd /usr/lib/texmf/texmf/tex/latex/base/ulasy.fd # cd /usr/lib/texmf/texmf/tex/latex/base # ln -s ulasy.fd Ulasy.fd # texconfig rehash Utilisez ensuite un arpenteur Web (_b_r_o_w_s_e_r) pour examiner les fichiers /usr/lib/texmf/texmf/doc/help/Catalogue/catalogue.html et /usr/lib/texmf/texmf/doc/helpindex.html avant d'employer une imprimante PostScript. Déterminez la valeur adéquate du paramètre 'm' dans le fichier config.ps utilisé lire pour cela le fichier info de dvips. 1166..88.. TTeeXX eett lleess ppoolliicceess ddee ccaarraaccttèèrreess Certains personnages indélicats se sont permis de bidouiller les polices de caractères Computer Modern sans en changer le nom ET CE CONTRAIREMENT A TOUS LES COPYRIGHTS de Knuth. Ceci est EXTREMEMENT grave parce que tout document typographié avec ces polices de caractères n'aura pas le meme look qu'avec les VRAIES Computer Modern. Or, malheureusement, ces polices de caractères fautives ont été livrées sur plusieurs CDs Linux. Comme beaucoup d'entre nous travaillent avec la distribution Slackware, il convient de faire extremement attention. C'est pourquoi vous devriez vérifier votre système. Pour cela, c'est simple, un bon vieux terminal et deux minutes de temps : · lancer tex · Taper au prompt ** \setbox0=\hbox{ho}\showbox0 · Si TeX repond: > \box0= \hbox(6.94444+0.0)x10.55559 .\tenrm h .\tenrm o ! OK. <*> \setbox0=\hbox{ho}\showbox0 ? c'est gagné, vous avez les bonnes polices de caractères (la valeur clef à regarder, c'est le 10.55559). Il suffit alors de repondre `x' pour que TeX se termine. Dans le cas contraire, votre système est vérolé. Il suffit de récupérer les mises à jour et le tour est joué. 1166..99.. UUnnee ccaarrttee ssoonn bbiieenn ccoonnffiigguurrééee Lorsque l'on compile et que l'on se sert d'une carte son sous LLiinnuuxx, la grande question est de savoir si la carte est correctement configurée. Pour cela, il existe un fichier (/dev/sndstat) qui donne toutes les informations sur la configuration de la carte : Sound Driver:3.5.4-960630 (Mon Nov 11 14:50:52 MET 1996 root, Linux gandalf 2.0.25 #3 Mon Nov 11 11:44:54 MET 1996 i486) Kernel: Linux gandalf 2.0.25 #3 Mon Nov 11 11:44:54 MET 1996 i486 Config options: 0 Installed drivers: Type 1: OPL-2/OPL-3 FM Type 2: Sound Blaster Type 7: SB MPU-401 Card config: Sound Blaster at 0x260 irq 5 drq 1,5 SB MPU-401 at 0x330 irq 5 drq 0 OPL-2/OPL-3 FM at 0x388 drq 0 Audio devices: 0: Sound Blaster 16 (4.11) Synth devices: 0: Yamaha OPL-3 Midi devices: 0: Sound Blaster 16 Timers: 0: System clock Mixers: 0: Sound Blaster Pour tester la bonne marche de la carte son, il suffit d'envoyer quelques fichiers audio (.au) sur /dev/audio, avec la commande suivante : cat toto.au > /dev/audio. 1166..1100.. BBuugg ggcccc Certaines version de gcc (2.7.0 à 2.7.2 compris, mais pas 2.7.2.1 et postérieurs) ont un bug avec l'option -O2. Pour l'identifier, tester ce programme : /* sr_bug.c * * This program tests for a gcc bug. * To compile this test program: gcc -O2 sr_bug.c * * Sometimes gcc for Intel CPUs generates bad code at optimization * level 2. The bad code is 'almost right' and stay hidden inside * a program that seems to work - including the Linux kernel. * The bug is very old and has been reported. As of 19-Dec-95, * the bug has not been fixed. * * If you change this code you should test it, because even a * tiny change will hide this elusive bug. If you think you * fixed the bug, please run the original test just to make * sure. You can find the original test below, after the #if 0. * I wrote this version of the test to be user-friendly, and * it may not be as solid as the original. * * Some people who know more than I do: * davis@space.mit.edu (John E. Davis) * anlauf@crunch.ikp.physik.th-darmstadt.de (Harald Anlauf) * craigs@iii2.iii.net (Craig Shrimpton) * * User-friendly version by Albert Cahalan * */ #include int gcc_sr_bug(void){ static int Array[3]; /* must be static (or global) */ unsigned int B = 3; /* must be unsigned 32-bit */ int i; for(i=0; i existent. Voici un fichier de configuration de base : ;; ;; Fichier .emacs: initialisation d'emacs ;; Fichier de base : Guide du Rootard ;; (display-time) ;; Pour avoir l'heure dans la barre d'etat (setq display-time-24hr-format t) ;; Format 24 heures ;; Nouveaux modes (autoload 'c++-mode "cplus-md" "C++ Editing Mode" t) (autoload 'perl-mode "perl-mode" "Perl Editing Mode" t) (autoload 'c-mode "c-mode" "C Editing Mode" t) ; mieux vaudrait utiliser le "cc-mode" ;; Auto-Mode Settings : positionne le mode selon l'extension (setq auto-mode-alist (append '(("\.c$" . c-mode) ;; utilise le mode C++ meme pour C ("\.h$" . c-mode) ("\.C$" . c++-mode) ("\.H$" . c++-mode) ("\.cc$" . c++-mode) ("\.C$" . c++-mode) ("\.pl$" . perl-mode) ;; Perl ("/tmp/snd\.[0-9]*" . text-mode);; Text (pour le mail) ("[Rr][Ee][0-9]*" . text-mode) ("\.ada$" . ada-mode) ;; Ada ("\.spec$" . ada-mode) ("\.body$" . ada-mode)) auto-mode-alist)) # Remapes varies (global-set-key "\eg" 'goto-line) ;; ESC G = Goto line (global-set-key "\eo" 'overwrite-mode) (put 'eval-expression 'disabled nil) ;; Accents... (standard-display-european 1) (load-library "iso-syntax") ;; Sous X-Window, textes en couleurs (C/C++/Shell/Makefile,etc) (cond (window-system (setq hilit-mode-enable-list '(not text-mode) hilit-background-mode 'light hilit-inhibit-hooks nil hilit-inhibit-rebinding nil) (require 'hilit19) )) (if (not (equal window-system "")) (global-set-key "\C-?" 'delete-char)) )) ;; mieux vaudrait employer font-lock Ce fichier peut être largement amélioré. Pour en savoir plus, consulter la documentation d'Emacs (appuyer sur control-H puis i), qui est bien faite mais un peu grosse. Remarque : il est possible d'ajouter les lignes suivantes pour pouvoir se servir des accents lors de l'édition de fichiers en mode texte : (set-input-mode (car (current-input-mode)) (nth 1 (current-input-mode)) 0) 1166..1122.. VVeerrrroouuiillllaaggee ddeess ppoorrttss sséérriiee L'utilisation des ports série pose un problème de verrouillage : il ne faut pas que deux processus concurrents accèdent à un port série donné en même temps. Mais d'autre part, si on a un port série sur lequel tourne un getty pour traiter des appels entrants, on voudrait bien quand même pouvoir utiliser le port série pour passer des appels sortants. Pour résoudre ce problème, il y a deux approches. La première, c'est le verrouillage par le noyau. Elle utilise deux périphériques différents pour accéder à un port série : /dev/ttySn pour les appels entrants (via getty), et /dev/cuan pour les appels sortants. Quand getty tente d'ouvrir /dev/ttySn, il est bloqué jusqu'à ce qu'un appel entrant soit reçu et que le modem le signale par la ligne DCD du port série. Tant que getty est bloqué dans l'appel système open, on peut encore utiliser le périphérique /dev/cuan pour les appels sortants (évidemment, getty reste bloqué lorque DCD est activée pour l'appel sortant...) D'autre part, une fois que /dev/cuan est ouvert, un processus d'une autre session ne peut pas l'ouvrir (si le système est correctement configuré -- voir l'option session_lockout de setserial(8).) Cela évite que deux processus tentant indépendamment de passer un appel sortant se trouvent à écrire simultanément sur le port série. La seconde technique est celle des "lock-files" (fichiers-verrous). Elle consiste, pour chaque processus qui utilise un port série, à écrire son PID dans un fichier spécial. De cette façon, quand un autre process veut utiliser le même port série, il vérifie la présence de ce fichier, le trouve, lit le PID qui y est écrit, vérifie que le processus correspondant existe, et sait donc que le port série est occupé et qu'il ne peut pas l'utiliser. Dans ce cas, on n'utilise que les /dev/cuan. Chacune des deux approches a ses avantages et ses inconvénients. La méthode de verrouillage par le noyau nécessite d'employer un modem en mode auto-réponse, et autorise l'ouverture du port série par un processus qui veut passer un appel sortant entre le moment où le téléphone sonne et le moment où les modems ont fini de négocier (ce qui peut prendre une dizaine de secondes.) La méthode des lock-files nécessite une configuration homogène des logiciels utilisés (tous les logiciels doivent chercher et mettre le lock-file au même endroit, s'entendre sur le format du PID qui y est inscrit...) Elle nécessite aussi que getty vérifie périodiquement l'existence du lock-file, et il peut donc "rater" un appel entrant entre le moment où un processus libère le port série et celui où il vérifie à nouveau la présence du lock-file. Il est aussi possible qu'un processus sortant arrive à créer le lock-file entre le moment où getty détecte un appel et celui où il crée le lock-file pour cet appel. Le choix d'une méthode est, finalement, une décision individuelle de chaque administrateur, sachant que l'approche "lock-file" est plus souple, mais moins élégante et plus délicate à mettre en oeuvre que le verrouillage par le noyau. 1166..1133.. MMiinniitteell Il est fort agréable de pouvoir se connecter sur le Minitel. Récupèrez le programme xtel de Pierre Ficheux. Il s'agit d'un émulateur Minitel achtement cool à utiliser. Vous pouvez le trouver sur ftp.lip6.fr dans le répertoire /pub/X11/videotext/xtel. 1166..1144.. FFaaxx Envoyer des documents par FAX est tout à fait possible. Pour cela, utilisez par exemple _H_y_l_a_f_a_x. Il se trouve sur le site ftp.funet.fi dans le répertoire /pub/mirrors/sgi.com/sgi/fax/source. 1166..1155.. MMoodduulleess CChhaarrggeeaabblleess Cette partie s'inspire allégrement de l'article que j'ai écrit dans le journal "Les échos de Linux", au mois de Juillet 96. 1166..1155..11.. SSttrruuccttuurree dduu nnooyyaauu Le noyau d'un système Unix peut être représenté sous la forme d'un objet monolithique. Toutefois, un tel objet possède l'inconvénient d'être gros et statique. A chaque fois que l'on désire rajouter un nouveau périphérique, il est nécessaire de recompiler le noyau. De plus, si l'on n'utilise certains gestionnaires particuliers que rarement, on est obligé de l'avoir dans le noyau, ce qui a tendance à consommer de la mémoire. 1166..1155..22.. QQuu''eesstt--ccee qquu''uunn mmoodduullee cchhaarrggeeaabbllee ?? Les modules chargeables permettent de joindre l'utile à l'agréable en ayant un noyau le plus petit que possible, chargeant à la demande ce dont il a besoin, soit d'une manière manuelle par le super utilisateur de la machine, soit d'une manière automatique. De cette manière, le gain de ressources est non négligeable. La première question que l'on peut se poser, c'est : " Pourquoi deux techniques de chargement ?" La première technique est manuelle : il faut charger ou décharger les modules à la main. La deuxième est automatique, grâce à l'utilisation d'un démon spécialisé qui est l'esclave du noyau et qui charge et décharge les modules pour lui. En fait, la version 1.2 de Linux n'offrait que la possibilité d'un chargement manuel qui est limité au super-utilisateur de la machine et qui est assez lourd à manipuler. Au fil du développement de la version 2.0, un nouveau système implémenté par Bjorn Ekwall permit d'effectuer un chargement dynamique et automatique des modules. 1166..1155..33.. CCoommppiillaattiioonn dduu nnooyyaauu Lors de la compilation du noyau, il est nécessaire de spécifier des options particulières pour activer l'utilisation des modules chargeables : ______________________________________________________________________ gandalf# make config * * Loadable module support * Enable loadable module support (CONFIG_MODULES) [Y/n/?] Set version information on all symbols for modules (CONFIG_MODVERSIONS) [N/y/?] Kernel daemon support (e.g. autoload of modules) (CONFIG_KERNELD) [Y/n/?] ______________________________________________________________________ Voici le détail de ces trois options : · CONFIG_MODULES : active le mécanisme de modules chargeab les. Sans cette option, ils ne fonctionneront pas sur votre système. · CONFIG_MODVERSIONS : si vous laissez cette option à N (par défaut), vous devrez recompiler les modules à chaque mise à jour du noyau de la machine. Cela signifie que des modules compilés pour un noyau 2.0.n ne fonctionneront pas avec un module compilé pour 2.0.n+1. Si vous activez cette option, les modules pourront être lancés... Cette option est particulièrement intéressante dans le cas de modules externes au noyau livrés sous forme binaire (ils sont accompagnés d'un patch à appliquer sur les sources du noyau). Il est fortement déconseillé de l'utiliser dans le cadre de modules intégrés au noyau (il est plus simple de les recompiler et de les installer que d'aller regarder si les anciens modules sont compatibles avec les nouveaux). · CONFIG_KERNELD : cette option active le chargement automatique des modules. Vous devez également activer les IPC Système V car le noyau et le démon communiquent via des files de messages. Une fois configuré, il vous suffit de lancer la compilation ainsi que l'installation : ______________________________________________________________________ gandalf# make dep ; make clean gandalf# make zImage gandalf# make modules ; make modules_install ______________________________________________________________________ Une fois ces opérations effectuées, les modules se trouvent alors dans le répertoire /lib/modules/x.y.z où x.y.z correspond au numéro de version du noyau. Il ne nous reste plus qu'à voir le chargement. Note importante : tous les outils de manipulation des modules se trouvent dans modules-2.0.0.tar.gz situé dans le répertoire v2.0. Ils sont installés par défaut avec les distributions standards, mais il est important d'utiliser la bonne version. 1166..1155..44.. CChhaarrggeemmeenntt :: mméétthhooddee mmaannuueellllee Le chargement manuel est basé sur trois commandes : · insmod : insère un module dans le noyau ; · rmmod : décharge un module, si plus aucun processus ne l'utilise ; · lsmod : affiche la liste des modules chargés. Leur utilisation oblige d'être en super-utilisateur. Voici un exemple d'utilisation : ______________________________________________________________________ gandalf# insmod nfs.o gandalf# lsmod Module: #pages: Used by: nfs 12 4 gandalf# mount -t nfs /truc /mnt gandalf# lsmod Module: #pages: Used by: nfs 12 5 gandalf# cd /mnt ... gandalf# cd / gandalf# umount /mnt Module: #pages: Used by: nfs 12 4 gandalf# ps axu | grep nfs root 5535 0.0 0.0 0 0 q2 SW 17:15 0:00 (nfsiod) root 5536 0.0 0.0 0 0 q2 SW 17:15 0:00 (nfsiod) root 5537 0.0 0.0 0 0 q2 SW 17:15 0:00 (nfsiod) root 5538 0.0 0.0 0 0 q2 SW 17:15 0:00 (nfsiod) root 5557 0.0 0.4 864 300 q2 S 17:16 0:00 grep nfs gandalf# kill -9 5535 5536 5537 5538 gandalf# lsmod gandalf# rmmod nfs.o ______________________________________________________________________ Il est nécessaire de "tuer" les 4 démons nfsiod car ils sont lancés dès que NFS est activé. Comme vous pouvez le voir, ces opérations deviennent relativement pénibles. C'est pour cette raison que le système de chargement automatique a été créé. 1166..1155..55.. CChhaarrggeemmeenntt aauuttoommaattiiqquuee :: kkeerrnneelldd 1166..1155..55..11.. AAvveerrttiisssseemmeenntt La gestion des modules a été modifiée dans la série 2.1.x et kerneld a été supprimé. Ceci n'est donc valable que pour les noyaux 2.0.x. 1166..1155..55..22.. IInnttrroodduuccttiioonn Le système de chargement automatique de modules permet de réduire au minimum la taille de son noyau. Le principe de fonctionnement est particulièrement simple : un démon en mode utilisateur est à l'écoute des ordres du noyau (via une file de messages de type IPC Système V). Lorsque un processus essaye d'accéder à une ressource système (via un appel système open, etc...), le noyau envoie l'ordre de chargement du module à kerneld. Une fois le message reçu, kerneld exécute modprobe pour charger les modules nécessaires. 1166..1155..55..33.. CCoonnsseeiillss ppoouurr llaa ccoommppiillaattiioonn dduu nnooyyaauu Par contre, lors de la compilation du noyau, il est nécessaire d'y mettre au moins le support pour permettre l'amorçage de la machine et le montage de la racine de votre système de fichiers (par exemple, support IDE + ext2fs). Vous pouvez y mettre tout le reste en module (carte son, systèmes de fichiers, carte SCSI, etc). 1166..1155..55..44.. MMiissee eenn ppllaaccee CCeettttee ppaarrttiiee ddee mmooddiiffiiccaattiioonn nn''eesstt vvaallaabbllee qquuee ssii llaa mmaacchhiinnee nn''ééttaaiitt ppaass ppoouurrvvuuee ddee kerneld. Les nouvelles distributions effectuent une installation tout à fait correcte. Pour réaliser la mise en place du système de chargement de modules, il est nécessaire d'effectuer certaines modifications au niveau de votre configuration. En effet, il est nécessaire lors de l'amorçage de la machine de lancer le démon kerneld et de réaliser une espèce de liste des dépendances des modules : certains modules ne peuvent être lancés avant que d'autres ne le soient. Dans un premier temps, il faut créer le fichier /etc/rc.d/rc.modules dans lequel, il faut mettre : ______________________________________________________________________ # Modules # # Creation d'un lien logique pour le noyau courant # # /bin/rm -f /lib/modules/current ln -sf /lib/modules/`uname -r` /lib/modules/current # # Creation des dependances if [ ! -r /lib/modules/current/modules.dep ] then echo "Creating module dependencies" /sbin/depmod -a fi # # Chargement des modules d'amorçage... # if [ -x /sbin/kerneld ] then if find /lib/modules/boot -type f -o type l > /dev/null 2>&1 then echo "Loading boot-time modules" /sbin/modprobe -a -t boot \* fi else echo "Loading modules" /sbin/modprobe -a \* fi # # Si vous possédez d'autres types de démons kerneld à lancer... # if [ -x /sbin/kdsound ] then echo "Starting sound daemon" /sbin/kdsound & fi ______________________________________________________________________ Cela permet de générer la dépendance de vos modules à chaque fois que vous amorcez votre machine. Ensuite, dans le fichier /etc/rd.d/rc.S (peut dépendre de la distribution...), il convient d'ajouter : ______________________________________________________________________ # Start update. /sbin/update & # *** A AJOUTER *** # Lancement de kerneld le plus tôt possible, de telle manière # que les modules de systèmes de fichiers puissent être chargés if [ -x /sbin/kerneld ] then echo "kerneld running" /sbin/kerneld fi ... # Un peu de ménage cat /dev/null > /var/adm/utmp # Lancement du script des modules if [ -f /etc/rc.d/rc.modules ]; then /etc/rc.d/rc.modules fi ______________________________________________________________________ Une fois ces modifications effectuées et la machine réamorcée, tout doit être en place. Si kerneld permet de charger automatiquement les modules, il permet également de les décharger au bout d'un certain temps de non utilisation. Par défaut, si aucun processus n'accède au module pendant plus de 60 secondes, il est automatiquement déchargé. Il est possible de modifier cette valeur en rajoutant le paramètre delay=Nb_Secondes à kerneld où Nb_Secondes est le délai en nombre de secondes. 1166..1155..55..55.. LLee ffiicchhiieerr //eettcc//ccoonnff..mmoodduulleess Il peut arriver qu'il soit nécessaire de configurer un dernier fichier : le fichier /etc/conf.modules. Ce fichier contient les chemins où se trouvent les modules devant être chargés et ensuite des alias pour les modules. Si vous n'avez pas ce fichier, vous pouvez le créer avec : ______________________________________________________________________ gandalf# /sbin/modprobe -c | grep -v '^path' >/etc/conf.modules ______________________________________________________________________ Il peut arriver que lors du premier amorçage vous obteniez ce message : Cannot locate module for net-pf-3 Cannot locate module for net-pf-4 Cannot locate module for net-pf-5 Pas de panique ! Ce message n'est pas méchant et pour ne plus l'avoir, ajouter les lignes suivantes dans le fichier /etc/conf.modules : ______________________________________________________________________ alias net-pf-3 off alias net-pf-4 off alias net-pf-5 off ______________________________________________________________________ Il peut arriver que certains périphériques aient besoin de certains paramètres particulier. Consultez le document Kernel HowTo. 1166..1155..55..66.. QQuueellqquueess rrééfféérreenncceess Vous pouvez consulter ces références pour plus d'information : · : site officiel pour les archives des modules ; · tout miroir des sources Linux ; · Kerneld Mini Howto. 1166..1155..66.. IInnaaccttiivviittéé dd''uunnee mmaacchhiinnee Le programme "Energy Star" lancé à l'initiative de l'EPA ( "Environmental Protection Agency" américain) a pour objet principal de diminuer la consommation électrique des systèmes inactifs. Certains matériels peuvent parfois voir leur durée de vie augmentée. Linux offre la possibilité d'utiliser des équipements conformes. On peut par exemple programmer une touche ou un menu qui, sur un portable, stoppe la rotation des disque, arrête l'écran et ralentit le système. Le choix des délais d'inactivité avant une suspension est fonction de l'utilisation du système. Noter également que tous les systèmes ne gèrent pas ces fonctionnalités et que tous les systèmes ne se comportent pas de la même façon d'un constructeur à l'autre. Les informations ci-dessous sont données dans l'espoir d'être utiles mais sont données SANS AUCUNE GARANTIE quant au bon fonctionnement de votre système après les avoir suivies. Si votre petite amie vous largue parce que votre disque dur émet des bruits bizarres ou si votre propriétaire vous expulse après que votre écran ait mis le feu à votre appartement, vous en endossez l'entière responsabilité. 1166..1155..77.. DDiissqquuee dduurr L'arrêt de la rotation du disque dur présente un avantage supplémentaire à ceux énoncés plus haut : celui de rendre le système moins bruyant. Cependant, sur Unix, quelques démons accèdent aux données sans réel besoin et ont tendance à réveiller le disque. Certains BIOS peuvent suspendre le disque après une non utilisation. Rechercher l'option HDD Standby Timer. Avec les disques IDE, on peut utiliser l'utilitaire hdparm(8) qui fait la même chose : $ hdparm -S 120 -- arrête le disque après 10 minutes (120 x 5s) $ hdparm -Y -- suspend le disque tout de suite Si le disque ne veut jamais s'arrêter en mode normal (mais qu'il le fait bien par exemple en mode "single user") ou s'il reprend son activité sans raison apparente, c'est que des programmes continuent à lire et écrire sur le disque sans que vous ne fassiez quoi que ce soit. Ces programmes (démons) sont normalement lancés au boot, le jeu consiste à les détecter et les reparamétrer. Pour la détection, il faut que vous ayez un moyen de surveillez les accès pphhyyssiiqquueess au disque dur, que ce soit au bruit d'un accès ou une led d'activité. Ensuite, voici trois méthodes pour rechercher les agitateurs : · Tuer tous les programmes, un par un, en commençant par ceux qui sont les plus susceptibles d'avoir une activité disque. Cette méthode est un peu barbare et pas vraiment efficace à elle toute seule. · Lancer strace -p sur les numéros de processus des démons suspects. Si vous voyez une activité disque en même temps qu'une activité du processus, vous tenez probablement là un des coupables. strace(1) vous indique également quels fichiers sont accédés et la périodicité des accès. · Utiliser les affichages "timeout" et "alarm" du programme top Ces champs ne sont pas présents par défaut mais vous pouvez les insérer (appuyez sur o). Le champ "timeout" indique le temps qu'il reste avant qu'un appel à select(2) ne se termine. Si vous le voyez passer à 0 sur un processus pendant un accès disque physique, vous tenez un des coupables. Le champ "alarm" est moins utile, il représente la durée en secondes passée en paramètre à l'appel système alarm(2) on peut mettre ces valeurs en corrélation avec une éventuelle périodicité des accès physiques. 1166..1155..88.. DDiissqquuee dduurr,, aauuttrree ssoolluuttiioonn Une autre solution pour régler le problème est de compiler le noyau avec l'option ramdisk. À l'amorçage, on crée alors un ramdisk qui contient les fichiers de type lock, scripts cron, et ainsi de suite. Il faut ajouter les lignes suivantes dans le fichier rc.S : #Creer un ramdisk et monter /var/lock # et copier le contenu de /var/lock.skel dd if=/dev/zero of=/dev/ram15 bs=1k count=256 > /dev/null mke2fs -m0 /dev/ram15 256 > /dev/null mount /dev/ram15 /var/lock > /dev/null (cd /var/lock.skel; cp -rP * /var/lock >/dev/null ) Le fichier /var/lock.skel est une copie conforme de /var/lock avant que ce système ne soit appliqué, à la base on a >ls -l /var/lock.skel/ total 4 drwxr-xr-x 2 root root 1024 Nov 26 1996 crontab/ drwxr-xr-t 2 root root 1024 Nov 28 1993 emacs/ drwxr-xr-x 2 root root 1024 Nov 21 1996 samba/ drwxr-xr-x 2 root root 1024 Jul 15 1997 subsys/ /crontab contient une série de liens symboliques style root -> ../../spool/cron/crontabs/root où se trouvent les sources "en dur". Après avoir exécuté crontab -e, copier les fichiers /var/spool/cron/crontabs/{$USER, cron.update} dans /var/lock/crontab. cron doit être lancé par /usr/sbin/crond -l10 -c /var/lock/crontab >>/var/adm/cron 2>&1 pour aller chercher ses fichiers sur le disque en mémoire. Le répertoire /var/lock/samba contient les fichiers browse.dat et wins.dat, qui sont rafraichit périodiquement. Pour forcer smbd et nmbd à utiliser ce répertoire, ajouter dans /usr/local/samba/lib/smb.conf : lock directory = /var/lock/samba Dernier avantage : après un reboot, il n'y a plus de "stale locks" ! 1166..1155..88..11.. ccrroonn Le démon cron(8) lance des programmes à certaines heures. Il n'est pas directement en cause dans les accès disques (il ne fait que des accès en lecture pour vérifier que ses tables n'ont pas changé mais ces informations sont la plupart du temps dans le cache disque) Certaines distributions insèrent dans la crontab(5) des processus lancés toutes les quelques minutes. Jetez un coup d'oeil dans les crontabs des utilisateurs démons (root, news, uucp...) ou dans le fichier /etc/crontab et faites le ménage. Dans certaines distributions, le programme atrun est lancé toutes les minutes. Il sert à exécuter des programmes à une date donnée avec les commandes at et batch. Si vous ne vous en servez pas, désactivez-le, sinon essayez le démon atd du package at-3.1.*. Conservez les lignes qui nettoient les logs et rassemblez-les autour d'une même heure. 1166..1155..88..22.. mmggeettttyy mgetty vérifie toutes les quelques minutes que le modem répond bien. Comme il note toutes ses actions dans un fichier de log (en fonction du paramètre debug) cela entraîne des accès disques non désirables. Parade: Mettre une période de vérification démesurément longue dans mgetty.config. Par exemple : modem-check-time 360000 vérifie toutes les 100 heures. Cette option n'a pas l'air désactivable. 1166..1155..88..33.. llpprr NNGG lpd vérifie la queue et l'activité des démons toutes les dizaines de minutes. Parade : désactivez cette option dans /etc/lpd.conf : poll_time 0 1166..1155..88..44.. aappaacchhee Le serveur maître httpd discute avec ses co-serveurs via le fichier log/apache_status. Parade : lancez httpd via inetd. De nombreux commentaires déconseillent d'utiliser apache avec inetd pour des raisons de performance (inetd doit forker un serveur qui va relire et analyser sa config à chaque URL demandée) mais si votre serveur n'a pas énormément d'accès, c'est tout à fait jouable. 1166..1155..88..55.. bbiinndd bind 8.1 (named) logue toutes les heures des informations sur ses activités. Parade: Envoyez ces information ailleurs que sur le disque dur (sur une console, par exemple ou désactivez-les carrément. Dans /etc/named.conf : logging { category statistics { null; }; category maintenance { null; }; }; 1166..1155..88..66.. ssqquuiidd Squid fait constamment le ménage dans les fichier cachés. Parade : aucune avec squid lui même, mais on peut utiliser le module proxy d'apache (voir plus haut). Ce module n'est pas actif dans la configuration par défaut. Vous devrez peut-être recompiler apache pour vous en servir. 1166..1155..88..77.. sseennddmmaaiill Sendmail vérifie périodiquement la queue pour réexpédier le courrier qui peut s'y trouver. Parade : Avez vous vraiment besoin d'un sendmail en démon (c.-à-d. votre machine est elle censée recevoir du courrier par SMTP) ? Si vous pensez que non, tuez le processus et vérifiez que votre lecteur de courrier fonctionne encore (mail, vm, rmail, mush, pine... se passent de démon mais mh en a parait-il besoin). Regardez aussi si vous ne pouvez pas vous servir du démon d'une autre machine. Si vous avez vraiment besoin de sendmail en démon, lancez le au boot sans l'option -q [durée] et videz la queue en lançant sendmail -q via la crontab aux heures que vous voudrez (par exemple, en même temps que le nettoyage des fichiers de logs). 1166..1155..99.. LLee mmoonniitteeuurr Les moniteurs suivant la norme VESA DPMS peuvent être mis en veille. Le moniteur passe successivement par plusieurs étapes : · Standby · Suspend (coupure du signal hsync ou vsync et écran noir) · Off (coupure des signaux hsync et vsync et écran noir) Le paramétrage est différent selon que l'on se trouve sous X ou pas. 1166..1155..99..11.. LLaa ccoonnssoollee La commande setterm permet de déterminer si on utilise DPMS et avec quelle durée : $ setterm -blank 10 # extinction après 10 minutes (défaut) $ setterm -powsersave on On peut faire un réglage plus fin avec les séquences d'échappement: ESC[9;intervalle] "intervalle" est le nombre de minutes d'inactivité avant d'entrer en mode "suspend" ESC[14;intervalle] nombre de minutes d'inactivité entre le mode "suspend" et le mode "off". Voir, dans les sources de linux, le fichier drivers/char/vesa_blank.c pour plus de détails. 1166..1155..99..22.. XXFFrreeee8866 Dans XFree86 3.3 et supérieur, les valeurs par défauts sont initialisées dans le fichier XF86Config(4). Pour activer le mode DPMS, ajoutez dans la section Devices : Option "power_saver" Ensuite vous pouvez paramétrer les délais StandbyTime, SuspendTime et OffTime de la section Monitors comme indiqué dans le manuel. On peut changer ces valeurs au vol ou passer dans un état particulier avec la commande xset(1). 1166..1155..1100.. LLaa CCPPUU Les BIOS supportant APM (Advanced Power Management) peuvent faire passer le système par 3 stades d'inactivité : · Doze: le système réduit 80 % de ses activités · Standby: le système réduit 92 % de ses activités · Suspend: le système est réduit dans l'état le plus inactif possible (99 %) et aura besoin d'un temps de chauffe pour repartir. Lorsque le système est ralenti, Linux perd la notion du temps réel (son horloge est ralentie) Tous les programmes qui effectuent des actions périodiques (en particulier cron) sont perturbés. L'horloge est remise à l'heure une fois le système reparti si le noyau est compilé pour supporter APM (sinon, remettez-la avec clock). Si vous comptez faire des gros calculs, utilisez la crontab ou si votre machine fait office de serveur, je doute que les options APM vous soient utiles, mais sur un portable c'est sûrement tout autre chose (si quelqu'un m'offre un portable, je lui ferais part de mes impressions.) L'utilitaire apmd ( ) permet de surveiller les états liés à APM ou forcer la suspension. 1177.. SSuuiitteess bbuurreeaauuttiiqquueess 1177..11.. SSttaarrOOffffiiccee StarOffice est une suite bureautique éditée par StarDivision GMBH (Allemagne), dont il existe une version dite "non-commerciale" destinée à Linux. Les modules disponibles sont : StarWriter (traitement de texte), StarCalc (tableur), StarImpress (présentation), et d'autres outils orientés communication (e-mail, Usenet, etc.). Le produit est disponible par téléchargement sur leur site web (attention, c'est _t_r_è_s gros), ou sous forme de CD-ROM, directement chez StarDivision. 1177..11..11.. PPrréé--rreeqquuiiss La version en cours de StarOffice (4.0 release 3) nécessite une configuration 486, 32 Mo de RAM, une carte vidéo et 125 Mo d'espace disque. Actuellement, le produit fonctionne avec une libc 5.4.22 ou supérieure, mais pas avec une glibc (dans ce dernier cas, il suffit de récuperer une libc 5, de la placer dans un des repertoires adéquat -- voir le fichier /etc/ld.so.conf- et vérifier quelle est bien reconnue par le système à l'aide de la commande ldconfig -v). Les langues disponibles sont l'anglais et l'allemand. La version 5, annoncée, supporte d'ores et déjà 8 langues, et en supportera 24 d'ici fin 1999. 1177..11..22.. IInnssttaallllaattiioonn L'ensemble des fichiers nécessaires se trouve dans un seul répertoire. L'installation se déroule en deux étapes : l'installation du produit d'abord, puis l'installation spécifique pour chaque utilisteur. Un fois dans le répertoire du produit (téléchargé ou CD-ROM), il suffit d'exécuter, sous X-Window, le script setup pour lancer l'installation. L'ensemble du processus est très intuitif, et le programme d'installation est de qualité professionnelle. Pour parachever l'installation, il faut soit rajouter le repertoire _r_e_p_e_r_t_o_i_r_e_-_d_'_i_n_s_t_a_l_l_a_t_i_o_n_/_b_i_n de StarOffice dans la variable _$_P_A_T_H soit faire un lien de _r_e_p_e_r_t_o_i_r_e_-_d_'_i_n_s_t_a_l_l_a_t_i_o_n_/_b_i_n_/_s_o_f_f_i_c_e vers un _s_o_f_f_i_c_e dans un répertoire situé dans _$_P_A_T_H (_/_u_s_r_/_l_o_c_a_l_/_b_i_n par exemple). 1177..11..33.. UUttiilliissaattiioonn L'utilisation de StarOffice ressemble à celle de toute autre suite bureautique : on démarre la session avec soffice, et tout le reste se fait à la souris. Il est possible de travailler sur des documents issus d'autres systèmes (en particulier Microsoft Office), mais en général, les filtres ne sont pas disponibles pour les toutes dernières versions. L'impression s'effectue sans problème sur une imprimante PostScript, via le système standard lpr (l'auteur dispose d'une imprimante compatible HP LaserJet II pilotée via GhostScript), et ne semble pas poser de problèmes de performances. 1177..11..44.. PPooiinnttss ffaaiibblleess Eh, oui, il faut bien qu'il y en ait :-). La liste qui suit est certainement très loin d'être exhaustive, mais représente les principaux problèmes rencontrés par l'auteur. Certains utilisateurs ont rencontré un problème d'instabilité récurrent (StarOffice se bloque, sans aucun message ni trace de log). Si ce blocage est immédiat, en général, il suffit d'ajouter /lib dans la liste des bibliothèques utilisées dans le script soffice. Si ce blocage est aléatoire après un certain temps d'utilisation, alors il ne semble pas évident d'en trouver l'origine. Les filtres vers des formats externes (testé pour Excel 5) posent parfois des problèmes, aussi bien en importation qu'en exportation (perte des attributs de formatage, en particulier). Le prix demandé pour la version non-commerciale semble assez élevé, au vu des autres points faibles. Il faut espérer qu'une mise à jour sera disponible à un prix plus raisonnable. Enfin, l'absence de version française est de nature à décourager les non-anglophones, mais cela devrait être réglé avec la version 5. 1177..11..55.. CCoonncclluussiioonn Pour conclure, on doit encore considérer StarOffice V4.0 comme une version bêta d'une suite bureautique très prometteuse. Il est vraisemblable que la version 5 corrige les principaux points faibles du produit, ce qui en fera une alternative tout à fait présentable à la suite de Microsoft. 1188.. PPoouurr aalllleerr pplluuss llooiinn 1188..11.. ""BBiieenn ddéébbuutteerr ssoouuss LLiinnuuxx"" ((VV 22..22..22)) Ce livre est la traduction du livre "LLiinnuuxx Installation and Getting Started", version 2.2.2, de Matt Welsh (mdw@sunsite.unc.edu). La traduction a été réalisée par René Cougnenc et elle est disponible sur ftp.lip6.fr dans /pub/linux/french/books. 1188..22.. LLiivvrreess Bien que LLiinnuuxx a pour principe d'être entièrement gratuit, de nombreux ouvrages sont vendus dans le commerce. · "Le système LLiinnuuxx" par Matt Welsh & Lar Kaufman (618 pages, environ 280FF T.T.C.) chez O'Reilly. Traduction de René Cougnenc. · "Administration Réseau sous LLiinnuuxx" par Olaf Kirch (336 pages, environ 220FF T.T.C.) chez O'Reilly. Traduction de René Cougnenc. · "Linux Kernel Internals", seconde édition par M. Beck, H. Böhme, M. Dziadza, U. Kunitz, R. Magnus et D. Verworner chez Addison-Wesley ; · "Programmation Linux 2.0, API Système et Fonctionnement du noyau" par Rémy Card, Éric Dumas et Franck Mével chez Eyrolles. Existe en version espagnole et anglaise. À noter que vous pouvez récupérer les sources LaTeX de la première version d'une traduction du deuxième ouvrage sur ftp.lip6.fr dans /pub/linux/french/books. Le nombre de livres concernant Linux a eu tendance à exploser ces derniers temps. Vous pouvez consuter le site qui essaye de présenter les différents livres disponibles. 1188..33.. LLeess HHoowwTToo''ss La plupart des HowTo's ou mini HowTo sont désormais traduits (ou en cours de traduction). Ils sont disponibles sur ftp.lip6.fr dans le répertoire /pub/linux/french/docs/HOWTO. Ces documents sont égalements postés dans le forum fr.comp.os.linux.annonces mensuellement. En voici la liste : HowTo : Access-HOWTO Alpha-HOWTO Assembly-HOWTO Benchmarking-HOWTO Boot-disk-HOWTO Bootdisk-HOWTO BootPrompt-HOWTO Busmouse-HOWTO CD-Writing-HOWTO CDROM-HOWTO Chinese-HOWTO Commercial-HOWTO Configuration-HOWTO Database-HOWTO Distribution-HOWTO DNS-HOWTO DOS-to-Linux-HOWTO DOSEMU-HOWTO DOStoLinux-HOWTO ELF-HOWTO Ethernet-HOWTO Firewall-HOWTO Ftape-HOWTO GCC-HOWTO Glibc2-HOWTO HAM-HOWTO Hardware-HOWTO HOWTO-Index Installation-HOWTO IPX-HOWTO ISP-Hookup-HOWTO Java-CGI-HOWTO Java-HOWTO Kernel-HOWTO Keyboard-HOWTO LinuxDoc-Emacs-Ispell-HOWTO Liste-des-HOWTO Mail-HOWTO MGR-HOWTO Modems-HOWTO Module-HOWTO NET-3-HOWTO Net2-HOWTO News-HOWTO NFS-HOWTO NIS-HOWTO Oracle-HOWTO PCI-HOWTO PostgreSQL-HOWTO PPP-HOWTO Printing-HOWTO Printing-Usage-HOWTO Reading-List-HOWTO Root-RAID-HOWTO SCSI-HOWTO SCSI-Programming-HOWTO Serial-HOWTO Serial-Programming-HOWTO Shadow-Password-HOWTO SMB-HOWTO Sound-HOWTO Sound-Playing-HOWTO SRM-HOWTO Term-HOWTO TeTeX-HOWTO Tips-HOWTO UMSDOS-HOWTO UPS-HOWTO UUCP-HOWTO VAR-HOWTO Video-HOWTO Virtual-Services-HOWTO Visual-Bell-HOWTO WWW-HOWTO WWW-mSQL-HOWTO XFree86-HOWTO Mini-HowTo : 3-Button-Mouse Advocacy Anon-ftp BogoMips Bridge+Firewall Bzip2 Cable-Modem CD-Writing Clock Colour-ls Cyrus-IMAP DHCPcd DHCPd Dial-On-Demand Diskless DPT-Hardware-RAID Ext2fs-Undeletion Fax-Server Hard-disk-upgrade Install-From-ZIP IO-Port IP-Alias IP-Masquerade IP-Subnetworking ISP-Connectivity Jaz-Drive Jaz Kerneld Large-IDE LBX Leased-Line LILO Linux+FreeBSD Linux+NT-Loader Linux+Win95 Mail2News Man-Page MIDI+SB Modules Multi-Ethernet NFS-Root-Client NFS-Root Postgres PPP-over-minicom Pre-Installation-Checklist Proxy-ARP Public-Web-Browser Quota RCS Remote-X-Apps RPM+Slackware Sendmail+UUCP Sig11 Slip+ProxyARP Small-Memory Soundblaster-AWE StarOffice Swap-Space Term-Firewall TkRat Token-Ring Update Virtual-wu-ftpd Visual-Bell Win95+Win+Linux Win95+Win3x+Linux X-Terminal XFree86-XInside Xterm-Title ZIP-Install ZipIomega Pour voir la liste actuelle des How-To traduits, consultez le document Liste-des-HowTo aux adresses habituelles. Toutefois, il reste encore du travail (traduction, mise-à-jour ou corrections de documents) ! Si jamais vous voulez vous joindre à l'équipe des traducteurs, vous pouvez vous abonner à la liste de traduction : mail majordomo@Linux.EU.Org subscribe traduc Le nouveau coordinateur des traductions que je suis sera très content de vous répondre ! 1199.. AAddrreesssseess Voici quelques bonnes petites adresses : · sites FTP · ftp.lip6.fr : miroir de tsx-11.mit.edu, de sunsite.unc.edu avec les dernières mises à jour du noyau, et surtout toute l'arborescence française. Il s'agit du site de référence en France concernant Linux (et sûrement pour le reste également... bravo Rémy !). · ftp.ese-metz.fr : miroir de ftp.lip6.fr ; · ftp.loria.fr (miroir de sunsite et du LIP6) ; · une liste plus complète est fournie dans la feuille d'information que vous pouvez consulter au début de ce guide. · BBS : la liste des BBS peut être trouvée dans la feuille d'information au début de ce guide ; · WWW : · : le site officiel des howto en français. C'est ici que vous trouverez toutes les version html. C'est également le site officiel du Guide du ROOTard. · : miroir concernant les howto. Vous trouverez sur ce serveur un certain nombre d'autres informations, comme par exemple tous les articles postés depuis plus d'un an dans f.c.o.l. · : ma modeste page dédiée à LLiinnuuxx. · Listes LLiinnuuxx dans les régions : · Toulouse : majordom@arlesienne.ensica.fr : subscribe linux-31 · Bordeaux : · Dauphiné : · Lyon : · Linux Journal Français (Les echos de linux) : créé par Pierre Ficheux et moi-même, ce journal est diffusé sur le Web, mais les articles sont également disponibles sur certains serveurs ftp : . Serveur ftp : ftp.lip6.fr:/pub/linux/french/echo-linux. PPoouurr ttrroouuvveerr ddee ll''aaiiddee :: dans un premier temps, essayez de trouver les renseignement dans ce guide. Ensuite, regardez les HowTo. Enfin, si vous séchez, jetez un coup d'oeil dans les forums fr.comp.os.linux.*. 2200.. CCoonnttrriibbuuttiioonnss Voici la liste des personnes ayant participé à la réalisation de ce document. Il est fort possible que j'en ai oublié... mes excuses ! Merci à tous. · Ceux sans qui ce document ne serait pas ce qu'il est : · Stéphane Bortzmeyer (bortzmeyer@pasteur.fr) · Rémy Card (Remy.Card@freenix.org) · René Cougnenc · Pierre Ficheux (pierre@rd.lectra.fr) · Nat Makarévitch (nat@linux-france.com) · Julien Simon (Julien.Simon@freenix.org) · Contributions : · Jean-Michel Antoine (Jean-Michel.Antoine@loria.fr) · Guylhem Aznar (guylhem@danmark.linux.eu.org) · Michel Billaud (billaud@labri.u-bordeaux.fr) · Stéphane Chazelas (Stephane.CHAZELAS@enst-bretagne.fr) · Laurent Chemla (chemla@brainstorm.eu.org) · Bernard Choppy (choppy@imaginet.fr) · Jean Charles Delepine (delepine@aldil.linux.eu.org) · Jean-Albert Ferrez (Jean-Albert.Ferrez@epfl.ch) · Laurent Frigault (lfrigault@teaser.fr) · Éric Jacoboni (jaco@mail.dotcom.fr) · Frédéric Lepied (fred@sugix.frmug.fr.net) · Michel Lespinasse ( walken@via.ecp.fr) · Antoine Levasseur (levavass@efrei.fr) · Stephane Marzloff (100557.571@compuserve.com) · Marc Merlin (marc.merlin@efrei.fr) · Thomas Parmelan (Thomas.Parmelan@darshiva.efrei.fr) · François Pétillon (fantec@latulipe.freenix.fr) · Thomas Quinot (thomas@cuivre.fdn.fr) · David Robert (david@anrtt.inp-fc.fr) · Marc Schaeffer (schaefer@vulcan.alphanet.ch) · David Segonds (David.Segonds@ifp.fr) · Sylvain Stéphant(sylvain.stephant@mail.dotcom.fr) · Olivier Tharan (tharan@int-evry.fr) · J.M. Vansteene (J.M.Vansteene@frcl.bull.fr) 2211.. SSii vvoouuss vvoouulleezz ppaarrttiicciippeerr aauu ddéévveellooppppeemmeenntt ddee LLiinnuuxx Linux est un système ouvert, qui évolue. De nombreux développements sont actuellement en cours, tels que _W_i_n_e (WWIINNdows EEmulator), le projet de documentation de Linux (LLDDPP), l'internationalisation. Tous ces projets (et bien d'autres) sont réalisés par des gens de bonne volonté qui donnent un peu de leur temps. Cela va de la programmation à la traduction de documents, etc. Si jamais vous voulez donner un peu de votre temps à LLiinnuuxx, n'hésitez surtout pas à me contacter. 2222.. TThhaatt''ss aallll ffoollkkss Voila, c'est fini. Si certains points vous semblent obscurs, etc, n'hésitez pas à me contacter. Ce guide est amené à évoluer, mais il ne peut évoluer que grâce à vvoouuss, donc si vous avez trouvé un truc achtement génial, envoyez-le : (Eric.Dumas@freenix.org ou Eric.Dumas@Linux.EU.Org). Palo Alto, le 21 Septembre 1998. Mais que diable allait-il faire dans cette galère...