Le Guide du ROOTard pour Linux

Eric Dumas, Eric.Dumas@Linux.EU.Org, Eric.Dumas@freenix.fr  Version 2.7a, 29 Septembre 1997.

Table des matières

1 Préambule 7 1.1 Histoire de ce guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.2 Présentation du contenu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.3 Plate-forme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.4 Quoi de neuf? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.5 Copyright . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.6 Améliorations de ce document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.7 Traductions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.8 Sites officiels de distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.9 Evolution du format de ce guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2 Introduction 10

3 Feuille d’Information Linux (v2.90, 25 Septembre 1997) 10 3.1 Résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.2 Linux - Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.3 Caractéristiques de Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.4 Matériel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.4.1 Configuration minimale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.4.2 Configuration recommandée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.4.3 Matériel pris en charge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.5 Liste incomplète de programmes disponibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.6 Qui utilise Linux? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.7 Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.8 Comment se procurer Linux en France . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.8.1 Par l’Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.8.2 Par téléphone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.8.3 Sur CD-ROM par correspondance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.9 Comment débuter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.10 Les groupes Usenet consacrés à Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.11 Autres groupes Usenet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.12 The Linux Journal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.13 Statut légal de Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.14 Ce document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

4 Introduction à l’installation 25 4.1 Récupération . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.2 Les différentes possibilités d’installations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.3 Conseils d’installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

5 Distributions 28 5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 5.2 Disquettes d’amorçage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 5.3 Slackware : description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

5.3.1 Disquettes Boot et Root . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 5.3.2 La distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 5.3.3 Bogues de la Slackware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

5.4 Red Hat : description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5.4.1 Disquette de boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5.4.2 Distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5.4.3 Utilisation du programme rpm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

6 Installation 61 6.1 Installation initiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 6.2 Partitionnement du disque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 6.3 Installation avec la Slackware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 6.4 Installation avec la Red Hat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

7 Administration sous Linux 63 7.1 Clavier Français . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 7.2 LILO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 7.3 Montage automatique de partitions : /etc/fstab . . . . . . . . . . . . . . . . . . . . . . . . . . 65 7.4 Montage manuel de partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 7.5 Mise en place des quota . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

7.5.1 Logiciels nécessaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.5.2 Compilation des utilitaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.5.3 Activation du support des quota dans le noyau . . . . . . . . . . . . . . . . . . . . . . 67 7.5.4 Activation des quota sur les systèmes de fichiers . . . . . . . . . . . . . . . . . . . . . 67 7.5.5 Attribution d’un quota à un utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . 68 7.5.6 Statistiques sur les quota . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 7.5.7 Autres documentations sur les quota . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

7.6 mtools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 7.7 Swap : création de la partition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 7.8 Swap : fichier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 7.9 Ajouter un utilisateur, un groupe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 7.10 Lancements de programmes personnels lors du boot : /etc/rc.d/rc.local . . . . . . . . . . . . . 72 7.11 Ordonnancement de travaux : la crontab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 7.12 Imprimer ! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 7.13 Timezone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 7.14 Nouveaux changements d’heure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 7.15 locate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 7.16 CD-ROM ATAPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 7.17 Mettre une console externe comme console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 7.18 Deux cartes réseaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 7.19 Les fichiers d’initialisation des interpréteurs de commandes . . . . . . . . . . . . . . . . . . . 79 7.20 Les sauvegardes sous Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

7.20.1 dump et restore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 7.20.2 tar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

7.21 Num Lock au démarrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 7.22 Les fichiers core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 7.23 Accounting - lastcomm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 8 X Window 82

8.1 XF86Config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 8.2 Clavier français sous X : Xmodmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 8.3 Clavier français sous X... 2ième possibilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 8.4 Clavier français sous X... utiliser xkb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 8.5 xdm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 8.6 Comment démarrer plusieurs sessions X? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 8.7 Comment récupérer les erreurs sur la console? . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 8.8 XFree et XInput . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 8.9 Problème assez courant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

9 Sécurité 94 9.1 X Window : le fichier .Xauthority . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 9.2 X Window : contrôle de la session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 9.3 Problèmes de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 9.4 Protection de la machine contre l’extérieur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 9.5 Quelques pointeurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 9.6 Virus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

10 Recompiler le noyau 96 10.1 Pentium . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 10.2 Compilation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

11 Les fichiers spéciaux 101

12 Communiquer 123 12.1 UUCP et modem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 12.2 Appels entrants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 12.3 PPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

12.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 12.3.2 Accès à un serveur PPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 12.3.3 Configuration d’un serveur PPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 12.3.4 Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

12.4 Un réseau derrière une seule adresse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 12.5 Sendmail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 12.6 Configuration du mail lors d’une connexion avec un provider . . . . . . . . . . . . . . . . . . 130 12.7 netstat -s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

13 ELF 132 13.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 13.2 Utilisation des utilitaires ELF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 13.3 Sources d’information sur ELF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

14 Catastrophe ! 134 14.1 Corruption de partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 14.2 Impossible de booter ! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 14.3 Formatage accidentel d’une partition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 14.4 Problèmes avec le disque dur : super-bloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 14.5 Problèmes avec le disque dur : blocs défectueux . . . . . . . . . . . . . . . . . . . . . . . . . . 136 14.6 Récupération d’un disque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 14.7 fatal signal 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

15 Divers 137 15.1 Comment générer une disquette de boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 15.2 Mon mot de passe, où est mon mot de passe? . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 15.3 Comment limiter le reboot en single user? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 15.4 Consoles virtuelles - aspects pratiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 15.5 Consoles virtuelles - aspects théoriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

15.5.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 15.5.2 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 15.5.3 Les touches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140

15.6 Francisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 15.6.1 locale // nls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 15.6.2 ispell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 15.6.3 Les accents sous bash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 15.6.4 less . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 15.6.5 Formatage de textes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 15.6.6 elm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

15.6.7 telnet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 15.7 teTeX et le style french . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

15.7.1 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 15.7.2 Premier test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 15.7.3 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

15.8 TeX et les polices de caractères . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 15.9 Une carte son bien configurée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 15.10Bug gcc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 15.11Emacs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 15.12Verrouillage des ports série . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 15.13Minitel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 15.14Fax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 15.15Modules Chargeables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

15.15.1 Structure du noyau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 15.15.2 Qu’est-ce qu’un module chargeable? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 15.15.3 Compilation du noyau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 15.15.4 Chargement : méthode manuelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 15.15.5 Chargement automatique : kerneld . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 15.15.6 Inactivité d’une machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 15.15.7 Disque dur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 15.15.8 Le moniteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 15.15.9 La CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

16 Pour aller plus loin 162 16.1 Bien débuter sous Linux (V 2.2.2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 16.2 Livres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 16.3 Les HowTo’s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

17 Adresses 164

18 Contributions 165

19 Si vous voulez participer au développement de Linux 166 20 That’s all folks 167

1 Préambule

Bienvenue dans la version 2.7a du Guide du ROOTard.

1.1 Histoire de ce guide

Ce guide a initialement été conçu par Julien SIMON (Julien.Simon@freenix.fr). Quelques passages doivent encore dater de cette version. Le dernier chapitre indique les noms des personnes ayant contribuées à la réalisation de ce document. Au fil des versions, cette liste s’allonge : c’est bon signe.

1.2 Présentation du contenu

Ce guide a pour but de fournir des réponses claires et concrètes aux problèmes que peut poser l’installation de Linux. Il regroupe des trucs et astuces fournis par des utilisateurs, le plus souvent lues dans le newsgroup fr.comp.os.linux (f.c.o.l) ou dans les HowTo, 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 positivement ce guide.

1.3 Plate-forme

Linux a initialement été développé pour fonctionner sur les plates-formes de type PC (quelque soit le processeur qui s’y trouve : Intel, AMD, Cyrix, ...). Il s’avère aujourd’hui que Linux fonctionne 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, mais si vous souhaitez inclure des parties spécifiques à ces plates-formes, contactez-moi. Je n’ai pas la possibilité, pour l’instant, d’installer Linux sur un autre type de plate-forme.

1.4 Quoi de neuf?

Remarque : la version 2.7a est une légère amélioration de la version 2.7 du guide. Il n’y a pas de changement radical. Un certain nombre d’erreurs ont été corrigées, et quelques courts paragraphes ont été ajoutés.

Voici les nouveautés du Guide du ROOTard version 2.7 :

– description de la Red Hat 4.2, dite Biltmore ;

– description de la Slackware 3.3.0 ;

– noyau 2.0.30 ;

– et bon nombre d’autres choses (voir le fichier Changelog).

Remarque : cette version a été réalisée dans des conditions particulières : fin du service militaire, début du vrai travail. Les distributions décrites proviennent des supports suivants :

– Red Hat (4.2) est celle du CD tri-linux des Linux System Labs.

– La version Slackware décrite est celle se trouvant sur le pack Freedom - Cocktail - Développeurs Kit 2 , mis à jour 12 Septembre sur le miroir français ftp.lip6.fr

1.5 Copyright

Remarque importante : 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 freeware 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.

1.6 Améliorations de ce document

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.

1.7 Traductions

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 Espagnole, 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.

A quand une version anglaise ;-)?

1.8 Sites officiels de distribution

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 <http://www.freenix.fr/linux/Guide/>

Ce guide possède un nombre de miroirs particulièrement important. Si vous souhaitez assurer un miroir, veuillez à 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érences. Voici une liste de sites miroirs :

– ftp://ftp.calvacom.fr

– ftp://ftp.ese-metz.fr

– ftp://ftp.loria.fr

– ftp://ftp.switch.ch

– ftp://ftp.univ-angers.fr

– ftp://ftp.u-bordeaux.fr

– ftp://stef.u-picardie.fr

– ftp://lirftp.insa-rouen.fr

– ftp://sunsite.mff.cuni.cz

– <http://www.alienor.fr/ dumas/linux>
– <http://www.minet.net/linux>
– <http://www.cybernet.be/inpres>
– <http://www.kheops-linux.com>
– <http://www.linux-france.com>

(Nota : si j’en oublie, contactez moi !) 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.

1.9 Evolution du format de ce guide

Depuis que j’ai repris le GRL (Guide du ROOTard pour Linux), je l’ai converti au format SGML. Les HowTo’s et documentations Linux emploient aussi ce standard grâce auquel un outil appelé sgml-tools

<http://fatman.mathematik.tu-muenchen.de/ schwarz/sgml-tools/> génère des documents aux for-

mats aussi variés qu’HTML, texte, DVI , etc. Toutefois cet outil ne respecte pas la typographie française : il est nécessaire d’appliquer un patch, sgml-tools-0.99.0-fr.patch.

Je vous conseille de lire, si vous n’avez rien installé pour le moment, la version strictement textuelle, malgré

sa lisibilité assez réduite <ftp://ftp.lip6.fr/pub/linux/french/doc/GRL>.

2 Introduction

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.fr (merci d’utiliser le source SGML pour effectuer les corrections...). Vous pouvez également poster un article en français dans le groupe Usenet consacré à Linux : fr.comp.os.linux si vous avez des problèmes, mais après avoir lu ce document !

Si vous avez des annonces à faire à la communauté Linux française, utilisez, après avoir lu sa charte, le forum

fr.comp.os.linux.annonces.

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 !

Toutes les remarques citées appartiennent à leur propriétaire (Comme le dit Juju, profond ça ! ) et ne s’usent que si l’on s’en sert.

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.

3 Feuille d’Information Linux (v2.90, 25 Septembre 1997)

3.1 Résumé

Ce document fournit des informations de base sur le système d’exploitation Linux, notamment une description de Linux, une liste de ses fonctionnalités et de ses exigences, et quelques pointeurs sur des informations complémentaires.

3.2 Linux - Introduction

Linux est une libre implémentation 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@transmetta.com) ainsi que des autres contributeurs à ce projet et est librement diffusable selon les termes de la GNU Public License .

Linux ne se classe ni dans le domaine public, ni dans le partagiciel : il fait partie du logiciel libre , appelé couramment graticiel ; 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 licence publique générale GNU (GPL) pour plus de détails. Vous en trouverez une copie dans l’arborescence des sources de Linux (fichier nommé ”COPYING”) ou par FTP sur le site prep.ai.mit.edu.

Linux 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 Linux, du moment que vous fournissez aussi le code source. 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.

Linux 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 Linux, mais il existe malgré tout des patches pour certaines machines. Si vous êtes intéressé, voyez :

<http://www.undergrad.math.uwaterloo.ca/ cpbeaure/mca-linux.html>

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.

Linux fonctionne également bien sur les processeurs Alpha de DEC. Les plateformes Jensen , NoName , Cabriolet , Universal Desktop Box (plus connue sous le nom de Multia ), et quelques autres.

Le portage de Linux vers Sparc progresse rapidement. Linux 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 être 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 Linux au dessus du micro-noyau Mach. Le résultat, appelé Mklinux, est encore en béta-test, mais peut déjà être utilisé.

Linux 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 Linux 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 ue 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 Linux qu’à l’occasion d’un changement majeur dans le noyau.

Il faut garder à l’esprit que Linux 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.

A 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 25 septembre 1997, la version stable de Linux est 2.0.30, et la version de développement est 2.1.57.

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 Linux (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 à Linux 2.2 ou 3.0, et le jeu continuera de plus belle.

3.3 Caractéristiques de Linux

– 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 : Linux 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 de gros programmes) : Linux 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 (core-dump) lors du plantage d’un programme, à des fins d’analyse postmortem 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 Linux diffusées sans leurs sources, mais tout ce qui a été libre l’est toujours et le restera.

– Contrôle de processus POSIX (job control).

– Pseudo-terminaux (pty’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 Linux semble ainsi doté d’un coprocesseur mathématique. Bien entendu, si votre ordinateur comporte déjà un coprocesseur, Linux 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, Xenix, 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 patch (dmsdosfs). Le type VFAT (MS-Windows NT, MS-Windows 95) est pris en charge depuis la version 2.0.

– Système de fichiers spécial nommé UMSDOS, autorisant l’installation de Linux 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.

– TCP/IP, incluant tous les outils comme ftp, telnet, NFS, etc.

– Pile de protocoles réseau Appletalk.

– Client et serveur Netware.

– Client et serveur Lan Manager (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.

3.4 Matériel

3.4.1 Configuration minimale

La configuration suivante est probablement la plus petite configuration possible sur laquelle Linux 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 Linux 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.

3.4.2 Configuration recommandée

Si vous souhaitez utiliser des programmes travaillant intensivement, comme gcc, X et TeX, 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. Etant 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 500 Mo, voire 1 Go ou plus, 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 Linux et MS-DOS est qu’ajouter de la mémoire à Linux 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 Linux.

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...

3.4.3 Matériel pris en charge

Unités centrales :

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 (Embeddable Linux Kernel Subset), 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 Linux. De nombreuses architectures Alpha sont compatibles avec Linux, ainsi que certaines machines Sparc. Des portages vers PowerPC, ARM et MIPS sont aussi en cours.

Architecture : bus ISA et EISA. Le support du bus MCA est incomplet (voir plus haut). Les bus locaux (VLB et PCI) sont supportés. Linux 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 Linux. Linux est, entre autres, un excellent testeur de mémoire...

RAM :

en théorie, jusqu’à un 1 Go; plus sur les plateformes 64 bits, mais cette quantité de mémoire n’a jamais été testé. 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.

Stockage des données :

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, ATAPU (EIDE), et les lecteurs SCSI. Pour les références exactes des modèles supportés, consultez le Hardware HOWTO .

Vidéo :

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. Linux utilise le serveur X XFree86, 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.

Réseau :

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.

Ports série :

la plupart des cartes utilisant des UART 16450 et 16550, dont entre autres les AST Fourport, Usenet Serial Card II , etc. Parmi les cartes série intelligentes reconnues, citons les gammes Cyclades Cyclom, Comtrol Rocketport et Stallion (toutes gammes supportées par leurs constructeurs), et Digi (certains modèles). Certains équipements RNIS, frame relay et pour ligne louée, sont également supportés.

Autres matériels :

Cartes Soundblaster, ProAudio Spectrum 16, Gravis Ultrasound, la plupart des autres cartes son, plusieurs types de souris bus (Microsoft, Logitech, PS/2).

3.5 Liste incomplète de programmes disponibles

La plupart des outils et des programmes classiques d’Unix ont été portés vers Linux, 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 Linux. 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 Linux.

Commandes Unix de base :

ls, tr, sed, awk, etc ... Pratiquement tout y est.

Outils de développement :

gcc, gdb, make, bison, flex, perl, rcs, cvs, prof.

Langages et environnements :

C, C++, Objective C, Modula-3, Modula-2, Oberon, Ada95, Pascal, Fortran, ML, scheme, Tcl/tk, Perl, Python, Common Lisp, et bien d’autres.

Environnements graphiques :

X11R5 (XFree86 2.x), X11R6 (XFree86 3.x), MGR.

Editeurs :

GNU Emacs, XEmacs, MicroEmacs, jove, ez, epoch, elvis (GNU vi), vim (clone vi), vile, joe, pico, jed et bien d’autres.

Shells :

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.

Télécommunications :

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.

News et mail :

C-news, INN, trn, nn, tin, sendmail, smail, elm, mh, pine, etc.

Formateurs de texte :

TeX, LaTeX, groff, doc, ez, Linuxdoc-SGML, etc.

Jeux :

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 Linux...

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 Linux.

(NDR : une liste des programmes portés pour Linux est disponible. Elle est contenue dans le fichier LSM*.*, ou Linux Software Map)

3.6 Qui utilise Linux?

Linux 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 Linux (ce n’est pas interdit) mais leur clientèle ne constitue qu’une minorité des utilisateurs de Linux.

Les groupes Linux 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 Linux. 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 Linux 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.

3.7 Documentation

Matt Welsh a écrit un guide de plus de 300 pages decrivant comment installer et configurer Linux. 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 Linux en france en sources LaTeX, sortie DVI et PostScript sous le nom install-guide-french-2.2.2.*).

3. Feuille d’Information Linux (v2.90, 25 Septembre 1997) 19

Il est aussi vendu par certaines personnes ou organismes sous forme imprimée. De même, le projet de documentation Linux (Linux Doc Project, LDP), diffuse plusieurs autres ouvrages dans un état d’avancement plus ou moins complet. Lisez le groupe comp.os.linux.announce, Linux 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 Linux , 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 HOWTO’s, et le Guide du Rootard, disponibles librement, sont quasiment indispensables, consultez la section comment débuter pour plus de détails à ce sujet.

3.8 Comment se procurer Linux en France

3.8.1 Par l’Internet

Si vous avez la chance d’accéder à une machine connectée à l’Internet, vous pouvez récupérer Linux facilement sur l’un de ces sites :

Nom du site                    Adresse IP       Repertoire Linux
=============================  ===============  ================
ftp.lip6.fr         (FRANCE)   132.227.77.2     /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
src.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
  nic.switch.ch                  130.59.1.40      /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

3.8.2 Par téléphone

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 Linux sans restriction d’accès sur différents BBS ou différentes machines Unix ou Linux de particuliers, mettant leur système à disposition de tous pour rendre service :

brasil       01 44 67 08 44          Bulletin Board System
polux        05 61 26 08 27          Site Linux
elfix        05 61 73 57 06          Site Linux
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 Linux, 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 Linux 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.

3.8.3 Sur CD-ROM par correspondance

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 News Usenet.

3.9 Comment débuter

Comme il est expliqué ci-dessus Linux 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 Linux, 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 Linux, ainsi que nombre de trucs astuces, expliqués quotidiennement dans les newsgroups ou conférences francophones dediés à Linux. 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 <http://www.freenix.fr/linux/Guide>.

Les HOWTO , petits guides traitant chacun d’un domaine de Linux, 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 :

   – <http://www.freenix.fr/linux>
   – <http://echo-linux.alienor.fr/>
   – <http://www.linux-france.com/article/>
   – <http://www.linux-kheops.com/line/>
   – <http://www.loria.fr/linux/>

Si le monde UNIX est tout nouveau pour vous, et que Linux est votre premier contact avec ce domaine passionnant, suivez absolument les conseils suivants :

– Ne vous ruez pas sur les forums de discussion Linux pour poser mille questions auxquelles tout le monde est lassé de répondre. Lisez les quelques semaines auparavant, voyez ce qui s’y passe, consultezen les archives mises à disposition sur certains sites, et il y a fort à parier que vous trouverez ce que vous cherchez sans déranger personne.

– Linux 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 Linux, 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 Linux.

– 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. Linux 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.

3.10 Les groupes Usenet consacrés à Linux

Linux fait l’objet sur Usenet de 10 newsgroups en langue Anglaise et de deux 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 Linux 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.

L’autre groupe destiné aux francophones est fr.comp.os.linux.annonces. Il est modéré par Rémy Card et accueille les annonces destinées à la communauté Linux francophone, ainsi que les versions françaises des documentations Linux. Les articles de ce groupe sont également archivés sur ftp.lip6.fr.

Le groupe comp.os.linux.announce est modéré par Lars Wirzenius. Il recèle les annonces concernant Linux (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 de systèmes Linux.

Le groupe non modéré comp.os.linux.admin est prévu pour les discussions sur l’administration de systèmes Linux.

Le groupe non modéré comp.os.linux.development.system est prévu pour les discussions sur le développement du noyau Linux. 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 à Linux. Il n’est pas prévu pour contenir les demandes d’applications pour Linux.

Le groupe non modéré comp.os.linux.hardware est prévu pour les questions portant sur les aspects matériels spécifiques à Linux.

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 Linux.

Le groupe non modéré comp.os.linux.x est prévu pour les discussions sur X-window spécifiques à Linux.

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, ne crosspostez pas entre plusieurs groupes Linux. Le seul cas où les crossposts 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é ...

Attention : 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 <http://www.fdn.fr/fdn/doc-misc>.

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.

3.11 Autres groupes Usenet

Ne considérez pas que vous devez envoyer vos questions dans les groupes Linux uniquement parce que vous utilisez Linux. De nombreuses questions sont suffisament générales et peu liées à Linux 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.

3.12 The Linux Journal

Un magazine, rédigé en anglais et appelé Linux Journal 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 Linux. 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

Linux Journal est également en vente à Paris à la librairie Le monde en Tique .

3.13 Statut légal de Linux

Bien que Linux 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 logiciel libre, 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 Linux 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 Linux sont librement diffusables (sinon ils ne s’y trouveraient pas !).

3.14 Ce document

Ce document était au départ une adaptation française par Julien Simon et retouchée par René Cougnenc, de la Linux INFO-SHEET 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 HOWTOs Linux, 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 à :

     Remy Card                    <Remy.Card@linux.org>
     Rene Cougnenc
     Eric Dumas                   <Eric.Dumas@freenix.fr>
     Julien Simon                 <Julien.Simon@freenix.fr>

4 Introduction à l’installation

Avant de commencer, deux trois petites choses sont à préciser sur la manière d’effectuer l’installation de votre machine.

4.1 Récupération

La récupération des distributions Linux 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 (6 CD pour 130 Frs environ) ou Yggdrasil (8 CD pour à peu près le même tarif). 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 :

– Logiciels du soleil

                    1, rue Pasqualini
                    06800 Cagnes sur Mer

Contacts :

      – email : kheops@kheops-linux.com ;
      – Url : <http://www.kheops-linux.com/>.

– IKARIOS (succède à ”PACT”)

              24 rue Voltaire
              92000 NANTERRE

Contacts :

      – email : lindis@linux-france.com ;
      – Url : <http://www.linux-france.com/>.

– on trouve également parfois ces CD à la FNAC, Surcouf, etc.

4.2 Les différentes possibilités d’installations

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 donnent 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 umsdos. 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 qui ait Linux de 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 nfs-root détaille complètement cete opération.

4.3 Conseils d’installation

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 10-12Mo 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 dans /etc.

Je vous conseille également d’installer et de configurer loadlin. Cela permet de booter a partir de MS-DOS et d’utiliser un noyau special ou une partition différente (apres un décalage suite à 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 (ftp://login.dknet.dk/pub/ct/ext2tool.zip) pour copier le noyau se trouvant sur une partition EXT2 vers votre partition dos

Si vous utilisez lilo, essayez de le lancer apres 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.

5 Distributions

5.1 Introduction

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 feuille d’informations Linux reproduite ci-dessus. Il n’existe pas de distribution officielle de Linux. 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 voici à peu près deux ans. De nos jours, elle est fortement concurrencée par de nouvelles distributions comme Red Hat 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). L’ensemble de la Slackware (sources inclus) fait environ 160 Mo. Elle occupe près de 100 disquettes, c’est-à-dire environ 115 Mo (compressé) auquel il faut ajouter 6 disquettes root et environ 57 disquettes de boot. La dernière version de la Slackware est la 3.3.0. Elle est tout ELF. Elle utilise la libc 5.4.33, le noyau 2.0.30, et XFree86 3.3. Sa dernière mise à jour date environ du 5 Septembre 1997. C’est cette version qui sera détaillée ici.

Site ftp officiel : ftp.cdrom.comSite Web : <http://www.cdrom.com/>.

– Red Hat : c’est une distribution initialement commerciale, mais qui est également disponible par téléchargement sur les sites FTP. Elle semble 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 4.2 (BiltMore) 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 : ftp.redhat.comSite Web : <http://www.redhat.com/>

– Debian : C’est la version de Linux soutenue par la FSF (Free Software Foundation). Version : 1.3 Dernière mise à jour : 2 Juin 1997 Site ftp officiel : ftp://ftp.debian.org/debian

– MCC : Version 1.2+. Dernière mise à jour : Mai/Juin 1995. (semble tombée dans l’oubli...)

– Bogus : C’est une distribution stable et assez bien faite. Le seul problème avec Bogus est que sa fréquence de mise à jour est assez irrégulière. Version 1.0.1 Dernière Mise à jour : Juillet 94

– SLS : Première grande distribution de Linux, mais elle est maintenant obsolète : Version 1.06. Dernière mise à jour : Novembre 1994.

– Mini-Linux : Comme son nom l’indique, il s’agit d’une distribution très réduite de Linux (en ce qui me concerne, je la trouve justement trop réduite mais bon...). Elle se trouve sur ftp.loria.fr, en version française. Elle contient 5 disquettes et a été mise à jour pour la dernière fois le 10 Avril 1995.

– Jurix : C’est une distribution créée en Allemagne à partir des dernières versions des programmes disponibles. Dernière mise à jour : 8 Décembre 1996.

5.2 Disquettes d’amorçage

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.

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 RAWRITE. Pour cela : décompacter le fichier si nécessaire (le nom se termine par .gz ) grâce à GZIP.EXE (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 RAWRITE pour écrire le (ou les fichiers) sur les disquettes.

5.3 Slackware : description

Dans cette partie, on suppose que vous possédez la version de la Slackware 3.3. Voici une description brève des disquettes (en bref, ce que l’on trouve, pour éviter l’installation de paquetages inutiles).

5.3.1 Disquettes Boot et Root

Deux disquettes sont fondamentales pour installer Linux 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 boot contient un noyau Linux et la disquette root fournit au Linux ainsi lancé quelques fichiers absolument nécessaires à son fonctionnement. Plusieurs types de disquettes boot et root existent, il faut choisir en fonction du matériel employé. Le contenu de chaque disquette est livré sous forme d’un fichier de type image, 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 boot et d’un root approprié au matériel (voir tableau ci-dessous) ; – formatage d’une paire de disquettes (sans secteurs défectueux), par exemple avec MS-DOS format ;

– inscription du fichier boot sur une disquette ;

– inscription du fichier root sur une disquette ;

– démarrage du système grâce à la disquette boot ;

– insertion, sitôt que le système le demande, de la disquette root.

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            | scsinet                  |
-------------------+----------------+--------------------------+--------------
Tape              | bare (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.    |                          |
                  |                |                          |
-------------------+----------------+---------------------------------------

Gestionnaires SCSI : 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 : Linux le décompresse tout seul comme un grand. Il existe six disquettes root possibles :

– color.gz : permet d’avoir les couleurs sur la console ;

– umsdos.gz : Utilise umsdos (évitez de repartitionner votre disque). Attention : c’est beaucoup plus lent que l’ext2fs natif.

– text.gz : disquette root de base ;

– tape.gz : expérimental, pour l’installation à partir de cartouches (je n’ai jamais essayé) ; – 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 ... ATTENTION : La disquette Root ne doit pas être décompressée !!

5.3.2 La distribution 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 disquettes :

– A (9) : Base du système Linux ;

– AP (6) : Applications courantes ;

– D (13) : Compilateurs (gcc 2.7.2.2) ;

– E (8) : Emacs (19.34) ;

– F (3) : FAQ en anglais ;

– K (6) : Noyau (2.0.30) ;

– N (6) : Réseau ;

– T (9) : TeX et LaTeX (2e), version TeTex 0.4;

– TCL(2) : Tcl (7.5) Tk (4.1) :

– X (23) : X Window X11R6 - Serveur XFree86 3.3 ;

– XAP (5) : Applications X Window ;

– XD (4) : X Window dev. : linkkit + PeX ;

– XV (3) : XView pour les adorateurs du Look OPEN LOOK ;

– Y (2) : Jeux.

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 : Base

– A1 :

– aaa base : (ADD) mise en place de l’arborescence de base. Programmes de base (GNU mtools 3.7, fdutils-5.2, zip201, unzip512).

– aoutlibs : (ADD) bibliothèques a.out (libc 4.7.6) ;

– bash : (ADD) (1.14.7) interpréteur de commandes ;

– bsdlpr : (REC) (5.9-13) système de gestion d’impression évolué ;

– etc : (ADD) fichiers de configuration situés dans le répertoire.

– A2 : – bin : (ADD) binaires (/bin et /usr/bin) (GNU fileutils 3.12, man, patch, sed, etc.) ;

– devs : (ADD) les fichiers spéciaux situés dans /dev ; /etc.

– A3 : – cpio : (ADD) (2.4.2) utilitaires d’archivage de fichiers ;

– 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 ;

– getty : (OP T) getty ps 2.0.7i (Contrôle le login sur le système) ;

– gpm : (REC) (1.10) Permet de réaliser du copier-coller avec la souris dans les fenêtres en mode texte ;

– umsprogs : (ADD)(0.9) pour gérer le gestionnaire de fichier umsdos.

– A4 : – grep : (ADD) (2.0) recherche de chaînes dans les fichiers ;

– gzip : (ADD) (1.2.4) GNU zip compression ;

– hdsetup : (ADD) (3.3.0) programme setup de maintenance/d’installation de la distribution ;

– ibcs2 : (OP T) permet d’exécuter des binaires provenant d’autres plates-formes (SVR4, SCO, Wyse, Xenix, etc.) ;

– ide : (REC) noyau IDE (2.0.30) sans SCSI ;

– less : (ADD) less-332 (ressemble à more, mais en bien meilleur) ;

– loadlin : (REC) (1.6) charge les noyaux sous MS-DOS.

– A5 :

– kbd : (OP T) (0.94) fichiers de configuration pour le clavier. Contient la définition du clavier français.

– ldso : (ADD) ld.so.1.9.5, c’est à dire l’éditeur et chargeur de liens dynamique ;

– lilo : (ADD) (19) chargeur du noyau ;

– minicom : (REC) (1.75) paquetage de communication semblable à Telix ;

– pcmcia : (OP T) (2.9.6) pour les cartes PCMCIA ;

– pnp : (OP T) (1.10) utilitaire de gestion des cartes dites Plug And Play .

– A6 :

– modules : (ADD) (2.0.20) modules chargeables pour le noyau 2.0.20 ;

– ps : (ADD) (1.01) procps 1.01, utilitaires pour l’affichage des processus ;

– sysklogd : (ADD) (1.3) syslogd/klogd, enregistre/redirige les messages d’erreurs système ;

– sysvinit : (ADD) (2.69) programme init + scripts /etc/rc.d ;

– zoneinfo : (ADD) système de gestion des fuseaux horaires.

– A7 – scsi : (REC) (2.0.30) noyau SCSI + IDE ;

– scsimods : (OP T) (2.0.30) modules SCSI pour 2.0.30.

– A8 – sh utils : (ADD) (1.16) commandes utilitaires ;

– shadow : (ADD) gestion des mots de passe shadow ;

– tar : (ADD) (1.12) GNU tar : gestion d’archives ;

– tcsh : (OP T)(6.07) shell compatible csh.

– A9 – txtutils : (ADD) (1.22) outils de manipulation de textes (cat, head, etc) ;

– util : (ADD) util-linux 2.7.1.

– AP : Applications courantes

– AP1 : – ash : (OP T) autre shell, exige très peu de mémoire ;

– bc : (OP T) (1.04) calculatrice ;

– diff : (REC) (2.7) permet de donner la liste des différences entre fichiers ;

– ghostscr : (OP T) (3.33) GNU Ghostscript permet de visualiser, de transformer des fichiers postscript ;

– joe : (OP T) (2.8) petit éditeur de texte très pratique ;

– jove : (OP T) (4.14.10) petit éditeur de texte compatible Emacs ;

– jpeg : (OP T) (6a) programme et bibliothèque de manipulation d’images au format JPEG ;

– mt st : (OP T) (0.4) gestionnaire de manipulation de lecteurs de cartouches ;

– quota : (OP T) (1.51) outils de gestion des quotas disques ;

– workbone : (OP T) (2.3) lecteur de CD audio.

– AP2 : – groff : (ADD) (1.11) outils de formatage de documents. Utilisé par man ;

– ispell : (OP T) (3.1.20) vérificateur orthographique (Anglais) ;

– sc : (OP T) (6.21) petit tableur.

– AP3 : – gsfonts1 : (OP T) polices de caractères pour Ghostscript (1/3) ; – jed : (OP T) (0.97-14) petit éditeur de texte ;

– manpags : (REC) (1.16) pages de manuel du système.

– AP4 : – gsfonts2 : (OP T) polices de caractères pour Ghostscript(2/3) ;

– mc : (OP T) (4.0) Midnight Commander, outil de manipulation de fichiers, répertoires ;

– sudo : (OP T) (1.2) permet l’exécution de quelques commandes en tant que Root pour certains

utilisateurs.

– AP5 : – gsfonts2 : (OP T) polices de caractères pour Ghostscript(3/3) ;

– texinfo : (REC) (3.9) système de documentation TeXinfo GNU.

– AP6 :

– vim : (OP T) (4.6) Version améliorée de vi (vi pur beurre (ou presque) étant fourni avec elvis). Préférer de loin cette version.

– zsh : (OP T) (3.0.3) shell zsh.

– D : Compilateurs (gcc 2.7.2.1)

– D1 :

– binutils : (ADD) (2.8.1.0.1) ar, as, c++filt, ld, nm, ranlib, etc ;

– bison : (REC) (1.25) analyseur syntaxique (compatible yacc) ;

– byacc : (OP T) yacc, version BSD ;

– flex : (ADD) (2.5.4) analyseur lexical ;

– m4 : (ADD) (1.4) expanseur de macros.

– D2 :

– g77 : (OP T) (0.5.20) compilateur Fortran ;

– gmake : (ADD) (3.74) GNU make ;

– pmake : (ADD) (4.4) make BSD ;

– strace : (OP T) (3.0) trace les appels système et les signaux.

– D3 :

– gcc2722 : (ADD) compilateur C ELF optimisé pour 486 ;

– gccaout : (OP T) version du compilateur C générant des binaires au format a.out ;

– tools : (OP T) (2.17) bibliothèque de génération de DLL.

– D4 :

– gcl : (OP T) (2.2.2) interpréteur Lisp ;

– man2 : (REC) (1.16) pages de manuel des appels système.

– D5 :

– gdb : (OP T) (4.16) débogueur ;

– gxx2721 : (REC) (2.7.2.2) compilateur C++, optimisé pour 486 ;

– terminfo : (OP T) base de données des terminaux.

– D6 :

– gxxaout : (OP T) (2.7.2.2) version du compilateur C++ générant des binaires au format a.out ;

– libgxx : (REC) (2.7.2.1) bibliothèque libg++ + fichiers includes pour c++.

– D7 :

– libaout : (REC) bibliothèques pour le support du format a.out (4.7.6) ;

– linuxinc : (ADD) fichiers d’entête de Linux 2.0.30.

– D8 :

– 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 ;

– man3 : (REC) (1.16) pages de manuel des fonctions de la bibliothèque C.

– D9 :

– libcinfo : (OP T) informations sur la bibliothèque C ;

– objc2722 : (OP T) (2.7.2.2) compilateur Objective-C.

– D10 : – ncurses : (REC) (1.9.9e) bibliothèque de gestion de l’écran ;

– p2c : (OP T) (1.19) convertisseur Pascal vers C.

– D11 : – objcaout : (OP T) objective C, format a.out ;

– perl3 : (OP T) (5.004) interpréteur Perl.

– D12 : – perl1 : (OP T) (5.004) interpréteur Perl ;

– rcs : (OP T) (5.7) système de gestion de versions des fichiers.

– D13 : – perl2 : (OP T) (5.004) interpréteur Perl ;

– svgalib : (OP T) (v1.2.10) bibliothèque graphique. %%%

– E : Emacs (19.34)

– E1 :

– elisp1 : (OP T) sources Emacs-Lisp.

– E2 :

– elisp2 : (OP T) sources Emacs-Lisp ;

– elisp3 : (OP T) sources Emacs-Lisp.

– E3 :

– elisp4 : (OP T) sources Emacs-Lisp ;

– elispc2 : (REC) fichiers Emacs-Lisp compilés.

– E4 :

– elispc1 : (REC) fichiers Emacs-Lisp compilés.

– E5 :

– elispc3 : (REC) fichiers Emacs-Lisp compilés.

– emac nox : (OP T) emacs sans X Window.

– E6 :

– emacinfo : (REC) fichiers d’information.

– E7 :

– emacmisc : (REC) fichiers pour Emacs.

– E8 :

– emacsbin : (ADD) (19.34) Binaires d’Emacs. Utilise X Window.

– F : FAQ en anglais

– F1 :

– howto1 : (ADD) Tous les howtos du Linux Documentation Project, en anglais bien sûr.

– F2 :

– manyfaqs: FAQs : (ADD) FAQ comp.lang : Fortran, GCC, G++, TCL, Objective-C, Lisp, Scheme, et Perl ;FAQ PostScript ; Linux FAQ ; FAQ comp.windows.x.

– F3 :

– mini : (ADD) mini howto ;

– howto21 : (ADD) Suite et fin des documents HowTos.

– K : Sources du noyau – K1 à K6 : (REC) sources du noyau version 2.0.30.

– N : Réseau

– N1 :

– apache : (OP T) (1.2.0) serveur WWW ;

– bind : (REC) (4.9.5 p1) bind, dig, dnsquery, host, nslookup, ... ;

– mailx : (REC) (5.5) mailer.

– N2 :

– cnews : (OP T) système de transport de news ;

– dip : (OP T) (3.3.7o) gestionnaire de connections IP pour SLIP, CSLIP ;

– elm : (OP T) (2.4 pl 25) mailer interactif ;

– inn : (OP T) (1.5.1) système de transport de news et serveur NNTP.

– N3 : – lynx : (OP T) (2.6) arpenteur (browser) en mode texte ;

– netpipes : (OP T) (3.1) utilisation de tcp/ip dans des scripts ;

– nn-nntp : (OP T) (6.4.18) lecteur de news nn compilé pour utiliser NNTP ;

– nn-spool : (OP T) (6.4.18) autre système de news ;

– ppp : (OP T) (2.2.0f) démon et gestion du protocole PPP ;

– procmail : (OP T) (3.10) programme de gestion de courrier électronique.

– N4 : – pine : (OP T) (3.96) mailer basé sur elm ;

– rdist : (OP T) programme pour maintenir des parties d’arborescences identiques entre machines ;

– smailcfg : (OP T) fichiers de configuration pour sendmail ;

– tin : (OP T) (1.2pl2) lecteur de news plein écran :

– trn-nntp : (OP T) (3.5) lecteur de news trn compilé pour utiliser un serveur NNTP ;

– trn : (OP T) (3.5) lecteur de news trn compilé pour utiliser le spool local.

– N5 : – metamail : (REC) (2.7) gestionnaires du format MIME ;

– sendmail : (REC) (BSD 8.8.7) processus de transport de courier. Gère TCP/IP et UUCP.

– uucp : (OP T) (1.06.1) Taylor UUCP, système de communication UUCP.

– N5 : – tcpip : (REC) programmes de gestion réseau.

– T : TeX et LaTeX : distribution TeTeX

– T1 :

– td-trans : (OP T) (3.1.2) transfig - programmes de transformation de fichiers .fig en formats epsf et LaTeX ;

– tb-xfig : (OP T) (3.1.4) programme xfig, programme de dessin vectoriel ;

– td-bibt : (OP T) documentation sur BibTeX ;

– td-eplai : (OP T) documentation du format plain ;

– td-fonts : (OP T) documentation sur certains paquetages de polices de caractères ;

– td-misc : (OP T) documentation générale sur TeX ;

– td-mkidx : (OP T) documentation sur makeindex ;

– tf-sautr : (ADD) polices de caractères sauter ;

– tm-bibt : (REC) BibTeX ;

– tm-eplai : (REC) format eplain.

– T2 : – td-gnric : (OP T) documentation générique ;

– tf-dc : (ADD) polices de caractères DC ; – tm-metap : (OP T) MetaPost ;

– tm-pictx : (OP T) macros PiCTeX ;

– tm-tdraw : (REC) macros TeXdraw.

– T3 :

– td-ltex1 : (OP T) documentation LaTeX (1/2) ;

– td-metap : (OP T) documentation MetaPost ;

– tm-pstr : (OP T) macors PostScript.

– T4 :

– td-ltex2 : (OP T) documentation LaTeX (2/2) ;

– td-progs : (OP T) documentation sur Kpathsea.

– T5 :

– te-ams : (REC) paquetage AMSTeX ;

– te-base1 : (ADD) paquetage teTeX (1/2).

– T6 :

– te-base2 : (ADD) paquetage teTeX (2/2) ;

– tm-lt : (ADD) base LaTeX.

– T7 :

– te-bin1 : (ADD) binaires teTeX pour Linux (1/2) ;

– tf-misc : (ADD) autres polices de caractères ;

– tm-xypic : (OP T) macros XY-pic.

– T8 :

– te-bin2 : (ADD) binaires teTeX pour Linux (2/2) ;

– tm-lxtra : (REC) paquetages supplémentaires pour LaTeX.

– T9 :

– td-ps : (REC) polices de caractères PostScript.

– Tcl (7.5) Tk (4.1)

– TCL1 : – tcl : (ADD) (7.5) ;

– tk : (REC) (4.1).

– TCL2 : – tkdesk : (OP T) (1.0b4) gestionnaire de fichiers ;

– tclx : (REC) (7.5.0) extension de Tcl.

– X : X Window X11R6 - Serveur XFree86 3.3

– X1 :

– fvwm (OP T) (1.23b) : gestionnaire de fenêtres ; – fvwmicns : (OP T) icones xpm3icons.tar.Z. Utilisées par fvwm ;

– oldlibs5 : (OP T) vieilles bibliothèques XFree86 2.1.1 (X11R5) ;

– oldlibs6 : (OP T) bibliothèques au format a.out.

– X2 :

– x338514 : (REC) serveur X Window pour les cartes utilisant IBM8514 ;

– x33agx : (REC) serveur X Window pour les cartes utilisant IIT AGX-016, AGX-015, et AGX-

014.

– X3 :

– x33bin : (ADD) programmes X.

– X4 :

– x33cfg : (ADD) fichiers de configuration pour X, xdm et fvwm ;

– x33doc : (REC) documentation pour XFree 3.3 ;

– x33fcyr (OP T) polices de caractères cyrilliques ;

– x33srv (OP T) xfs : serveur de police de caractères ;

– x33html : (OP T) docmentation XFree86 3.3 au format HTML.

– X5 :

– x33f100 : (OP T) polices de caractères 100 dpi ;

– x33jdoc : (OP T) documentation en Japonais concernant XFree86 3.3.

– X6 :

– x33fnon1 : (OP T) polices de caractères divers ;

– xlock : (4.02.1) (ADD) programme de verrouillage du serveur X.

– X7 :

– x33fnon2 : (OP T) polices de caractères divers ;

– xpm : (3.4c) (ADD) bibliothèque de gestion de fichier images au format xpm.

– X8 :

– x33fnts : (ADD) polices de caractères minimales.

– X9 :

– x33fscl : (OP T) polices de caractères Speedo et Type.

– X10 : – x33i128 : (REC) serveur X Window pour les cartes utilisant Nine Imagine 128 ;

– x33prog : (REC) fichiers d’en-têtes et Imakefile.

– X11 : – x33lib : (ADD) bibliothèques dynamiques et fichiers de configuration pour XFree86 3.3.

– X12 : – x33ma32 : (REC) serveur X Window pour les cartes utilisant Mach32 ;

– x33ma8 : (REC) serveur X Window pour les cartes utilisant Mach8.

– X13 :

– x33ma64 : (REC) serveur X Window pour les cartes utilisant Mach64 ;

– x33ps : (REC) documentation XFree 3.3 au format PostScript.

– X14 :

– x33man : (REC) pages de manuel pour le serveur XFree86 3.3.

– X15 :

– x33mono : (REC) serveur X Window monochrome ;

– X33setup : (OP T) outil de configuration graphique pour X.

– X16 :

– x33nest : (OP T) serveur expérimental.

– X17 :

– x33p9k : (REC) serveur X Window pour les cartes utilisant P9000.

– X18 :

– X33prt : (OP T) serveur d’impression pour XFree3.3 (Xprt).

– X19 :

– x33s3 : (REC) serveur pour les cartes utilisant S3.

– X20 :

– X33s3v : (REC) serveur pour cartes S3 Virge.

– X21 :

– x33svga : (REC) serveur X pour cartes SuperVga.

– X22 :

– X33vfb : (OP T) serveur particulier...

– X23 :

– X33vg16 : (REC) serveur pour mode 16 couleur EGA/VGA ;

– x33w32 : (REC) serveur pour cartes ET4000/W32.

– XAP : Applications X Window

– XAP1 : – arena : (OP T) (béta-2b) arpenteur Web (browser) ;

– fvwm95 : (OP T) (2.0.41f) fvwm 2.0.41 modifié pour ressembler au gestionnaire de fenêtres de MS-Windows 95 ;

– gchess : (OP T) GNU chess (v. 4.00pl 77) + xboard (v.3.6.1) le fameux jeux d’échec.

– XAP2 :

– ghostview : (OP T) (1.5) Ghostview permet de visualiser les fichiers au format Postscript. A besoin du pack gs x12.

– gnuplot : (OP T) (3.5) programme pour tracer des courbes mathématiques ;

– gs x11 : (REC) permet de visualiser les fichiers Postscript sous X ; – seyon : (OP T) (2.14c) outils de télécommunication sous X ;

– x3270 : (OP T) (3.0.1.5) outil de communication avec un IBM 3278 ;

– xfileman : (OP T) (0.5) gestionnaire de fichiers ;

– xfm : (OP T) (1.3.2) gestionnaire graphique de fichiers ;

– xxgdb : (OP T) (1.12) débogueur en mode X.

– XAP3 :

– libgr : (REC) (2.0.12) bibliothèques de manipulation des fichiers GIF, TIFF, JPEG, .... Elles sont utilisées par XV et Interviews.

– xfract: (OP T) (3.02) logiciel de génération de fractales.

– XAP4 : – xgames : (OP T) quelques jeux ;

– xpaint : (OP T) (2.4.9) programme de dessin bitmap.

– xspread : (OP T) (2.1) un tableur rudimentaire.

– XAP5 :

– xv : (OP T) (3.10a) programme de visualisation de fichiers d’images + conversions + filtres

d’images, etc.

– XD : X Window dev. : linkkit + PeX

– XD1 :

– x33lkit1: (OP T) XFree86 3.3 Linkkit 1/3.

– XD2 :

– x33lkit2: (OP T) XFree86 3.3 Linkkit 2/3.

– XD3 :

– x33lkit3 : (OP T) XFree86 3.3 Linkkit 3/3.

– XD4 :

– x33stat : (OP T) bibliothèques statiques pour XFree86 3.3.

– XV : XView pour les adorateurs du Look OPEN LOOK

– XV1 :

– xv32 so : (ADD) bibliothèques dynamiques pour xview3.2p1-X11R6 ;

– xvol32 : (ADD) binaires pour XView 3.2p1.

– XV2 :

– xv32 a : (OP T) bibliothèques statiques xview3.2p1-X11R6 ;

– xvinc32 : (OP T) fichiers d’en-tête xview3.2p1-X11R6 ;

– xvmenus : (ADD) menus et fichiers de configuration pour OpenLook ;

– workman : (OP T) (1.2.2a) programme de manipulation de CD-ROM audios ;

– xv32exmp : (OP T) programmes de démonstrations.

– XV3 : – sspkg : Extention SlingShot (2.1). (OP T)

– Y : Jeux

– Y1 :

– bsdgames, koules, sastroid et tetris. (OP T)

– Y2 :

– lizards : (OP T) jeu

Ca y est, c’est fini !

5.3.3 Bogues de la Slackware

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 : <http://www.cuug.ab.ca:8001/ barkers/slackware-fixes/>.

Elle est mise à jour assez régulièrement, et je ne vais pas la détailler ici.

5.4 Red Hat : description

5.4.1 Disquette de boot

La Red Hat utilise un système très différent de la Slackware : elle met à profit les modules chargeables pour l’amorçage de la machine. 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 la machines depuis un Pc utilisant du PCMCIA, vous devez utiliser une disquette suppémentaire : images/supp.img. Attention : dans la première version du CD de la Red Hat 4.0, il y a des problèmes avec les cartes SCSI Adaptec 1520 et 1740. Dans ce cas, vous devez récupérer une version plus récente de l’image de boot.

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.

On pourra aussi essayer d’employer le programme ”autoboot”, placé dans le répertoire ”dosutils”, qui permet sur la plupart des machines d’installer sans même devoir créer une disquette de démarrage !

5.4.2 Distribution

La distribution Red Hat est composée d’un ensemble de paquetages (un peu plus de 460) 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 ils sont tels quels sur votre machine, et sont en gras. La manipulation directe des paquetages (archives rpm) est détaillée dans la prochaine section. Il est a noter qu’il existe bien souvent un répertoire du nom de upgrade 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.

– Applications

– Communications : – efax (0.8a r3) : programme d’envoi et de réception de FAX via des modems de classe 1 ou 2 ;

– ircii (2.8.2 r7) : client IRC (Internet Relay Chat) ;

– ircii-help (2.8.2 r7) : fichiers d’aide pour le paquetage ircii ;

– lrzsz (0.12.14 r1) : ensemble de commandes permettant de télécharger des fichiers en utilisant les protocoles Z, X et Y ;

– minicom (1.75 r2) : programme de communication ressemblant au programme Telix MsDos.

Emulation VT100 et ANSI.

– Databases – mb (5.0 r6) : base de données relationnelle (MetalBase). Système client serveur.

– Editors – ed (0.2 r5) : éditeur en ligne GNU ;

– jed (0.97.14 r4) : petit éditeur basé sur slang ;

– jed-xjed (0.97.14 r4) : version de jed pour X Window ;

– joe (2.8 r7) : petit éditeur de texte ;

– vim (4.5 r2) : éternel vi... un peu amélioré ;

– vim-X11 (4.5 r2) version X Window de vim.

– Editors/Emacs

– emacs (19.34 r4) : éditeur de texte ultra puissant, qui permet également de faire son courrier électronique, poster des niouses, faire du ftp, ...

– emacs-el (19.34 r4) : sources des fichiers lisp pour emacs ;

– emacs-nox (19.34 r4) : emacs, version mode texte ;

– emacs-X11 (19.34 r4) : emacs, version X Window ;

– Emulators – dosemu (0.66.2 r1) : émulteur de programmes MS-DOS ;

– xdosemu (0.66 r1) : version X Window de dosemu.

– Engineering – spice (2g6 r4) : programme de simulation de circuits électroniques ;

– units (1.0 r5) : outil de conversion d’unités.

– Graphics

– ghostscript (3.33 r5) : interpréteur PostScript et PDF pour X Window, et pour bon nombre d’imprimantes ;

– ghostscript-fonts (4.0 r2) : polices de caractères utilisées par ghostscript ;

– giftrans (1.11.1 r4) : conversion et manipulation de fichiers au format gif ;

– libgr-progs (2.0.9 r7) : bibliothèque de gestion des formats FBM, JPEG, PBM, PGM, PNM, PPM, REL, et TIF ;

– netpbm (1mar1994 r15) : outils de manipulation et de transformation d’images ;

– xfig (3.1.4 r8) : outil de création de graphiques vectoriels ;

– zgv (2.7 r5) : outil d’affichage d’images.

– Mail

– elm (2.4.25 r7) : gestionnaire de courrier électronique en mode texte très puissant. Gère en plus le format MIME.

– exmh (1.6.9 r2) : interface graphique au système de courrier électronique mh ;

– fetchmail (2.2 r2) : outil de récupération de courrier électronique distant en utilisant les protocoles POP ou IMAP ;

– mailx (5.5.kw r6) : programme d’envoie de courrier électronique de base utilisé par de nombreux scripts ;

– metamail (2.7 r7) : implémentation de MIME ;

– mh (6.8.3 r13) : système de gestion de courrier électronique (gérant POP) ;

– pine (3.95 r2) : client de courrier et de niouses.

– Math – bc (1.03 r6) : calculatrice en mode texte ;

– gnuplot (3.5 r6) : logiciel d’affichage de courbes.

– Networking – lynx (2.6 r2) : arpenteur WWW en mode texte ;

– ncftp (2.3.0 r5) : client ftp plus simple et plus puissant que ftp ;

– tcpdump (3.3 r1) : utilisé pour déboguer une liaison réseau, ainsi que pour sécuriser un sys-

tème.

– News – slrn (0.9.3.2 r1) : lecteur de news ;

– tin (1.22 r6) : lecteur de news ;

– trn (3.6 r9) : lecteur de news.

– Productivity – ical (2.0p2 r9) : calendrier et agenda graphique ;

– Publishing – groff (1.10 r8) : programme de formatage de texte. Utilisé par toutes les pages de manuel ; – groff-gxditview (1.10 r8) : programme permettant de consulter les documents groff sous X ;

– linuxdoc-sgml (1.5 r6) : 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.

– lout (3.08 r1) : langage de formatage de texte ;

– lout-doc (3.08 r1) : documentation concernant lout ;

– texinfo (3.9 r1) : outils de formatage des documents au format texinfo.

– Publishing/TeX – bm2font (3.0 r6) : convertit des bitmaps en fontes TeX ;

– tetex (0.4pl8 r5) : version tetex de TeX ;

– tetex-afm (0.4pl8 r5) : polices postscripts ;

– tetex-dvilj (0.4pl8 r5) : convertisseurs pour HP-GL ;

– tetex-dvips (0.4pl8 r5) : convertisseur dvi vers PostScript ;

– tetex-latex (0.4pl8 r5) : paquetage des macros LaTeX ;

– tetex-texmf-src (0.4pl8 r5) : sources des documents et des composants de TeX ;

– tetex-xdvi (0.4pl8 r5) : programme xdvi.

– Sound – aumix (1.6.1 r1) : mixeur en mode texte ;

– cdp (0.33 r6) : permet de jouer des CD audios en ligne de commande ou via une interface en mode texte ;

– maplay (1.2 r4) : joue des fichiers au format MPEG-2 sur la carte son ;

– playmidi (2.3 r7) : joue des fichiers Midi ;

– playmidi-X11 (2.3 r7) : interface X Window pour playmidi ;

– sox (11g r5) : programme de conversion de fichiers audio ;

– tracker (4.3 r4) : permet de jouer des fichiers au format Amiga (MOD).

– Base

– crontabs (1.5 r1) : fichier crontab de root ;

– dev (2.5.1 r1) : fichiers périphériques du répertoire /dev/ ;

– etcskel (1.3 r1) : fichiers qui vont dans /etc/skel et qui sont utilisés lors de la création d’un nouveau compte utilisateur ;

– filesystem (1.3 r1) : arborescence de base de la Red Hat ;

– initscripts (2.92 r1) : scripts d’amorçage de la machine ;

– inn (1.5.1 r6) : serveur de news ;

– mailcap (1.0 r3) : paquetage mailcap ;

– pam (0.57 r2) : outils pour les services d’identifications Pluggable Authentication Modules ;

– pamconfig (0.51 r2) : fichiers de configuration pour pam ;

– passwd (0.50 r7) : programme de changement de mots de passe, utilisant PAM ;

– pwdb (0.54 r3) : Password Database Library ; – redhat-release (4.2 r1) : fichier de version de la Red Hat ;

– rootfiles (1.5 r1) : fichiers d’initialisation pour le super-utilisateur ;

– setup (1.7 r2) : fichiers importants de configuration ;

– termcap (9.12.6 r5) : fichier /etc/termcap pour la gestion des terminaux ;

– Kernel

– iBCS (2.0 r6) : modules permettant l’exécution de programmes au format IBCS (Intel Binary Compatibility Standard) ;

– kernel (2.0.30 r2) : noyau Linux version 2.0.30 ;

– kernel-headers (2.0.30 r2) : fichiers d’en-tête des sources ;

– kernel-modules (2.0.30 r2) : modules chargeables ;

– kernel-source (2.0.30 r2) : sources du noyau ;

– umsdos progs (0.9 r2) : utilitaires pour utiliser UMS-Dos.

– Daemons – at (2.9b r2) : lanceur différé de programmes ;

– bdflush (1.5 r5) : vide les tampons du système ;

– gpm (1.10 r8) : gestionnaire de souris en mode texte ;

– pcmcia-cs (2.9.4 r2) : gestionnaires pour cartes pcmcia ;

– procmail (3.10 r10) : utilisé pour (par exemple) filtrer son courier électronique ;

– sendmail (8.8.5 r4) : programme d’envoie et de réception de courrier électronique ;

– sendmail-cf (8.8.5 r4) : fichiers de configuration pour sendmail ;

– sendmail-doc (8.8.5 r4) : documentation pour sendmail ;

– sysklogd (1.3 r15) : programme de log des messages systèmes ;

– SysVinit (2.64 r8) : programme de contrôle de l’amorçage de la machine, etc.

– uucp (1.06.1 r10) : système de communication entre machine permettant le transfert de courrier, de news ou de fichiers ;

– vixie-cron (3.0.1 r14) : ordonnanceur de programmes.

– Development

– Building

– autoconf (2.12 r1) : outil de configuration automatique de programmes en fonction de la plateforme ;

– automake (1.0 r1) : générateur expérimental de Makefiles ;

– make (3.75 r1) : gestionnaire de projets et de compilation ;

– pmake (1.0 r5) : version étendue de make.

– Debuggers – ElectricFence (2.0.5 r4) : bibliothèque d’aide au débogage d’applications ;

– gdb (4.16 r6) : débogueur ; – strace (3.1 r3) : affiche les appels systèmes utilisés par une application ;

– xxgdb (1.12 r1) : interface X Window à gdb.

– Languages – basic (1.20 r7) : interpréteur basic ;

– bin86 (0.4 r1) : assembleur et éditeur de liens ;

– ctags (1.5 r1) : version améliorée du générateur de motifs ;

– gcc (2.7.2.1 r2) : compilateur C ;

– gcc-c++ (2.7.2.1 r2) : compilateur C++ ;

– gcc-objc (2.7.2.1 r2) compilateur objective C ;

– guavac (0.2.6pl1 r1) : compilateur Java indépendant ;

– kaffe (0.8.3 r5) : machine virtuelle destinée à exécuter le code Java ;

– kaffe-bissawt (0.8.3 r5) : toolkit AWT Java pour X Window ;

– p2c-devel (1.20 r7) : convertisseur Pascal vers C ;

– python (1.4 r4) interpréteur du langage orienté objet python ;

– python-devel (1.4 r4) : fichiers d’en-tête et bibliothèques d’extensions Python ;

– python-docs (1.4 r4) : documentation sur Python ;

– umb-scheme (3.2 r2) : interpréteur scheme ;

– xlispstat (3.44 r6) : implémentation du langage lisp pour X Window.

– Languages/fortran – f2c (19960205 r8) : convertisseur Fortran vers C.

– Languages/Fortran – fort77 (1.14a r1) : périphérique utilisé par f2c.

– Languages/Tcl – blt (1.9 r5) : extention pour Tcl/Tk ;

– blt-devel (1.9 r5) : environnement de développement pour BLT ;

– expect (5.22 r3) : outil de gestion des connexions telnet, ftp, ... ;

– tcl (7.6pl2 r3) : langage inteprété TCL ;

– tclx (7.6.0rel r3) : extention du langage TCL ;

– tix (4.1.0rel r3) : extention pour Tk ;

– tk (4.2pl2 r3) : ensemble de widgets conçus pour fonctionner avec Tcl.

– Libraries – cracklib (2.5 r1) : vérifie les mots de passes ;

– e2fsprogs-devel (1.10 r0) : bibliothèque et fichiers d’en-tête pour les programmes de gestion du système de fichiers ext2fs ;

– gpm-devel (1.10 r8) : environnement de développement permettant de développer des applications utilisant gpm ;

– inn-devel (1.5.1 r6) : bibliothèque nécessaire pour certains programme s’interfaçant avec inn ;

– libg++-devel (2.7.1.4 r4) : implémentation GNU des bibliothèques C++ ; – libgr-devel (2.0.9 r7) : utile pour développer des applications utilisant la bibliothèque libgr ;

– linuxthreads-devel (0.5 r1) : fichiers d’en-tête et bibliothèques de manipulation de processus légers ;

– ncurses-devel (1.9.9e r4) : fichiers d’en-tête et bibliothèques nécessaires pour développer avec

  ncurses ;

– pythonlib (1.17 r1) : code utilisé par certains programmes Red Hat ;

– rpm-devel (2.3.11 r1) : fichiers d’en-tête et bibliothèques nécessaires pour manipuler les fichiers

  rpm ;

– slang-devel (0.99.37 r2) : bibliothèques et fichiers d’en-tête pour travailler avec le langage slang ;

– typhoon (1.10.3 r4) : système de gestion de bases de données relationnelles ;

– xpm-devel (3.4i r1) : bibliothèques et fichiers d’en-tête pour manipuler les fichiers xpm ;

– xview-devel (3.2p1.pl2 r4) : utilisé pour développer des application utilisant xview ;

– xview-devel-examples (3.2p1.pl2 r3) : exemples de programmes xview ;

– zlib-devel (1.0.4 r1) : bibliothèque de dcompression à la volée.

– Libraries/Libc – libc-debug (5.3.12 r18) : bibliothèque C compilée pour être utilisée lors de débogages ;

– libc-devel (5.3.12 r18) : utilisé lors de développement de programmes qui utilisent la bibliothèque C ;

– libc-profile (5.3.12 r18) : utilisé lorsque les programmes utilisent gproff ;

– libc-static (5.3.12 r18) : version statique de la bibliothèque C.

– Tools – binutils (2.7.0.2 r4) : ensemble de programmes nécessaires à la compilation ;

– bison (1.25 r1) : analyseur grammatical GNU ;

– byacc (1.9 r4) : analyseur grammatical ;

– cdecl (2.5 r3) : programme permettant de convertir de l’anglais en déclarations de fonctions et vice versa ;

– cproto (4.4 r4) : génération de prototypes de fonctions ;

– flex (2.5.4 r1) : analyseur lexical ;

– gencat (022591 r4) : programme de catalogues de messages ;

– gettext (0.10 r5) : outils et bibliothèques de manipulation de messages ;

– indent (1.9.1 r5) : programme d’indentation de sources C ;

– xwpe (1.4.2 r10) : environnement de développement.

– Version Control – cvs (1.9 r1) : gestionnaire de versions ;

– rcs (5.7 r4) gestionnaire de versions.

– Documentation

– faq (4.0 r1) : ensemble de Frequently Asked Questions concernant Linux ; – howto (4.2 r1) : howto sur Linux, version texte ;

– howto-dvi (4.2 r1) : howto sur Linux, version dvi ;

– howto-html (4.2 r1) : howto sur Linux, version html ;

– howto-ps (4.2 r1) : howto sur Linux, version PostScript ;

– howto-sgml (4.2 r1) : howto sur Linux, version sgml (format original) ;

– howto-translations (4.2 r2) : versions traduites des howto ;

– indexhtml (4.2 r1) : page d’index Red Hat ;

– ldp (4.2 r1) : contenu du Linux Documentation Project au format html ;

– man-pages (1.15 r1) : pages de manuel (sections 1 à 8).

– Extensions

– Japanese

– kterm (6.1.0 r6) : il s’agit du Kanji Terminal Emulator.

– Games – bsd-games (1.3 r6) : ensemble de jeux en mode texte ;

– christminster (3 r2) : jeu d’aventure en mode texte ;

– colour-yahtzee (1.0 r3) : version texte du jeu yahtzee ;

– doom (1.8 r7) : vous ne connaissez pas ;-)?

– fortune-mod (1.0 r3) : programme de génération aléatoire de messages, qui se met généralement au login ;

– gnuchess (4.0.pl77 r1) : jeu d’échec GNU, mode texte ou X Window ;

– koules (1.2 r2) : jeu d’arcade utilisant SvgaLib ;

– koules-sound (1.2 r2) : sons du jeu koules ;

– mysterious (1.0 r2) : jeu d’aventure en mode texte ;

– pinfocom (3.0 r3) : interpréteur pour les jeux Infocom ;

– scottfree (1.14 r2) : interpréteur pour les jeux Scott-Adams ;

– trojka (1.1 r7) : jeu de blocs ;

– vga cardgames (1.3.1 r6) : jeux de cartes divers ;

– vga gamespack (1.3 r5) : jeux divers ;

– vga tetris (0.4 r3) : tétris ;

– xkoules (1.2 r2) : interface X Window à koules.

– Libraries – aout-libs (1.4 r7) : vieilles bibliothèques ;

– db (1.85 r10) : routines pour créer des bases de données très simples. Utilisé par Python, Perl, ...

– db-devel (1.85 r10) : bibliothèques et fichiers d’en-tête pour manipuler des fichiers au format db ; – f2c-libs (19960205 r8) : bibliothèques partagées pour f2c ;

– faces-devel (1.6.1 r7) : environnement de développement de xface ;

– gdbm (1.7.3 r8) : bibliothèque de base de données ;

– gdbm-devel (1.7.3 r8) : bibliothèques et fichiuers d’en-tête pour gdbm ;

– jdk (1.0.2.2 r3) : portage Linux du JDK Java Sun ;

– ld.so (1.7.14 r4) : chargeur dynamique ;

– libc (5.3.12 r18) : bibliothèques standards C ;

– libelf (0.5.2 r5) : permet d’accéder au format ELF des exécutables ;

– libg++ (2.7.1.4 r5) : implémentation GNU des bibliothèques standards C++ ;

– libgr (2.0.9 r7) : bibliothèque de gestion des formats FBM, JPEG, PBM, PGM, PNM, PPM, REL, et TIFF ;

– libpng (0.89c r1) : bibliothèque de gestion du format PNG ;

– libpng-devel (0.89c r1) : fichiers d’en-tête et bibliothèques statiques pour utiliser la bibliothèque

  png ;

– libtermcap (2.0.8 r4) : bibliothèque pour accéder à la base de données des terminaux ;

– libtermcap-devel (2.0.8 r4) : bibliothèques de développement ;

– linuxthreads (0.5 r1) : bibliothèques de gestion des processus légers ;

– ncurses (1.9.9e r4) : bibliothèque d’affichage en mode texte ;

– newt (0.8 r1) : toolkit en mode texte de fenêtrage ;

– newt-devel (0.8 r1) : fichiers d’en-tête et bibliothèques ;

– p2c (1.20 r7) : convertisseur Pascal vers C ;

– readline (2.0 r10) : biblothèque de lecteure de ligne ;

– readline-devel (2.0 r10) : environnement de développement pour readline ;

– slang (0.99.37 r2) : interpréteur de langage ;

– svgalib (1.2.10 r2) : bibliothèque graphique en mode SVGA ;

– svgalib-devel (1.2.10 r2) : bibliothèques et fichiers d’en-tête pour développer des applications utilisant la bibliothèque svgalib ;

– zlib (1.0.4 r1) : bibliothèque de compression et de décompression à la volée.

– Networking – NetKit-B (0.09 r6) : fournis des clients et des serveurs pour les services standards Unix ;

– pidentd (2.5.1 r5) : serveur d’identification ;

– samba (1.9.16p11 r3rh) serveur SMB ;

– ytalk (3.0.3 r1) : extension de talk ;

– Admin :

– anonftp (2.3 r3) : contient les fichiers nécessaires à l’installation d’un serveur ftp anonyme ; – net-tools (1.32.alpha r2) : outils de base nécessaire pour la configuration du réseau ;

– nfs-server-clients (2.2beta16 r7) : clients NFS ;

– tcp wrappers (7.5 r1) : outil d’observation et de contrôle de connexions externes ;

– Daemons – amd (920824upl102 r8) : démon automonteur (Berkeley) ;

– apache (1.1.3 r3) : serveur Web ;

– bind (4.9.5pl1 r2) : serveur de nom (DNS) ;

– bootp (2.4.3 r2) : serveur de requêtes bootp et DHCP ;

– cmu-snmp (3.3 r2) : dérivé du Simple Network Management Protocol ;

– gn (2.24 r2) : serveur gopher ;

– imap (4.1.BETA r5) : serveur protocoles POP et IMAP ;

– intimed (1.10 r3) : serveur de temps ;

– mars nwe (0.98pl8 r1) : serveur de fichier et d’impression compatible NetWare ;

– nfs-server (2.2beta16 r7) : serveur NFS ;

– portmap (4.0 r3) : gestion des connexions RPC ;

– ppp (2.2.0f r3) : démon PPP ;

– wu-ftpd (2.4.2b12 r6) : démon ftp ;

– yppasswd (0.9 r1) : implémentation de passwd pour les pages jaunes (NIS) ;

– ypserv (1.1.7 r1) : serveur NIS (ou pages jaunes) ;

– News – inews (1.5.1 r6) : utilisé par certains lecteurs de news pour poster ;

– Utilities – bind-utils (4.9.5pl1 r2) : utilitaires d’accès aux services de nom ;

– bootpc (061 r2) : client bootp pour Linux ;

– cmu-snmp-devel (3.3 r2) : bibliothèque et fichiers d’en-tête pour CMU SNMP ;

– cmu-snmp-utils (3.3 r2) : utilitaires pour CMU SNMP ;

– dip (3.3.7o r9) : programme d’automatisation des connexions SLIP et PPP ;

– fwhois (1.00 r5) : programme whois ;

– ipxutils (1.0 r1) : programmes pour protocole IPX ;

– mgetty-sendfax (1.1.5 r1) : gestion des modem FAX classe 2 ainsi que des files d’attente d’envoie et de réception de faxs ;

– mgetty-voice (1.1.5 r1) : gestion de certains modems ayant une extension vocale ;

– ncpfs (2.0.5 r4) : programmes pour configurer et utiliser le système de fichiers ncpfs ;

– rdate (0.960923 r1) : programme de mise à jour de l’horloge de la machine par rapport à des machines distantes ;

– rdist (1.0 r5) : programme de recopie de fichiers entre machines ;

– statnet (2.00 r4) : indicateur de traffic réseau ;

– traceroute (1.0.4.4bsd r2) : trace la route empruntée par des paquets ;

– yp-clients (2.2 r7) : clients NIS.

– Shells

– ash (0.2 r8) : interpréteur de commandes clone de celui de Berkeley ;

– bash (1.14.7 r1) : interpréteur de commandes conforme à IEEE 1003.2 ;

– csh (5.2.6 r5) : C-Shell Berley ;

– mc (3.2.11 r2) : Midnight Commanders ;

– pdksh (5.2.12 r1) : reimplémentation de ksh ;

– tcsh (6.06 r10) : extension de csh ;

– zsh (3.0.2 r1) : interpréteur de commandes.

– Utilities

– rgrep (0.97.14 r4) : grep récursif ;

– Archiving – cpio (2.4.2 r4) : utilitaires d’archivage de fichiers ;

– dhcpcd (0.6 r2) : implémentation d’un client DHCP - voir RFC1541 ;

– gzip (1.2.4 r7) : programmes de compression de fichiers ;

– lha (1.00 r4) : programme d’archivage et de compression de fichiers ;

– ncompress (4.2.4 r7) : outil de compression compatible avec le compress original ;

– tar (1.11.8 r11) : programme d’archivage de données ;

– unarj (2.41a r3) : programme inverse de arj ;

– unzip (5.12 r5) : décompression de fichiers zip ;

– zip (2.1 r1) : compression de fichiers au format zip.

– Console – open (1.3 r5) : lance une commande sur une console virtuelle ;

– vlock (1.0 r5) : verrouille le terminal courant, ou le système entier de consoles.

– File – file (3.22 r5) : programme d’identification de fichiers ;

– fileutils (3.16 r1) : programmes de gestion de fichiers ;

– findutils (4.1 r11) : programme de recherche de fichiers sur la machine ;

– git (4.3.16 r1) : gestionnaire de fichiers en ASCII ;

– macutils (2.0b3 r4) : ensemble d’outils pour manipuler les fichiers provenant d’un Mac ;

– mtools (3.6 r2) : ensemble d’outils pour manipuler des systèmes de fichiers Ms-Dos ;

– sharutils (4.2 r5) : utilitaires utilisés pour encoder des fichiers ;

– smbfs (0.8 r1) : outils pour monter des systèmes de fichiers à partir de serveurs SMB ;

– stat (1.5 r5) : affiche des informations sur le système de fichiers ;

– symlinks (1.0 r5) : recherche d’éventuels problèmes avec les liens symboliques sur le système de fichiers ;

– tree (1.0 r3) : portage Unix du programme Ms-Dos du même nom ;

– which (1.0 r5) : indique si un programme se trouve dans votre PATH.

– Printing – mpage (2.4 r1): transforme plusieurs pages ASCII en un seul fichier PostScript.

– System – adduser (1.7 r1) : permet de rajouter un utilisateur à votre système ;

– adjtimex (1.2 r4) : système de gestion de l’horloge ;

– caching-nameserver (1.1 r1) : fichier de configuration pour le serveur DNS (bind) le transformant en serveur de cache ;

– control-panel (2.6 r1) : gestionnaire de configuration Red Hat ;

– cracklib-dicts (2.5 r1) : dictionnaires pour le programme crack ;

– dump (0.3 r8) : outils de sauvegardes pour systèmes de fichiers ext2 ;

– e2fsprogs (1.10 r0) : ensemble de programmes pour créer et maintenir les systèmes de fichiers ext2 ;

– eject (1.4 r3) : programmes permettant d’éjecter les CD-ROM et les disquettes ;

– ext2ed (0.1 r8) : permet de manipuler le système de fichiers ext2. Uniquement pour les hackers ;

– fstool (2.5 r1) : programme X de manipulation du fichier /etc/fstab ;

– gcal (1.00 r1) : programme de calculatrice étendu ;

– getty ps (2.0.7h r4) : permettent d’accepter des login à partir de la console, terminaux ou modems ;

– glint (2.1.5 r1) : interface graphique aux fichiers rpm ;

– hdparm (3.1 r2) : utilitaire de configuration des disques dur ;

– helptool (2.3 r1) : interface graphique de recherche ;

– info (3.9 r1) : arpenteur pour fichiers info ;

– ipfwadm (2.3.0 r2) : outils d’administration pour firewall ;

– kbd (0.91 r9) : utilitaires pour modifier la police de caractères de la console, ainsi que le type de clavier utilisé ;

– kbdconfig (1.4 r1) : reconfigure la machine pour un nouveau type de clavier ;

– kernelcfg (0.3 r3) : interface graphique d’administration de la machine ;

– lilo (0.19 r1) : lanceur de Linux autorisant le multi-boot ;

– losetup (2.5l r2) : programme de configuration de loopback device ;

– lpr (0.18 r1) : outils d’impression ;

– MAKEDEV (2.2 r9) : fichiers /dev/ ;

– man (1.4h r5) : pages de manuels ;

– mingetty (0.9.4 r3) : getty réduit uniquement pour la console virtuelle ;

– mkdosfs-ygg (0.3b r4) : permet de créer des systèmes de fichiers Ms-Dos ;

– mkinitrd (1.6 r1) : permet de créer un module chargeable pour le boot des machines ayant une carte SCSI ;

– mkisofs (1.10rel r1) : paquetage utilisé pour créer des systèmes de fichiers iso9660 ;

– modemtool (1.1 r2) : outil de configuration graphique du modem ; – modules (2.0.0 r5) : programme de chargement et de déchargement des modules chargeables ;

– mount (2.5l r2) : programme de montage des systèmes de fichiers ;

– mouseconfig (1.4 r1) : système de configuration en mode texte des souris ;

– mt-st (0.4 r2) : programme de manipulation des périphériques de sauvegardes ;

– netcfg (2.16 r1) : interface graphique d’administration réseau ;

– printtool (3.2 r1) : fournis une interface graphique pour configurer la file d’impression ;

– procinfo (0.9 r1) : paquetage permettant d’exploiter le contenu de /proc ;

– procps (1.01 r11) : paquetage d’outils permettant de connaître l’état de la machine ;

– psacct (6.2 r1) : système d’accounting de processus ;

– psmisc (11 r4) : affichage d’arborescence de processus ;

– quota (1.55 r4) : outils de gestion des quotas ;

– rhmask (1.0 r1) : outil de diffusion de fichiers ;

– rhs-printfilters (1.41 r1) : filtres d’impression Red Hat ;

– rmt (0.3 r8) : outil d’accès distant aux périphériques de sauvegardes ;

– rpm (2.3.11 r1) : programme pour gérer les paquetages du même nom ;

– setconsole (1.0 r1) : outil de configuration des consoles ;

– sh-utils (1.16 r4) : shell ;

– shadow-utils (960530 r6) : programmes d’utilisation des mots de passe shadow ;

– sliplogin (2.1.0 r6) : outils pour SLIP ;

– statserial (1.1 r7) : affiche la table des communications séries ;

– swatch (2.1 r4) : outil d’observation des fichiers de log ;

– taper (6.7.4 r2) : programme de sauvegarde ;

– time (1.7 r1) : programme affichant des statistiques sur les exécution des programmes ;

– timeconfig (1.8 r1) : outis de configuration de l’heure ;

– timetool (2.3 r1) : interface graphique pour timeconfig ;

– tksysv (0.91 r1) : outils graphiques pour manipuler les niveaux d’initalisation de la machine ;

– tmpwatch (1.2 r1) : permet de nettoyer certains répertoires ;

– tunelp (1.3 r5) : configuration de l’imprimante ;

– usercfg (3.4 r1) : outil graphique de gestion des utilisateurs ;

– util-linux (2.5 r38) : ensemble d’outils nécessaires à Linux pour son administration ;

– zoneinfo (96i r4) : outils et fichiers de configuration pour le fuseau horaire ainsi que pour les

changement d’heures.

– Terminal – dialog (0.6 r7) : permet de construire des interfaces en mode texte ;

– screen (3.7.2 r1) : permet d’avoir plusieurs fenêtre virtuelle sur le même terminal.

– Text – diffstat (1.25 r1) : statistiques sur la comparaison de fichiers ;

– diffutils (2.7 r5) : outil de comparaison de fichiers ;

– faces (1.6.1 r7) : transformation d’images en fichiers textes ; – faces-xface (1.6.1 r7) : outils pour gérer les en-têtes de courrier X-Faces ;

– gawk (3.0.2 r1) : version GNU du programme awk ;

– grep (2.0 r5) : programme de recherche de chaînes dans des fichiers ;

– ispell (3.1.20 r4) : vérificateur d’orthographe ;

– less (321 r3) : version GNU de more ;

– locale (5.3.12 r18) : outils nécessaires à la gestion du multi-linguisme ;

– m4 (1.4 r6) : expandeur de macro-commandes ;

– mawk (1.2.2 r5) : version de awk ;

– nenscript (1.13++ r8) : filtre d’impression ;

– patch (2.1 r4) : permet de faire l’opération inverse de diff ;

– perl (5.003 r8) : langage interprété ;

– sed (2.05 r6) : programme de transformation de fichiers à la volée ;

– textutils (1.22 r1) : outils de gestion de fichiers textes ;

– words (2 r3) : dictionnaire anglais.

– X11

– xinitrc (1.2 r1) : script d’initialisation du serveur X ;

– Amusements – multimedia (2.1 r5) : programmes pour jouer des CD audios ;

– xbanner (1.3 r2) : programme d’affichage de texte, de motifs et d’images sur le fond de l’écran ;

– xearth (1.0 r5) : affichage d’un globe 3D en fond d’écran ;

– xfishtank (2.0 r6) : un aquarium en fond d’écran ;

– xsnow (1.40 r2) : chutes de neige en fond d’écran.

– Applications – seyon (2.14c r7) : paquetage de télécommunication ;

– xfm (1.3.2 r5) : gestionnaire de fichiers ;

– xrn (8.02 r3) : lecteur de forum Usenet ;

– xterm-color (1.1 r3) : xterm en couleur ;

– Applications/Development – xwpe-X11 (1.4.2 r10) : ensemble de programmes d’édition de texte.

– Applications/Graphics – ghostview (1.5 r6) : outil de visualisation de fichiers PostScript ;

– gv (3.1.6 r2) : outil de navigation dans un document PDF ou PostScript ;

– ImageMagick (3.8.3 r1) : 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 r5) : générateur de fractales de Mandelbrot ;

– transfig (3.1.2 rd) : outil de conversion d’images ;

– xanim (27064 r1) : programme d’animation graphique, donc QuickTime et FLiC ; – xloadimage (4.1 r6) : visualisateur d’images ;

– xmorph (1996.07.12 r2) : programme de morphing ;

– xmplay (1.0 r7) : permet de visualiser les animations MPEG ;

– xpaint (2.4.7 r1) : logiciel de dessin bitmap ;

– xv (3.10a r6) : permet de visualiser bon nombre de formats d’image.

– Applications/Networking – arena (0.98.beta3 r3) : arpenteur Wev HTML 3 ;

– x3270 (3.1.0.7 r4) : émulateur de terminaux IBM 3270 ;

– xgopher (1.3.3 r2) : outil graphique pour utiliser le service gopher.

– Games – acm (4.7 r5) : simulateur de vol ;

– xzip (140 r4) : transforme les applications text en applications X.

– Games/Strategy – spider (1.0 r4) : solitaire ;

– xboard (3.2.pl0 r6) : interface graphique à Gnu Chess ;

– xdemineur (1.1 r5) : démineur ;

– xgammon (0.98 r7) : backgammon ;

– xpat2 (1.04 r3) : autre solitaire ;

– xpilot (3.6.1 r1) : jeu réseau de combat... enfin bref, essayez ;-) !

– xpuzzles (5.3.1 r2) : assortiment de puzzles.

– Games/Video – cxhextris (1.0 r5) : version couleur TeTris ;

– flying (6.20 r3) : ensemble de petits jeux ;

– paradise (2.3p19 r5) : jeu d’arcade ;

– xbill (1.1 r4) : où comment empécher Bill Gates de conquérir le monde... ;

– xbl (1.0f r5) : Tetris 3D ;

– xboing (2.3 r4) : une version de Breakout ;

– xchomp (1.0 r6) : jeu d’arcade ;

– xevil (1.5 r3) : jeu d’aventure ;

– xgalaga (1.6c r3) : clone de Galaga... un jeu d’arcade ;

– xjewel (1.6 r5) : divers ;

– xlander (1.2 r5) : le but est de poser une fusée ;

– xtetris (2.6 r5) : Tetris ;

– xtrojka (1.2.2 r2) : genre xjewel et tetris.

– Libraries

– ImageMagick-devel (3.8.3 r1) : bibliothèques et fichiers d’en-tête pour créer des applications utilisant le code d’ImageMagick ;

– nls (1.0 r2) : utilisé par certains vieux binaires X11R5 comme Netscape ; – Xaw3d (1.3 r6) : bibliothèque Xaw semblant être en 3 dimensions ;

– Xaw3d-devel (1.3 r6) : bibliothèques statiques et fichiers d’en-tête ;

– xpm (3.4i r1) : bibliothèque de manipulation de fichiers Xpm ;

– xview (3.2p1.pl2 r4) : ensemble d’outil pour avoir le look OpenLook.

– Utilities – mkxauth (1.7 r4) : programme de création de fichiers .Xauthority ;

– moonclock (1.0 r6) : affiche l’heure, ainsi que l’état de la lune ;

– procps-X11 (1.01 r11) : outils de visualisation de l’état de la machine ;

– rxvt (2.20 r2) : émulateur VT100 ;

– Xconfigurator (2.6 r5) : outil de configuration X de Red Hat ;

– xdaliclock (2.07 r2) : horloge numérique ;

– xlockmore (3.13 r4) : version améliorée de xlock ;

– xmailbox (2.4 r4) : programme indiquant que du courrier vient d’arriver ;

– xosview (1.4.1 r3) : statistique de fonctionnement de la machine et de trafic réseau ;

– xscreensaver (1.26 r5) : économiseur d’écran ;

– xsysinfo (1.5 r1) : programme de statistiques sur la machine ;

– xtoolwait (0.3 r3) : divers ;

– xwpick (2.20 r5) : fait une copie fichier d’une fenêtre.

– Window Managers – fvwm (1.24r r11) : gestionnaire de fenêtres ;

– fvwm95 (2.0.42a r6) : gestionnaire de fenêtre simulant l’environnement MS-Windows 95 ;

– fvwm95-icons (2.0.42a r6) : icones pour fvwm ;

– TheNextLevel (1.1 r3) : ensemble de bureaux pour fvwm ;

– xview-clients (3.2p1.pl2 r4) : clients et outils pour OpenWindows.

– XFree86 – X11R6-contrib (3.2 r1) : ensemble de programes pour X ;

– XFree86-100dpi-fonts (3.2 r9) : polices de caractères pour X ;

– XFree86 (3.2 r9) : bibliothèques X ;

– XFree86-75dpi-fonts (3.2 r9) : polices de caractères pour X ;

– XFree86-devel (3.2 r9) : fichiers d’en-tête et bibliothèques statiques pour X ;

– XFree86-XF86Setup (3.2 r9) : outil de configuration du serveur X.

– XFree86/Servers – XFree86-8514 (3.2 r9) : serveur X pour cartes ATI ;

– XFree86-AGX (3.2 r9) : serveur X pour cartes AGX ;

– XFree86-I128 (3.2 r9) : serveur X pour cartes Imagine 128 ;

– XFree86-Mach32 (3.2 r9) : serveur X pour cartes Mach32 ;

– XFree86-Mach64 (3.2 r9) : serveur X pour cartes Mach64 ;

– XFree86-Mach8 (3.2 r9) : serveur X pour cartes Mach8 ; – XFree86-Mono (3.2 r9) : serveur X pour cartes monochromes ;

– XFree86-P9000 (3.2 r9) : serveur X pour cartes P9000 ;

– XFree86-S3 (3.2 r9) : serveur X pour cartes S3 ;

– XFree86-S3V (3.2 r9) : serveur X pour cartes S3 Virge ;

– XFree86-SVGA (3.2 r9) : serveur X pour cartes Super VGA ;

– XFree86-VGA16 (3.2 r9) : serveur X pour cartes VGA 16 couleurs ;

– XFree86-W32 (3.2 r9) : serveur X pour cartes W32.

C’est terminé ! Cette description détaille la version originale de la Red Hat 4.2 (dite Biltmore). Il existe aujourd’hui un certain nombre de paquetages (dans le répertoire upgrade) permettant de mettre à jour correctement la machine avec une facilité déconcertante. Vous y trouverez entre autres XFree 3.3.

5.4.3 Utilisation du programme rpm

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 :

– interrogation (-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 renseignement 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.

– installation (-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

– destruction.

Installer c’est bien... mais comment supprimer un paquetage devenu inutile? C’est tout simple :

gandalf# rpm -e howto-sgml-4.0-1

– mise à jour.

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. Grâce au système rpm, cela est effectué tout seul :

gandalf# rpm -U howto-sgml-4.0-2.i386.rpm

Il existe bon nombre d’autres options. Consulter la documentation pour plus de renseignements.

6 Installation

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 Linux ! En effet, Linux comme tout système Unix, utilise des caches disques en mémoire vive : vous perdriez des informations en éteignant brutalement la machine. La seule manière propre d’éteindre Linux est soit de faire un Ctrl-Alt-Del, soit l’une de ces trois commandes à lancer en tant que root : halt, reboot, shutdown (Consultez le manuel pour connaître les différences).

6.1 Installation initiale

Allumer la machine. Linux boote sur la disquette boot. Dans le cas de la Slackware, il va demander d’insérer une seconde disquette, dite root. 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éer 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. Linux 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.

6.2 Partitionnement du disque

Il va falloir dans un premier temps effectuer le formatage du disque. Vous allez créer au moins une partition Linux avec le système de fichiers ext2fs, 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 Linux sont des devices. 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.

Linux 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 soyez obligé 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 Linux 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 : quitter sans sauvegarder les changements ;

– w : sauvegarder et quitter.

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 : Linux

– 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.

6.3 Installation avec la Slackware

Maintenant, lancez le programme setup. 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 Normal. 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. Linux 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 Linux 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 Linux dans le lecteur et appuyez sur les touches Ctrl-Alt-Del.

Une fois rebootée, loggez vous en root. Vous devez faire très attention maintenant. L’utilisateur root a tous les droits, dont celui de tout détruire, et cela arrive très fréquemment.

6.4 Installation avec la Red Hat

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”.

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.

7 Administration sous Linux

7.1 Clavier Français

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 root, tapez la commande suivante :

/usr/bin/loadkeys /usr/lib/kbd/keytables/fr-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. Pour la Red Hat, réaliser l’opération avec le panneau de configuration ”kbdconfig”.

7.2 LILO

LILO (LInux LOader) 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é LILO 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 LILO par la même occasion. Il suffira de relancer LILO 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'ecran a choisir
ramdisk = 0         # paranoia setting
# Linux : derniere version : le Pc boote ici par defaut
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 a 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 Linux, 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 Ctrl-Alt-Del ou utilisez les commandes halt, reboot et shudown). Cette vérification n’est de toute manière lancée que sur les partitions Linux. 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 : Linux 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 pas oublier de relancer LILO après chaque modification de son fichier de configuration.

7.3 Montage automatique de partitions : /etc/fstab

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 descriptions 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 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 (utiliser mount /mnt/cd, umount /mnt/cd) La page de man de mount, section 8 (man 8 mount) explique la signification des options possibles.

7.4 Montage manuel de partitions

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 Linux ;

– 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 filesystems 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, taper umount /mnt.

7.5 Mise en place des quota

7.5.1 Logiciels nécessaires

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 :

ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/subsystems/quota

ou, plus près, sur :

ftp://ftp.lip6.fr/pub/linux/kernel/sources/subsystems/quota

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.

7.5.2 Compilation des utilitaires

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.

7.5.3 Activation du support des quota dans le noyau

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.

7.5.4 Activation des quota sur les systèmes de fichiers

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   dzfaults,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

7.5.5 Attribution d’un quota à un utilisateur

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).

7.5.6 Statistiques sur les quota

Tout utilisateur peut obtenir l’état des quota qui lui sont attribués (limites ainsi que 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.

7.5.7 Autres documentations sur les quota

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.

7.6 mtools

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).

7.7 Swap : création de la partition

Pour rajouter une partition de swap de 8 Mo, il faut d’abord créer la partition à l’aide du programme fdisk, puis soit vous passez par le programme setup, soit vous le faites à la main : 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.

7.8 Swap : fichier

Pour le fichier, c’est plus compliqué. Faîtes un

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.

Fais 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 Linux de faire un

swapoff -a
reboot           #Ou autre

En effet, si vous ne désactivez pas le fichier d’échange, Linux 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.

7.9 Ajouter un utilisateur, un groupe

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 ;

6. Home directory ;

7. Shell à utiliser.

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 toto, faire

1. vous l’ajoutez dans /etc/passwd ;

2. si besoin est, créer le groupe dans lequel il va se trouver, en modifiant /etc/group ;

3. créer son home directory :

             mkdir /home/toto
             cp /etc/skel/* /home/toto
             chown toto /home/toto
             chgrp le_groupe_de_toto /home/toto

4. Enfin, lui donner 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.

7.10 Lancements de programmes personnels lors du boot : /etc/rc.d/rc.local

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..."
/bin/rm -fr /tmp
mkdir /tmp
chmod 1777 /tmp
# NOTE : ceci peut s'averer nefaste car certains programmes lances par
# les fichiers rc executes avant rc.local peuvent employer des fichiers de
# /tmp ...
# 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

En plus du clavier, je fais un petit nettoyage de /tmp. Ca peut toujours être utile (mais poser des problèmes dans certains cas).

7.11 Ordonnancement de travaux : la crontab

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.

7.12 Imprimer !

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 doit être lancé au boot. Il est lancé soit dans rc.M soit dans rc.inetd2. Normalement, lpd est lancé au boot. (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.fr
#
# 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 menage ;
# 12/08/96  (ED) : modification pour gs
# 04/12/96  (ED) : quelques corrections et rajouts.
TmpDir=/tmp
TmpFile=$TmpDir/deskjet.$$
# Utilisateur a 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'acces pour GS
GS_LIB=/usr/lib/ghostscript:/usr/lib/ghostscript/psfonts:\
        /usr/lib/ghostscript/Type1:/usr/lib/ghostscript/fonts
# C'est partit
$CAT - > $TmpFile
echo -ne '\033E'
set -- `file $TmpFile`

shift
FileType=$*
# Transformation du PostScript en format Deskjet500
# resolution a 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.

7.13 Timezone

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 correctement 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 Linux. Dans ce cas, ajouter dans /etc/rc.d/rc.local, la commande clock -u -s. Linux 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é).

7.14 Nouveaux changements d’heure

Il s’avère que cette année, la date de changement d’heure a été décalée. Pour que Linux 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 time zone compiler.

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

7.15 locate

Lorsque vous installez le package GNU find , en plus du programme de recherche se trouve un programme locate. Ce programme permet de retrouver le nom complet d’un fichier. Ce programme se trouve dans certaines distributions dans /usr/lib/locate.

Lancer, en tant que root, /usr/lib/locate/updatedb. Cela invoque un find / sur les disques montés et place les noms de tous les fichiers (sous forme hash) dans /usr/lib/locate/find.codes. locate permet 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 crontab 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 ”HOMES” 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.

7.16 CD-ROM ATAPI

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 : Linux 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 raper : 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 controlalt-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

7.17 Mettre une console externe comme console

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"

7.18 Deux cartes réseaux

Certaines machines possèdent deux (ou plus) cartes Ethernet. Pour qu’elles soient toutes les deux reconnues, il est nécessaire dans la configuration de Lilo :

append="ether=0,0,eth1"

7.19 Les fichiers d’initialisation des interpréteurs de commandes

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.

7.20 Les sauvegardes sous Linux

Comme tout système Unix, Linux fournit des outils standards pour réaliser les sauvegardes des disques. Principalement deux types d’outils sont actuellement utilisés.

7.20.1 dump et restore

Les outils dump et restore ont été adaptés pour linux 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é. Utilise la commande help pour plus de détails.

Pour restaurer une bande complètement, lancer :

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 ondre doit avoir :

#cat ~root/.rhosts
gandalf
#

Attention toutefois aux failles de sécurité engendrées par les .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 Linux.

7.20.2 tar

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 Linux 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 backup-user.

Certains sites utilisent exclusivement tar pour effectuer leurs sauvegardes, c’est un choix.

7.21 Num Lock au démarrage

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

7.22 Les fichiers core

Certains développeurs aiment exploiter le contenu des fichiers core. Or, sous Linux, ils sont désactivés par défaut. Pour pouvoir les générer, il faut introduire : ulimit -c unlimited.

7.23 Accounting - lastcomm

Le système d’accounting (historique des programmes invoqués) est implémenté dans Linux (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. Ca se trouve sur le site ftp.lip6.fr dans le

répertoire /pub/linux/sunsite/system/Admin/accounts ainsi que sur le site ftp://iguana.hut.fi dans
le répertoire /pub/linux/Kernel/process accounting/.

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 fait 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 :

# Lancement de l'accounting
accton /var/log/acct
accttrim -n 2000 /var/log/acct 2> /dev/null

8 X Window

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.

8.1 XF86Config

Le problème avec X Window, c’est de configurer le fichier. Il s’agit du 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 vielle carte viédo... 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, 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/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 startx 2>/tmp/err. 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 <http://www.kheops.com>.

8.2 Clavier français sous X : Xmodmap

On passe maintenant au clavier français sous X Window. Comme XFree 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 Francais 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 XFree 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 ”Echappement”) pour et Shift + deux pour .

8.3 Clavier français sous X... 2ième possibilité

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 monclavier.map 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.

8.4 Clavier français sous X... utiliser xkb

Il est nécessaire d’utiliser un serveur X assez récent pour mettre en place cela (XFree 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"

Pour plus d’informations, regarder le répertoire /usr/X11R6/lib/X11/xkb.

8.5 xdm

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 attention ! Certaines distribution utilisent le niveau 6 pour réamorcer. Le plus simple est de regarder dans le répertoire /etc/rc.d si le fichier rc.6 lance bien xdm.

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)

8.6 Comment démarrer plusieurs sessions X?

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

8.7 Comment récupérer les erreurs sur la console?

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

8.8 XFree et XInput

À partir de la version XFree 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

XFree 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éripherique 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 core pointer. 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.

8.9 Problème assez courant

Une question qui revient assez souvent : je ne sais pas pourquoi sous XFree 86, de temps à autres je ne peux plus déplacer les fenêtres, n’ai plus accès aux boutons et aux menus déroulant (sauf ceux des fenêtres système)? . La solution est très simple : déverrouiller Scroll Lock ( arrêt défil ) !

9 Sécurité

9.1 X Window : le fichier .Xauthority

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, 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

.

9.2 X Window : contrôle de la session

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.

9.3 Problèmes de sécurité

La distribution Slackware contient certaines failles. Vous pouvez en consulter la liste à l’adresse suivante :

<http://bach.cis.temple.edu/pub/linux/linux-security/>.

Linux 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/

9.4 Protection de la machine contre l’extérieur

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 :

ftp.win.tue.nl:/pub/security/tcp_wrapper.ps.Z

.

9.5 Quelques pointeurs

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

9.6 Virus

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 : bliss. 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.

10 Recompiler le noyau

10.1 Pentium

Linux 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 <http://www.goof.com/pcg> pour plus de renseignements.

10.2 Compilation

Les nouveaux sources du noyau Linux 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 risquent 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 symboliques, 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é. Toutefois, 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. 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 formats 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 chargeable, 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 situation, 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 modifier. 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 suivent pour le réseau.

*
* SCSI support
*

etc...etc : pour le SCSI. Liste des cartes SCSI gérées... choisir 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 format 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 cantoner à 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 zImage, 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.

11 Les fichiers spéciaux

Sous Linux 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 : majeur et mineur. Ces fichiers dits spéciaux sont de deux sortes : caractères (terminal, imprimante, etc) ou blocs (disque par exemple). Il est important de connaître ces fichiers. Les diverses distributions (Slackware, 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 LINUX ALLOCATED DEVICES é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, après avoir lu le document original. En effet la liste ci-dessous est quelque peu épurée. Cette liste correspond à la version 2.1.55

– 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

– 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 boot loader.

– 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 pty et les esclaves sont les tty.

– 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

– ...

– 256 : /dev/ttyef : dernier terminal esclave

– 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 seront supprimés dans une prochaine version de Linux.

– 5 car : Autres périphériques TTY – 0 : /dev/tty périphérique TTY courant

– 1 : réservé pour le périphérique de console

– 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 loopback. Utilisés pour mounter 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 : /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-disquesRAID – 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 Advanced Power Management – 135 : /dev/rtc : Real Time Clock

– 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

– 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 Emulation de /dev/mixer

– 1 : /dev/pcsp Emulation de /dev/dsp (8-bit)

– 4 : /dev/pcaudio Emulation de /dev/audio

– 5 : /dev/pcsp16 Emulation de /dev/dsp (16-bit)

– 13 bloc : Controleur 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 Etat 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 Chase – 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

– ...

– 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 : Quanta WinVision Frame grabbers – 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

– 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

– 1 : /dev/fb0autodetect

– 24 : /dev/fb0user0

– ...

– 31 : /dev/fb0user7

– 32 : /dev/fd1 2nd buffer

– 33 : /dev/fb1autodetect

– 56 : /dev/fb1user0

– ...

– 63 : /dev/fb1user7 – 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 – 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

– 41 car : Yet Another Micro Monitor – 0 : /dev/yamm Yet Another Micro Monitor

– 41 bloc : Port parallele CD-ROM MicroSolutions BackPack – 0 : /dev/bpcd

– 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

– 45 car : périphérique BRI 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

– 46 car : carte série Rocketport – 0 : /dev/ttyR0 1er port

– 1 : /dev/ttyR1 2nd port

– ...

– 47 car : carte série Rocketport - autre périphériques – 0 : /dev/cur0 1er port d’appel

– 1 : /dev/cur1 2nd

– ...

– 48 car : carte série SDL RISCom – 0 : /dev/ttyL0 1ère carte RISCom

– 1 : /dev/ttyL1 2ième carte RISCom

– ...

– 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

– ...

– 50 car : réservé pour GLINT

– 51 car : modem radio Baycom – 0 : /dev/bc0 1er modem Baycom

– 1 : /dev/bc1 2nd modem Baycom

– ...

– 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

– 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

– 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

– 55 car processeurs numériques DSP56001 – 0 : /dev/dsp56k premier DSP56001

– 56 car Bus Apple Desktop – 0 : /dev/adb bus ADB

– 57 car carte série Hayes ESP – 0 : /dev/ttyP0 Premier port ESP

– 1 : /dev/ttyP1 Second port ESP

– 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 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

– 66 car carte coprocesseur YARC PowerPC PCI – 0 : /dev/yppcpci0 première carte YARC

– 1 : /dev/yppcpci1 seconde carte YARC

– 67 car système de fichiers réseau Coda – 0 : /dev/cfs0 gestionnaire de cache Coda

– 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

– 69 car carte accélératrice numérique MA16 – 0 : /dev/ma16 carte d’accès mémoire

– 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

– 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

– 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 101157 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-119 : non-aloués

– 120-127 : usage local ou d’expérimentation

– 128-239 : non-utilisés

– 240-254 : usage local ou d’expérimentation

– 255 : Réservé

12 Communiquer

12.1 UUCP et modem

UUCP (Unix to Unix CoPy) vous permet d’envoyer et de recevoir du mail, et de même pour les news. Je vous conseille de faire un lien entre /dev/modem et /dev/cua1 (COM2), si c’est votre périphérique.

Les répertoires utilisés par UUCP sont /var/spool/uucp, /var/spool/uucpublic, /usr/lib/uucp et
/var/lib/uucp.

Bon, je suppose que vous avez installé le package UUCP, elm et sendmail. Pour les news, je vous conseille INN, comme serveur de news, et tin ou trn, comme lecteur de news. Les fichiers UUCP décrits ici sont au format HDB (oui, je sais que Taylor est achtement plus simple... mais j’ai pas eu le temps de refaire cette partie qui date... !). UUCP a besoin de plusieurs fichiers de configuration qui se trouvent dans /var/lib/uucp/hdb config.

– Devices : Configurez la ligne modem que vous allez utiliser : ACU modem - 9600 hayes usr

– Dialers : Là, c’est le chat script pour lancer le modem. Il est possible que vous ayez à le modifier.

     hayes_usr =,-,  "" \dATE0V1X1Q0\r\c OK\r ATDT\T\r\c CONNECT

– Permissions : Ce fichier contient tous les renseignements de permissions pour la connexion.

     MACHINE=frmug LOGNAME=nuucp \
     READ=/var/spool/uucppublic \
     WRITE=/var/spool/uucppublic \
     SENDFILES=yes REQUEST=yes

– Systems : Dans ce fichier, il est nécessaire de mettre chacune des machines sur lesquelles vous voulez vous connecter.

     remcomp any     ACU     9600    0042470611      ogin: nuucp
     frmug   any     ACU     9600    0053176410       ogin: nuucp
     frmug1   any     ACU     9600   0053176411       ogin: nuucp

Maintenant, le système est configuré. Il n’y a plus qu’à tester. Lancer ceci :

uucp remcomp\!\~/catalogue.Z ~/

Votre machine va se connecter sur remcomp pour récupérer le fichier catalogue.Z. Ce fichier sera déposé

dans le répertoire /var/spool/uucppublic.

12.2 Appels entrants

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, ca 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 utiliser usrlib/uucp/uuchk/.

Si vous voulez d’autres renseignements, je vous conseille de lire le HOWTO UUCP.

12.3 PPP

L’objet de ce paragraphe est l’installation d’une connexion PPP.

12.3.1 Introduction

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 (FTP, telnet, NFS, http, X...) sont disponibles.

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 (même MS-Windows) et on peut normalement se connecter d’un système à l’autre. Cependant, cette documentation ne traite que le cas de Linux !

12.3.2 Accès à un serveur PPP

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 pcpf.lectra.fr     # 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 syslog pour celà).

A 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 connecté à 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.

12.3.3 Configuration d’un serveur PPP

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

12.3.4 Bibliographie

Pour plus d’informations, voir le fichier README.Linux de la distribution ppp-2.1.2a.tar.gz.

Remarque : Ce fichier est dans la distribution standard de la Slackware.

12.4 Un réseau derrière une seule adresse

Une question commune est : j’ai un accès Internet mais une seule adresse IP et je voudrais pourtant pouvoir connecter plusieurs machines .

Le NET2-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 <http://www.indyramp.com/masq> ou <http://hwy401.com/achau/ipmasq/>. Un HOWTO décrivant clairement l’installation de IP masquerading se trouve à http://www.freenix.fr/linux/HOWTO-vo/mini/IP-Masquerade.

– 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 en général dans ce contexte. C’est ainsi que le document Firewall-HOWTO décrit cette solution (il est traduit en français, voir

http://www.freenix.fr/linux/HOWTO/.)

– 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 Linux. 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 a 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 http://cache.cnrs.fr/). 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 http://www.nlanr.net/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.

12.5 Sendmail

La configuration du sendmail est toujours quelque chose de particulièrement pénible et difficile. Toutefois, certains outils facilitent grandement les choses. La Slackware est d’origine fournie 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 docuements qui suivent :

– Programmes :

  – sendmail : ftp://ftp.lip6.fr/pub/unix/mail/sendmail/ucb ;

       – kit Jussieu : ftp://ftp.jussieu.fr/jussieu/sendmail/kit/ ;

– UUCP : n’importe quel site miroir GNU, par exemple ftp.pasteur.fr/pub/Gnu ;

       – exmh : http://www.smli.com/~bwelch/exmh/.

– Documents :

– excellente documentation dans le kit Jussieu, en français ;

– FAQ FreeBSD notamment How do I use sendmail for mail delivery with UUCP? ;

       – http://www.freebsd.org/FAQ/ ;

– pourquoi utiliser UUCP :

         http://web.pasteur.fr/other/computer/Linux/my-BBS/uucp<.txt

– la doc de Taylor-UUCP ;

– Linux Network Administrator’s Guide (voir plus bas).

12.6 Configuration du mail lors d’une connexion avec un provider

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 gwpop de Stéphane Bortzmeyer. On peut le trouver sur le site

ftp://ftp.pasteur.fr dans le répertoire /pub/Network/gwpop.

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. Il faut recompiler sendmail sans DNS. Pour cela, définir NAMED BIND à 0 dans src/conf.h. Les versions récentes de sendmail ont par défaut un comportement qui peut être génant. Les messages accentués sont automatiquement convertis en Quoted Printable si le serveur auquel il se connecte n’annonce pas qu’il supporte le protocole ESMTP 8bit. Si on trouve cette initiative génante, il faut définir MIME8TO7 à 0 dans src/conf.h.

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="/etc/sendmail.hf"
Mqueue="/var/spool/mqueue"

et le fichier de config :

#!/bin/sh
Host="NomDeMaMachine"
AdressesLocales=TOUT_DOMAINE
RelaisExterieur="smtp.[mail.fournisseur.fr]"
ReecritureadressesLocales="fournisseur.fr"
RevAliases="hash -N /etc/revaliases"
MailerLocal='/usr/bin/deliver DFMPlmnrs deliver $u'
SansDNS=1

Il suffit ensuite de modifier le configurateur en décommentant la ligne suivante:

CPP="$CPP -traditional"

puis générer le fichier de config :

./configurateur regles.lolonet Machine.config >sendmail.cf.Machine

Si on a désactivé MIME8TO7 dans sendmail, commenter la ligne du sendmail.cf générée :

# O EightBitMode=mime

et copier le fichier dans /etc

Il est nécessaire de définir l’adresse IP du serveur SMTP dans /etc/hosts. Enfin, il faut réécrire l’adresse locale pour que les messages envoyés aient un champ From correspondant à l’adresse fourni par le fournisseur. Il suffit d’ajouter dans /etc/revaliases une ligne du style:

NomLocal:       NomFournisseur@fournisseur.fr

et ensuite regénérer la base avec :

/usr/sbin/sendmail -bi -oA/etc/revaliases

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

12.7 netstat -s

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 vrai dans le PATH. Perl fait le reste.

#!/usr/local/bin/perl
# Il faut perl 5
$stats = "/proc/net/snmp";
if ($ARGV[0] eq '-s') {
    open (STATS, "< $stats") || die "Cannot open $stats: $!";
    while (<STATS>) {
        chop;
        undef $i;
        ($category, @fields) = split;
        chop $category;
        print "\n$category statistics:\n";
        $_= <STATS>;
        ($category, @values) = split;
        $~ = "STAT";
        foreach $field (@fields) {
            write;
        }
    }
    close (STATS);
}
else {
    system ($0, join (' ', @ARGV));
}
format STAT =
@<<<<<<<<<<<<<<<<<:@>>>>>>>
$field,       ,$values[$i++]
.

13 ELF

13.1 Introduction

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

13.2 Utilisation des utilitaires ELF

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

13.3 Sources d’information sur ELF

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 :

   – http://www.intac.com/~cully/elf.html
   – http://www.sjc.ox.ac.uk/users/barlow/linux-gcc.html

14 Catastrophe !

Ce chapitre est dédié aux moments de catastrophe, où rien de marche, et ou l’on a envie de tout mettre par la fenêtre...

14.1 Corruption de partitions

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 (Start et End) de chacune des partitions de votre disque.

Bien sur, il est important d’en avoir fait une copie papier au préalable.

14.2 Impossible de booter !

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 rescue avec Red Hat). Une fois la machine amorcée, montez la partition racine et copier 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. Eventuellement, effectuez un :

rdev /vmlinux /dev/hda2

pour spécifier au noyau quelle partition est la racine du système de fichiers.

14.3 Formatage accidentel d’une partition

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 de récupérer ce qu’il est possible de récupérer.

Une seconde solution est d’utiliser ce scrip Perl (voir http://www-eleves.enst-bretagne.fr/ aubert/perl/ ) :

# 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 (($_= <F>) && (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 (<F>)
{
  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(<F>);
  }
  exit 0;
}

14.4 Problèmes avec le disque dur : super-bloc

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.

14.5 Problèmes avec le disque dur : blocs défectueux

Si le disque a quelques problèmes (secteurs défectueux), vous pouvez récuperer e2fsck dans le paquetage e2fsprogs version 1.07 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.

14.6 Récupération d’un disque

Les instructions qui suivent effectuent une sauvegarde du disque (enfin, de ce qu’il est possible de récupérer), teste la qualité du disque, recrée un système de fichiers en retirant les blocs défectueux et enfin restaure 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.

14.7 fatal signal 11

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 <http://www.bitwizard.nl/sig11/>.

15 Divers

15.1 Comment générer une disquette de boot

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 zImage /dev/hda2

Le deuxième paramètre doit être le nom de la partition racine Linux de votre système.

Cette disquette vous permet alors de booter (tester !).

15.2 Mon mot de passe, où est mon mot de passe?

En bref : vous avez perdu le mot de passe de root... Bon, il y a plusieurs 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 Linux normalement, et en principe, vous n’avez plus besoin de mot de passe pour se loguer en root.

Bon, passons à d’autres solutions : Rebooter le pc en mode dit single-user. 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.

15.3 Comment limiter le reboot en single user?

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 single-user.

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 SOME USER 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.

15.4 Consoles virtuelles - aspects pratiques

Linux 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.

15.5 Consoles virtuelles - aspects théoriques

15.5.1 Principe

Les consoles virtuelles sont des périphériques. Elles sont au nombre de 63 (ou plus, ou moins, si l’on change ça à la compile 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 d’un 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 lance le programme login (toujours de propriétaire root) et se termine.

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é.

15.5.2 Configuration

C’est là qu’intervient le fichier inittab. Init (de PID 1), comme vous le savez est le processus ancêtre de tous vos 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 man d’inittab(5). Ca veut dire en gros qu’init lance un agetty sur /dev/tty1 qu’il relance chaque fois qu’il meurt (respawn) avec un type de terminal Linux 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 de 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)

ftp://ftp.lip6.fr/pub/linux/sunsite/utils/console/dynamic-vc-1.1.tar.gz

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.

15.5.3 Les touches

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 dansunfichier/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.

15.6 Francisation

15.6.1 locale // nls

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 Machinetoc.

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 ftp://ftp.lip6.fr/pub/linux/GCC.

(passer root)
cd /usr/src
mkdir libc-5.2.18
chown <USERNAME> 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 libc, 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 ftp://ftp.lip6.fr/pub/linux/GCC (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 a cause de ce qui semble etre 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" a 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 <stdio.h>
#include <ctype.h>
#include <string.h>
#include <locale.h>
#include <sys/types.h>
#define STRING "beto\b"
void main ()
{
    int i;
    u_char c;
    printf ("Setting locale: %s\n", setlocale(LC_ALL, ""));
    for (i=0; i<strlen(STRING); i++)  {
       c = STRING[i];
       printf ("%c (%d) is %s\n",
          c, (int)c, isprint((int)c)?"printable":"non-printable");
     }
}

Il ne doit pas afficher Setting locale: (null) et, avec la bonne locale française, doit trouver que tous les caractères, sauf le dernier, sont printables .

Certains outils GNU commencent à être francisés. Pour avoir cette possibilité, ajoutez dans votre .bashrc les lignes suivantes :

export LC_CTYPE=ISO-8859-1
export LANG=fr

15.6.2 ispell

ispell est un correcteur orthographique, en français. Vous pouvez le récupérer sur ftp.lip6.fr dans le répertoire /pub/ispell. Il est également possible de récupérer un dictionnaire français pour ispell sur le même site dans le répertoire /pub/ispell/francais.

15.6.3 Les accents sous bash

Ajoutez dans le fichier .inputrc les lignes suivantes :

set meta-flag on
set convert-meta off
set output-meta on

15.6.4 less

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, rajouter :

export LESSCHARSET=latin1

dans le fichier /etc/profile.

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 ;;
  *.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

15.6.5 Formatage de textes

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

15.6.6 elm

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

15.6.7 telnet

Il peut arriver que lors d’une connexion distante via telnet, les accents ne passent pas. Dans ce cas, utiliser l’option -L de telnet.

15.7 teTeX et le style french

Remarque : la version originale de cette partie se trouve sur le site

http://www.linux-france.com/article/tex/install_tetex_french.txt/

La verion 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 /pub2/tex/ctan/language/french (fichier french.tar.gz). Voir également

<http://www.loria.fr/tex/>.

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 {$<$}flepied@teaser.fr{$>$})

15.7.1 Installation

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).

15.7.2 Premier test

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

15.7.3 Configuration

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 sgml-tools ou linuxdoc-sgml (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 <article opts=french> 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, lancer 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 (”browser”) 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 ”config.ps” utilisé lire pour cela fichier info de dvips, paramètre ’m’ du ’config.ps’.

15.8 TeX et les polices de caractères

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 nous travaillons quasiment tous avec des CDs 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é.

15.9 Une carte son bien configurée

Lorsque l’on compile et que l’on se sert d’une carte son sous Linux, 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, etc.

15.10 Bug gcc

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 <stdio.h>
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<B; i++) Array[i] = i - 3;
 for(i=0; i<B; i++) printf(" %d,%d", i, Array[i]);
 return !Array[1];
}
int main(){
 printf("Testing for gcc bug...");
 if(gcc_sr_bug()){
   printf("\n\nBad code! Your compiler generates bad output.\n\n");
   printf("Add -fno-strength-reduce to your gcc command line\n");
   printf("or put it into your gcc config file, such as in\n");
   printf("/usr/lib/gcc-lib/i486-linux/2.7.0/specs.\n");
   exit(1);
 }else{
   printf("\nOK, no problem.\n");
   exit(0);
 }
}

15.11 Emacs

Emacs est un éditeur de texte très puissant car cohérent et extensible mais consommateur de ressources (processeur et mémoire). La plupart de ceux qui commenceront à l’employer sérieusement, en explorant les documentations, ne pourront bientôt plus s’en passer.

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)

15.12 Verrouillage des ports série

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 entrant (le getty), et /dev/cuan pour les appels sortant. Quand le 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 le getty est bloqué dans l’appel système open, on peut encore utiliser le périphérique /dev/cuan pour les appels sortants (évidemment, le 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 corretement 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 le 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ù le 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.

15.13 Minitel

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.

15.14 Fax

Envoyer des documents par FAX est tout à fait possible. Pour cela, utilisez par exemple Hylafax.

Il se trouve sur le site ftp.funet.fi dans le répertoire /pub/mirrors/sgi.com/sgi/fax/source.

15.15 Modules Chargeables

Cette partie s’inspire allégrement de l’article que j’ai écris dans le journal Les échos de Linux , au mois de Juillet 96.

15.15.1 Structure du noyau

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.

15.15.2 Qu’est-ce qu’un module chargeable?

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.

15.15.3 Compilation du noyau

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 chargeables. 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... toutefois, ce n’est pas vraiment conseillé.

– 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.

15.15.4 Chargement : méthode manuelle

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 ”killer” 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ée.

15.15.5 Chargement automatique : kerneld

Introduction 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 un modprobe pour charger les modules nécesaires : Schémas du chargement/déchargement des modules avec kerneld

Conseils pour la compilation du noyau 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).

Mise en place Cette partie de modification n’est valable que si la machine n’était pas pourvue de 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, 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\c{c}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\'{e}dez d'autres types de d\'{e}mons kerneld \`{a} 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\^{o}t possible, de telle mani\`{e}re
# que les modules de syst\`{e}mes de fichiers puissent \^{e}tre charg\'{e}s
if [ -x /sbin/kerneld ]
then
        echo "kerneld running"
        /sbin/kerneld
fi
...
# Un peu de m\'{e}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.

Le fichier /etc/conf.modules 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érifériques aient besoin de certains paramètres particulier. Consultez le document Kernel HowTo.

Quelques références Vous pouvez consulter ces références pour plus d’information :

– http://www.pi.se/blox/modules/index.html : site officiel pour les archives des modules ;

– tout miroir des sources Linux ;

– Kerneld Mini Howto.

15.15.6 Inactivité d’une machine

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 bizzares ou si votre propriétaire vous expulse après que votre écran a mis le feu à votre appartement, vous en endossez l’entière responsabilité.

15.15.7 Disque dur

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   -- arrete le disque apres 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 *physiques* 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 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 entrée comme argument à la fonction alarm(2) on peut mettre ces valeurs en corrélation avec une éventuelle périodicité des accès physiques.

Voici une liste de démons ayant un comportement périodique susceptible de réveiller le disque. cron 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 la commande ”at”. 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.

mgetty 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.

lpr NG ”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

apache 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.

bind 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; };
     };

squid 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.

sendmail 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 dure ” 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).

15.15.8 Le moniteur

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.

La console La commande ”setterm” permet de déterminer si on utilise DPMS et avec quelle durée :

    $ setterm -blank 10           # extinction apres 10 minutes (defaut)
    $ 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'inactivite avant d'entrer en mode "suspend"
    ESC[14;intervalle]  nombre de minutes d'inactivite 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.

XFree86 Dans XFree86 3.3, les défauts sont initialisés dans le fichier XF86Config(4), pour activer le mode DPMS, ajoutez dans le 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)

15.15.9 La CPU

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 (ftp.cs.unc.edu:/pub/users/faith/linux/apmd-2.4.tar.gz) permet de surveiller les états liés à APM ou forcer la suspension.

16 Pour aller plus loin

16.1 Bien débuter sous Linux (V 2.2.2)

Ce livre est la traduction du livre Linux 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.

16.2 Livres

Bien que Linux a pour principe d’être entièrement gratuit, de nombreux ouvrages sont vendus dans le commerce.

– Le système Linux par Matt Welsh & Lar Kaufman (618 pages, environ 280FF T.T.C.) chez O’Reilly. Traduction de René Cougnenc.

– Administration Réseau sous Linux par Olaf Kirch (336 pages, environ 220FF T.T.C.) chez O’Reilly. Traduction de René Cougnenc.

– Linux Kernel Internals 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.

A noter que vous poubez récupérer les sources LaTeX de la 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 http://excalibur.inp-fc.fr/anrtt/doc/index.html qui essaye de présenter les différents livres

disponibles.

16.3 Les HowTo’s

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        Assembly-HOWTO    Boot-disk-HOWTO
BootPrompt-HOWTO    Busmouse-HOWTO    CDROM-HOWTO
CDROM-HOWTO         Commercial-HOWTO  Commercial-HOWTO
DNS-HOWTO           DOSEMU-HOWTO      DOStoLinux-HOWTO
Distribution-HOWTO  ELF-HOWTO         Firewall-HOWTO
Ftape-HOWTO         GCC-HOWTO         HAM-HOWTO
Hardware-HOWTO      IPX-HOWTO         ISP-Hookup-HOWTO
Installation-HOWTO  Java-HOWTO        Kernel-HOWTO
Keyboard-HOWTO      Liste-des-HOWTO   MGR-HOWTO
Mail-HOWTO          Modems-HOWTO      Module-HOWTO
News-HOWTO          NET-3-HOWTO       NIS-HOWTO
PCI-HOWTO           PPP-FAQ           PPP-HOWTO
Printing-HOWTO      SCSI-HOWTO        SCSI-Programming-HOWTO

SMB-HOWTO           Serial-HOWTO      Shadow-Password-HOWTO
Sound-HOWTO         TeTeX-HOWTO       Term-HOWTO
Tips-HOWTO          UMSDOS-HOWTO      UPS-HOWTO
UUCP-HOWTO          Video-HOWTO       WWW-HOWTO
XFree86-HOWTO

Mini-HowTo :

Advocacy            Anon-ftp          BogoMips
CD-Writing          Colour-ls         IO-Port
IP-Masquerade       Jaz               Jaz-Drive
Kerneld             LILO              Large-IDE
MIDI+SB             Mail2News         Man-Page
Multi-Ethernet      NFS-Root          Postgres
Proxy-ARP           Slip+ProxyARP     Term-Firewall
Token-Ring          Win95+Win3x+Linux X-Terminal
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 !

17 Adresses

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 d’ibp) ;

– 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 :

– http://www.freenix.fr/linux : 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.

– http://www.loria.fr/linux : 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.

– http://www.alienor.fr/~dumas/Linux : ma modeste page dédiée à Linux.

– Listes Linux dans les régions :

– Toulouse :

            majordom@arlesienne.ensica.fr :
            subscribe linux-31

– Bordeaux :

            majordomo@rd.lectra.fr :
            subscribe linux-33

– Dauphiné :

            http://opera.inrialpes.fr/linux/guilde

– 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 :

<http://echo-linux.alienor.fr>.
Serveur ftp : ftp.lip6.fr:/pub/linux/french/echo-linux.

Pour trouver de l’aide : 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 le newsgroup fr.comp.os.linux. Pensez également à lire le forum fr.comp.os.linux.annonces et les rapports de miroirs qui y sont postés d’une manière quotidienne.

18 Contributions

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.fr)

– René Cougnenc

– Pierre Ficheux (pierre@rd.lectra.fr)
– Nat Makarévitch (nat@linux-france.com)
– Julien Simon (Julien.Simon@freenix.fr)

– Contributions :

– Jean-Michel Antoine (Jean-Michel.Antoine@loria.fr)
– Michel Billaud (billaud@labri.u-bordeaux.fr)
– Stéphane Chazelas (Stephane.CHAZELAS@enst-bretagne.fr)
– Laurent Chemla (chemla@brainstorm.eu.org)
– Laurent Frigault (frigault@isicom.fr)
– Guylhem Aznar (guylhem@danmark.linux.eu.org)
– 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)
– Thomas Quinot (thomas@cuivre.fdn.fr)
– David Robert (david@anrtt.inp-fc.fr)
– Marc Schaeffer (schaefer@vulcan.alphanet.ch)
– Sylvain Stéphant(sylvain.stephant@mail.dotcom.fr)
– Olivier Tharan (tharan@int-evry.fr)
– J.M. Vansteene (J.M.Vansteene@frcl.bull.fr)

19 Si vous voulez participer au développement de Linux

Linux est un système ouvert, qui évolue. De nombreux développements sont actuellement en cours, tels que Wine (WINdows Emulator), le projet de documentation de Linux (LDP), 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 à Linux, n’hésitez surtout pas à me contacter.

20 That’s all folks

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 à vous, donc si vous avez trouvé un truc achtement génial, envoyez-le :

(Eric.Dumas@freenix.fr ou Eric.Dumas@Linux.EU.Org).

Châtillon, le 29 Septembre 1997... Lost in Paris...