Guide d installation et de configuration de Linux. Christian Casteyde



Documents pareils
Linux 1: Présentation

Installation et prise en main d UBUNTU

Technicien Supérieur de Support en Informatique

Lutter contre les virus et les attaques... 15

et dépannage de PC Configuration Sophie Lange Guide de formation avec exercices pratiques Préparation à la certification A+

Spécialiste Systèmes et Réseaux

Retrouver de vieux programmes et jouer sur VirtualBox

Administration de Parc Informatique TP07 : Installation de Linux Debian

Comment configurer Kubuntu

Construction et sécurisation d'un système Linux embarqué. Frédéric AIME

Logiciel (Système d impression directe)

Démarrer et quitter... 13

Itium XP. Guide Utilisateur

Manuel Utilisateur Version 1.6 Décembre 2001

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

ndv access point : Utilisation

TD 1 - Installation de système UNIX, partitionnement

Administration de systèmes

ERP Service Negoce. Pré-requis CEGID Business version sur Plate-forme Windows. Mise à jour Novembre 2009

Commandes Linux. Gestion des fichiers et des répertoires. Gestion des droits. Gestion des imprimantes. Formation Use-IT

Ce manuel vous accompagne au long des procédures d installation et de restauration de PheBuX 2004 [alternative solutions]

Windows 2000: W2K: Architecture. Introduction. W2K: amélioration du noyau. Gamme windows W2K pro: configuration.

NiceLabel pour Services Microsoft Windows Terminal Serveur et Citrix MetaFrame

AOLbox. Partage de disque dur Guide d utilisation. Partage de disque dur Guide d utilisation 1

TP1 - Prise en main de l environnement Unix.

Guide de l administrateur DOC-OEMCS8-GA-FR-29/09/05

LES OLYMPIADES DES METIERS. paration aux sélections s. Guide de préparation. régionalesr. Métier n 39 : GESTION DES RESEAUX INFORMATIQUES

MISE EN PLACE DU FIREWALL SHOREWALL

ACTION PROFESSIONNELLE N 4. Fabien SALAMONE BTS INFORMATIQUE DE GESTION. Option Administrateur de Réseaux. Session Sécurité du réseau

Tunnels et VPN. 22/01/2009 Formation Permanente Paris6 86

40èmes Olympiades des métiers

Tutorial Terminal Server sous

PROGRAMME «INFORMATICIEN MICRO»

Systèmes informatiques

VERITAS Backup Exec TM 10.0 for Windows Servers

Pré-requis techniques

LINUX - ADMINISTRATION PROGRAMME DE FORMATION

Unix/Linux I. 1 ere année DUT. Université marne la vallée

UltraBackup NetStation 4. Guide de démarrage rapide

Note de première mise en service. Passerelle ipro-04n. TTPMSiPRO04N R1.0 fr

Les GPO 2012 server R2 (appliqués à Terminal Serveur Edition)

Installer des périphériques

MANUEL D INSTALLATION

CONFIGURATION DE BASE. 6, Rue de l'industrie BP130 SOULTZ GUEBWILLER Cedex. Fax.: Tel.:

MAÎTRISE DE L ENVIRONNEMENT WINDOWS VISTA

Xerox EX Print Server Powered by Fiery pour la Xerox Color J75 Press. Impression

Les formations. Administrateur Systèmes et Réseaux. ENI Ecole Informatique

Mes documents Sauvegardés

-1 - Postes de travail graphiques

L informatique en BCPST

Petit guide des sous-réseaux IP

Guide pratique de CSPM, l'outil de suivi des performances du système Version française du Complete System Performance Monitor HOWTO

Guide d utilisation WEBPORTAL CPEM Portail d Applications Web CPEM

Introduction à l informatique en BCPST

TP01: Installation de Windows Server 2012

UBUNTU Administration d'un système Linux (4ième édition)

Installation Guide Serveur d impression et de stockage multifonctions à 2 ports USB 2.0 haute vitesse Manuel de l utilisateur

Informatique. Les réponses doivent être données en cochant les cases sur la dernière feuille du sujet, intitulée feuille de réponse

IDEC. Windows Server. Installation, configuration, gestion et dépannage

Cours Linux. Cours en ligne Administrateur Systèmes Linux. Académie Libre

Systèmes en réseau : Linux 1ère partie : Introduction

CONDITIONS D UTILISATION VERSION NOMADE

Manuel du client de bureau distant de KDE

Ubuntu Linux Création, configuration et gestion d'un réseau local d'entreprise (3ième édition)

Organiser les informations ( approche technique )

M1101a Cours 4. Réseaux IP, Travail à distance. Département Informatique IUT2, UPMF 2014/2015

Installation du transfert de fichier sécurisé sur le serveur orphanet

Machine virtuelle W4M- Galaxy : Guide d'installation

Version de novembre 2012, valable jusqu en avril 2013

laissez le service en démarrage automatique. Carte de performance WMI Manuel Désactivé Vous pouvez désactiver ce service.

ClariLog - Asset View Suite

Tutoriel Création d une source Cydia et compilation des packages sous Linux

Un ordinateur, c est quoi?

ATELIERS DE FORMATION TECHNICIEN DE MAINTENANCE INFORMATIQUE

Services Réseaux - Couche Application. TODARO Cédric

TP redondance DHCP. Gillard Frédéric Page 1/17. Vue d ensemble du basculement DHCP

MISE A JOUR : 04 FEVRIER 2011 PROCÉDURE D INSTALLATION. Cegid Business COMMENT INSTALLER CEGID BUSINESS V9 SOUS WINDOWS XP, VISTA ET 7

Manuel du Desktop Sharing

A. Présentation. LanScanner2006

WINDOWS NT 2000: Travaux Pratiques. -Boîtier partage d'imprimante- Michel Cabaré Janvier 2002 ver 1.0

avast! EP: Installer avast! Small Office Administration

Introduction...3. Objectif...3. Manipulations...3. Gestion des utilisateurs et des groupes...4. Introduction...4. Les fichiers de base...

TP 1 Prise en main de l environnement Unix

Etape 1 : Connexion de l antenne WiFi et mise en route

Guide de l utilisateur ArpentGIS-Trajet 1.2 ArpentGIS-Expert 1.4

IV- Comment fonctionne un ordinateur?

VMWARE VSPHERE ESXI INSTALLATION

JOSY VIRTUALISATION 9 ET 10 JUIN 2011 POSTE DE TRAVAIL ET VIRTUALISATION. Sébastien Geiger IPHC

INSTALL ATION D UNE D I S T RIBUTION

Présentation du logiciel Free-EOS Server

Le routeur de la Freebox explications et configuration

Retour d expérience sur Prelude

D180 GUIDE DE LINUX L UTILISATEUR. Historique de révision Mars 2008, Guide de l utilisateur Linux.

TARMAC.BE TECHNOTE #1

Objet du document. Version document : 1.00

Tsoft et Groupe Eyrolles, 2005, ISBN :

Atelier Le gestionnaire de fichier

STATISTICA Version 12 : Instructions d'installation

Guide de Démarrage Rapide

MANUEL D INSTALLATION DE WATCHDOC 2011 (EVALUATION)

Transcription:

Guide d installation et de configuration de Linux Christian Casteyde

Guide d installation et de configuration de Linux par Christian Casteyde Copyright (c) 2002 Christian Casteyde Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". Copyright (c) 2002 Christian Casteyde Permission vous est donnée de copier, distribuer et modifier ce document selon les termes de la licence GNU pour les documentations libres, version 1.1 ou toute autre version ultérieure publiée par la Free Software Foundation. Une copie de cette licence est incluse dans l annexe intitulée "Licence de Documentation Libre GNU". Historique des versions Corrections orthographiques. Configuration du protocole DHCP. Compléments sur la configuration de base du système. Mise à jour Ajout d une traduction de la FDL en français. Corrections diverses. Mise à jour pour le noyau 2.4.3. Mise à jour pour la Glibc 2.2.2 Mise à jour pour le noyau 2.4.0. Mise à jour pour la Glibc 2.2. Mise à jour pour XFree86 4.0.2. Compilation des binutils. Compilati Passage au format de fichier SGML. Ajout des liens hypertextes. Gestion des connexions à la demande sur les liaisons PPP. Configu Changement du titre du document vers un titre plus générique permettant de traiter des sujets plus larges que ce que le titre originel Correction sur le bit sticky. Corrections mineures sur l éditeur vi. Description des variables d environnement. Achèvement du parag Release partielle. Mise à jour pour le noyau 2.2.14 et XFree86 3.3.6. Ajout pour la compilation de ttmkfdir. Corrections sur la comp Modification et mise à jour de la licence. Mise à jour pour make 3.78.1. et la librairie crypt 2.1.2. Ajout du paragraphe sur la config Ajout de l historique des modifications. Ajout de la licence. Description des protocoles PAP et CHAP. Mise à jour pour le noyau 2. Version 2.2.1 26/01/2002 Revu par : CC Mise à jour pour XFree86 4.2.0 et la Glibc 2.2.5. Mise à jour pour LessTiff 0.93.18. Version 2.2.0 13/01/2002 Revu par : CC Mises à jour diverses (noyau 2.4.17, Binutils 2.11.2, Glibc 2.2.4, Mesa 4.0.1, KDE 2.2.2, Qt 2.3.1, Samba 2.2.2). Description de la Version 2.0.2 28/04/2001 Revu par : CC Version 2.0.1 04/04/2001 Revu par : CC Version 2.0.0 07/01/2001 Revu par : CC Version 1.0.32 02/11/2000 Revu par : CC Version 0.31 09/09/2000 Revu par : CC Mise à jour pour le noyau 2.2.17. Version 0.30 09/07/2000 Revu par : CC Version 0.29 10/06/2000 Revu par : CC Mise à jour pour le noyau 2.2.16. Corrections et modifications mineures. Version 0.28 03/06/2000 Revu par : CC Mise à jour pour le noyau 2.2.15. Mise à jour pour make 3.79. Version 0.27 01/05/2000 Revu par : CC Corrections orthographiques diverses. Version 0.26 22/04/2000 Revu par : CC Version 0.25 16/02/2000 Revu par : CC Version 0.24 29/01/2000 Revu par : CC Version 0.23 03/11/1999 Revu par : CC Mise à jour pour gcc 2.95.2. Version 0.22 01/11/1999 Revu par : CC Version 0.21 08/10/1999 Revu par : CC Corrections orthographiques. Version 0.20 14/07/1999 Revu par : CC Première version publique.

Table des matières Remarques de l auteur...i 1. Introduction... 1 2. GNU, Linux et les logiciels libres... 5 3. Concepts de base... 9 3.1. Architecture du système... 9 3.2. Sécurité et utilisateurs... 11 3.3. Fonctionnalités du système de fichiers... 15 3.4. Structure du système de fichiers... 18 4. Installation du système de base... 27 4.1. Récupération des informations sur le matériel... 27 4.2. Sauvegarde des données... 28 4.3. Amorçage... 29 4.4. Partitionnement du disque... 30 4.4.1. Notion de partition et d amorçage du système... 30 4.4.2. Plan de partitionnement... 32 4.4.3. Trouver de la place pour installer le système... 34 4.4.3.1. Utilisation de parted... 35 4.4.3.2. Utilisation de fips... 37 4.4.4. Utilisation de fdisk... 38 4.5. Création des systèmes de fichiers... 39 4.6. Création de la partition de swap... 42 4.7. Installation des composants de base... 43 4.8. Amorçage du système et configuration multiboot... 45 4.8.1. Réalisation d un multiboot avec LILO... 45 4.8.2. Réalisation d un multiboot avec le GRUB... 49 4.8.3. Réalisation d un multiboot avec NTLDR... 52 5. Commandes de base d Unix... 55 5.1. Login et déconnexion... 55 5.2. Arrêt et redémarrage du système... 56 5.3. Pages de manuel... 57 5.4. Opérations de base sur les répertoires... 59 5.5. Notions de chemins sous Unix... 60 5.6. Opérations de base sur les fichiers... 62 5.7. Autres commandes utiles... 64 5.7.1. Passage en mode superviseur... 64 5.7.2. Changement des droits des fichiers, du propriétaire et du groupe... 64 5.7.3. Gestion des liens... 65 5.7.4. Montage et démontage d un système de fichiers... 66 5.7.5. Recherche de fichiers... 68 5.7.6. Recherche d un texte dans un fichier... 68 5.7.7. Remplacement de texte dans les fichiers... 68 5.7.8. Compression et décompression des fichiers... 69 5.7.9. Archivage de fichiers... 70 5.7.10. Gestion des paquetages... 71 5.8. vi, l éditeur de fichiers de base... 72 5.9. Utilisation du shell bash... 74 5.9.1. Contrôle des processus... 75 5.9.1.1. Lancement d un programme en arrière-plan... 75 v

5.9.1.2. Listing des processus... 76 5.9.1.3. Notion de signal... 76 5.9.1.4. Arrêt d un processus... 77 5.9.1.5. Gel d un processus... 77 5.9.1.6. Relancement d un processus... 78 5.9.2. Redirections... 78 5.9.2.1. Principe de base... 78 5.9.2.2. Redirections de données en entrée... 79 5.9.2.3. Redirection de données en sortie... 79 5.9.2.4. Insertion de documents... 81 5.9.3. Les pipes... 82 5.9.3.1. Syntaxe des pipes... 82 5.9.3.2. Les pipes nommés... 84 5.9.3.3. La commande tee... 85 5.9.3.4. La commande xargs... 85 5.9.4. Manipulation des variables d environnement... 86 5.9.5. Caractère d échappement et chaînes de caractères... 90 5.9.6. Les substitutions... 92 5.9.6.1. Génération de chaînes de caractères selon un motif... 92 5.9.6.2. Substitution du nom d utilisateur... 92 5.9.6.3. Remplacements de variables... 93 5.9.6.4. Substitution du résultat d une commande... 95 5.9.6.5. Évaluation d expressions arithmétiques... 95 5.9.6.6. Substitution de commandes... 96 5.9.6.7. Découpage en mots... 97 5.9.6.8. Remplacement des caractères génériques... 97 5.9.7. Les expressions rationnelles... 98 5.9.8. Structures de contrôle... 99 5.9.8.1. Les instructions composées... 99 5.9.8.2. Les tests... 100 5.9.8.3. Le branchement conditionnel... 103 5.9.8.4. Les boucles... 104 5.9.8.5. Les itérations... 105 5.9.8.6. Les ruptures de séquence... 105 5.9.8.7. Les fonctions... 106 5.9.8.8. Les entrées / sorties de données... 107 5.9.9. Les alias... 108 5.9.10. Les scripts shell... 109 6. Administration de base du système... 111 6.1. Sauvegarde de la configuration d installation... 111 6.2. Mise à l heure du système... 112 6.3. Notion de niveau d exécution et amorçage du système... 115 6.4. Maintenance des systèmes de fichiers... 117 6.4.1. Vérification des systèmes de fichiers... 118 6.4.2. Configuration du montage des systèmes de fichiers... 120 6.5. Gestion des utilisateurs et de la sécurité... 123 6.5.1. Mécanismes d authentification des utilisateurs... 123 6.5.2. Création et suppression des utilisateurs... 126 6.5.3. Description de la bibliothèque PAM... 128 6.6. Configuration des terminaux virtuels... 130 6.7. Configuration de la console... 133 vi

6.7.1. Pages de codes et Unicode... 133 6.7.2. Principe de fonctionnement du clavier... 134 6.7.3. Principe de fonctionnement de l écran de la console... 136 6.7.4. Configuration du clavier... 138 6.7.4.1. Définition de scancodes... 138 6.7.4.2. Définition d un plan de clavier... 140 6.7.4.3. Modification des paramètres du clavier... 144 6.7.5. Choix de la police de caractères... 145 6.7.6. Configuration de la ligne de communication... 146 6.7.7. Description des terminaux... 147 6.7.8. Paramétrage des applications... 151 6.7.8.1. Configuration du clavier pour la bibliothèque readline... 151 6.7.8.2. Configuration du clavier pour vi... 152 6.7.8.3. Configuration du clavier pour less... 155 6.7.9. Configuration de la souris... 157 6.8. Configuration du lancement automatique des tâches... 157 6.9. Configuration de l imprimante... 159 6.9.1. Filtres d impression... 159 6.9.2. Commandes d impression... 160 6.9.3. Configuration des files d impression... 161 7. Notions de compilation et de sources... 163 7.1. Vocabulaire... 163 7.2. Compilation de GCC... 167 7.2.1. Prérequis... 168 7.2.2. Installation des sources... 168 7.2.3. Configuration... 169 7.2.4. Compilation... 169 7.2.5. Installation de GCC... 170 8. Compilation du noyau de Linux... 171 8.1. Installation des sources de Linux... 171 8.2. Lancement du programme de configuration... 172 8.3. Choix des options de configuration... 173 8.3.1. Menu «Code maturity level options»... 173 8.3.2. Menu «Loadable module support»... 173 8.3.3. Menu «Processor type and features»... 174 8.3.4. Menu «General setup»... 175 8.3.5. Menu «Memory Technology Devices (MTD)»... 177 8.3.6. Menu «Parallel port support»... 177 8.3.7. Menu «Plug and Play configuration»... 178 8.3.8. Menu «Block devices»... 178 8.3.9. Menu «Multi-device support (RAID and LVM)... 179 8.3.10. Menu «Networking options»... 180 8.3.11. Menu «IP: Netfilter Configuration»... 184 8.3.12. Menu «IPv6: Netfilter Configuration»... 187 8.3.13. Menu «QoS and/or fair queueing»... 188 8.3.14. Menu «Telephony Support»... 188 8.3.15. Menu «ATA/IDE/MFM/RLL support»... 188 8.3.16. Menu «IDE, ATA and ATAPI Block devices»... 188 8.3.17. Menu «SCSI support»... 190 8.3.18. Menu «SCSI low-level drivers»... 192 8.3.19. Menu «PCMCIA SCSI adapter support»... 192 vii

viii 8.3.20. Menu «Fusion MPT device support»... 192 8.3.21. Menu «IEEE 1394 (FireWire) support (EXPERIMENTAL)»... 192 8.3.22. Menu «I2O support»... 193 8.3.23. Menu «Network device support»... 193 8.3.24. Menu «ARCnet devices»... 196 8.3.25. Menu «AppleTalk devices»... 196 8.3.26. Menu «Ethernet (10 or 100Mbit)»... 196 8.3.27. Menu «Ethernet (1000 Mbit)»... 196 8.3.28. Menu «Wireless LAN (non-hamradio)»... 197 8.3.29. Menu «Token ring devices»... 197 8.3.30. Menu «Wan interfaces»... 197 8.3.31. Menu «PCMCIA network device support»... 198 8.3.32. Menu «ATM drivers»... 198 8.3.33. Menu «Amateur Radio support»... 199 8.3.34. Menu «AX.25 network device drivers»... 199 8.3.35. Menu «IrDA subsystem support»... 199 8.3.36. Menu «Infrared-port device drivers»... 199 8.3.37. Menu «ISDN subsystem»... 200 8.3.38. Menu «ISDN feature submodules»... 200 8.3.39. Menu «Passive ISDN cards»... 200 8.3.40. Menu «Active ISDN cards»... 201 8.3.41. Menu «Old CD-ROM drivers (not SCSI, not IDE)»... 201 8.3.42. Menu «Input Core Support»... 202 8.3.43. Menu «Character devices»... 203 8.3.44. Menu «I2C support»... 205 8.3.45. Menu «Mice»... 206 8.3.46. Menu «Joystick support»... 206 8.3.47. Menu «Watchdog cards»... 206 8.3.48. Menu «Ftape, the floppy tape device driver»... 207 8.3.49. Menu «PCMCIA character device support»... 208 8.3.50. Menu «Multimedia devices»... 208 8.3.51. Menu «Video For Linux»... 208 8.3.52. Menu «Radio Adapters»... 209 8.3.53. Menu «File systems»... 209 8.3.54. Menu «Network File Systems»... 210 8.3.55. Menu «Partition Types»... 211 8.3.56. Menu «Native Language Support»... 211 8.3.57. Menu «Console drivers»... 212 8.3.58. Menu «Frame-buffer support»... 212 8.3.59. Menu «Sound»... 212 8.3.60. Menu «USB support»... 213 8.3.61. Menu «USB Serial Converter support»... 216 8.3.62. Menu «Bluetooth support»... 216 8.3.63. Menu «Bluetooth device drivers»... 216 8.3.64. Menu «Kernel hacking»... 216 8.4. Compilation du noyau... 216 8.5. Installation du noyau... 217 8.6. Compilation des modules... 219 8.7. Installation des modules... 219

9. Configuration du matériel et des périphériques... 221 9.1. Généralités sur le support matériel sous Linux... 221 9.1.1. Notion de fichiers spéciaux de périphériques... 221 9.1.2. Modules du noyau... 223 9.2. Configuration des périphériques de masse... 228 9.2.1. Configuration des périphériques SCSI... 228 9.2.2. Configuration des disques durs IDE... 229 9.2.3. Installation d un graveur de CD-ROM... 231 9.2.3.1. Notions de base sur le gravage sous Linux... 231 9.2.3.2. Configuration du noyau... 232 9.2.3.3. Configuration des modules du noyau... 233 9.2.3.4. Installation des logiciels de gravage... 234 9.2.3.5. Utilisation des logiciels de gravage... 235 9.3. Configuration des cartes filles... 238 9.3.1. Généralités sur les cartes ISA, Plug And Play et PCI... 238 9.3.2. Configuration des cartes son... 241 9.3.3. Installation d une carte graphique 3D... 245 9.3.4. Installation d une carte d acquisition vidéo... 246 9.3.5. Configuration des cartes réseau... 249 9.4. Configuration des ports de communication... 249 9.4.1. Configuration du port parallèle... 249 9.4.2. Configuration des ports série... 250 9.4.3. Installation des périphériques USB... 252 9.4.3.1. Configuration du noyau... 252 9.4.3.2. Détection automatique des périphériques USB... 253 9.4.4. Installation des périphériques IEEE1394... 255 9.4.4.1. Configuration du noyau... 255 9.4.4.2. Installation des bibliothèques complémentaires... 256 10. Configuration du réseau... 259 10.1. Notions de réseau TCP/IP... 259 10.1.1. Généralités sur les réseaux... 259 10.1.2. Le protocole IP... 259 10.1.3. Le protocole TCP... 264 10.1.4. Les protocoles de haut niveau... 266 10.2. Configuration du réseau sous Linux... 266 10.2.1. Configuration statique des interfaces réseau... 267 10.2.2. Définition des règles de routage... 268 10.2.3. Définition du nom de la machine... 270 10.2.4. Résolution des noms de domaines... 271 10.2.5. Utilisation des protocoles DHCP et BOOTP... 272 10.2.5.1. Autoconfiguration des clients DHCP et BOOTP... 273 10.2.5.2. Configuration d un client DHCP au niveau utilisateur... 273 10.2.6. Définition des protocoles de haut niveau... 275 10.2.7. Le démon inetd... 276 10.2.8. Configuration de la sécurité du réseau... 277 10.2.8.1. Limitation des services au strict minimum... 278 10.2.8.2. Contrôle des utilisateurs au niveau des services... 280 10.2.8.3. Cryptage des connexions... 280 10.2.8.3.1. Principes de base de cryptographie... 282 10.2.8.3.2. Principes de base de l authentification SSH... 283 10.2.8.3.3. Compilation et installation d OpentSSH... 284 ix

10.2.8.3.4. Configuration d OpenSSH côté serveur... 285 10.2.8.3.5. Utilisation d OpenSSH côté client... 287 10.2.8.3.6. Création d un tunnel SSH... 288 10.3. Configuration de la connexion à Internet... 289 10.3.1. Le protocole PPP... 290 10.3.2. Création d une connexion à Internet... 291 10.3.3. Utilisation du mail... 296 10.3.4. Les autres outils de connexion... 297 10.4. Firewalls et partages de connexion à Internet... 297 10.4.1. Mécanismes de filtrage du noyau... 298 10.4.2. Translations d adresses et masquerading... 299 10.4.3. Trajet des paquets... 300 10.4.4. Configuration du noyau et installation des outils... 301 10.4.5. Utilisation d iptables... 303 10.4.5.1. Manipulation des chaînes... 303 10.4.5.2. Manipulation des règles... 303 10.4.6. Exemple de règles... 305 10.4.6.1. Exemple de règles de filtrage... 305 10.4.6.2. Exemple de partage de connexion à Internet... 306 10.4.7. Configuration des clients... 307 10.5. Configuration des fonctions serveur... 307 10.5.1. Paramétrage des connexions extérieures... 308 10.5.2. Configuration des liaisons PPP... 309 10.5.3. Liaison de deux ordinateurs par un câble série... 313 10.5.4. Installation d un proxy... 314 10.5.5. Configuration d un serveur DHCP... 318 10.6. Systèmes de fichiers en réseau... 319 10.6.1. Installation d un serveur de fichiers NFS... 320 10.6.2. Configuration d un client NFS... 323 10.6.3. Installation d un serveur de fichiers SMB... 324 10.6.4. Configuration d un client SMB... 332 11. Installation de XWindow... 335 11.1. Généralités sur XWindow... 336 11.2. Configuration de XFree86... 338 11.2.1. Génération automatique du fichier XF86Config... 338 11.2.2. Utilisation de xf86config... 339 11.2.3. Utilisation de xf86cfg... 342 11.2.3.1. Configuration en mode graphique... 342 11.2.3.2. Configuration en mode texte... 344 11.2.4. Description du fichier XF86Config... 345 11.2.4.1. Structure générale du fichier XF86Config... 345 11.2.4.2. Section «Files»... 347 11.2.4.3. Section «ServerFlags»... 347 11.2.4.4. Section «Module»... 348 11.2.4.5. Section «InputDevice»... 349 11.2.4.6. Sections «Device»... 350 11.2.4.7. Sections «Monitor»... 351 11.2.4.8. Sections «Modes»... 360 11.2.4.9. Sections «Screen»... 360 11.2.4.10. Sections «ServerLayout»... 362 11.2.5. Informations utilisées lors du démarrage de XFree86... 363 x

11.2.6. Utilisation de xvidtune... 364 11.3. Utilisation du driver frame buffer du noyau... 364 11.3.1. Configuration du noyau et installation du driver... 365 11.3.2. Configuration du serveur X... 366 11.4. Configuration des terminaux X... 367 11.4.1. Principe de fonctionnement de xdm... 368 11.4.2. Configuration de xdm... 368 11.4.2.1. Serveurs X locaux... 368 11.4.2.2. Serveurs X utilisant XDMCP... 370 11.4.2.3. Paramétrage du serveur X pour utiliser le protocole XDMCP... 372 11.4.2.4. Fichiers d initialisation de sessions... 373 11.4.3. Paramétrage des terminaux X... 374 11.4.3.1. La commande xset... 374 11.4.3.2. Configuration de la disposition du clavier... 375 11.5. Paramétrage des applications et ressources X... 377 11.6. Gestion de la sécurité sous XWindow... 380 11.6.1. La commande xhost... 380 11.6.2. La commande xauth... 381 11.7. Gestion des polices de caractères... 382 11.7.1. Gestion des polices de caractères sous XWindow... 382 11.7.2. Installation des polices Truetype... 385 11.7.2.1. Configuration du serveur X... 385 11.7.2.2. Configuration des polices Truetype pour l impression... 387 11.7.2.2.1. Conversion des polices Truetype en polices Adobe de Type 42387 11.7.2.2.2. Installation des polices Truetype pour GhostScript... 388 11.7.2.2.3. Configuration de StarOffice pour l utilisation des polices Truetype... 388 11.7.3. Configuration d un serveur de polices... 391 11.8. Problèmes classiques rencontrés... 394 12. Conclusion... 397 A. Compilation et mise à jour des principaux composants du système... 399 A.1. Compilation de make 3.79.1... 399 A.2. Compilation des binutils 2.11.2... 399 A.3. Compilation de la librairie C 2.2.5... 400 A.4. Compilation de OpenSSL... 403 A.5. Compilation de XFree86 4.2.0... 403 A.6. Compilation de Lesstif 0.93.18... 405 A.7. Compilation de MESA 4.0.1... 406 A.8. Compilation de KDE 2.2.2... 407 A.9. Compilation de Samba 2.2.2... 409 B. Formulaire pour la création des lignes de mode de XFree86... 411 C. GNU Free Documentation License... 415 D. Licence de documentation libre GNU... 421 xi

xii

Liste des tableaux 3-1. Caractéristiques des liens physiques et symboliques... 18 3-2. Hiérarchie standard du système de fichiers... 21 5-1. Groupes de pages de man... 58 5-2. Principaux signaux Unix... 77 5-3. Variables d environnements courantes... 88 5-4. Tests sur les fichiers... 102 10-1. Plages d adresses IP réservées pour un usage personnel... 261 11-1. Fréquence maximale des moniteurs... 356 11-2. Numéros des modes graphiques VESA... 366 xiii

xiv

Remarques de l auteur Il se peut que certaines informations fournies dans ce document soient spécifiques à mes distributions de Linux. À titre indicatif, j utilise une distribution SuSE 7.0 et une distribution Slackware 7.0, toutes deux avec le noyau 2.4.17. de Linux. Je me suis efforcé de rendre ce document générique et indépendant de la distribution par comparaison, mais je ne peux pas le garantir. En particulier, il est connu que la structure des systèmes de fichiers de SuSE n est pas tout à fait standard, et que la Slackware n utilise pas la notion de niveaux d exécution par défaut. De même, certaines informations pourront être spécifiques à la configuration matérielle des machines que j utilise. Néanmoins, la plupart des informations fournies ici s appliqueront à toutes les distributions de Linux. Elles permettront également aux personnes qui n ont jamais vu Linux de débroussailler un peu le terrain. Je remercie d avance les gens qui pourront m envoyer des remarques concernant des imprécisions, voire les horreurs et les âneries que j ai pu écrire. Plus je recevrai de critiques constructives et de propositions, plus ce document a de chances de s améliorer. Cependant, si vous prenez le temps de m envoyer les remarques et les erreurs que vous avez pu détecter, je vous serais gré de vérifier au préalable qu elles sont toujours d actualité dans la dernière version de ce document, que vous pourrez trouver dans différents formats de fichiers sur mon site Web (http://casteyde.christian.free.fr). Bien entendu, les modifications ne seront faites que si j ai le temps de les faire... i

Remarques de l auteur ii

Chapitre 1. Introduction Linux est le noyau d un système d exploitation libre de type Unix, écrit initialement par Linus Torvalds en 1991 et auquel un grand nombre de programmeurs ont contribué par Internet depuis. Les origines de tous les systèmes Unix remontent à la première version d un système d exploitation expérimental développé par Dennis Ritchie et Ken Thompson dans les laboratoires AT&T s Bell Laboratories en 1969. Ce système a avant tout été développé par des programmeurs, pour des programmeurs, et reprenait un certain nombre de concepts qui avaient été développés auparavant pour le système d exploitation Multics (abréviation de «Multiplexed Information and Computing Service»), dont le rôle était de fournir des services informatiques centralisés à un grand nombre de personnes (un peu comme le Minitel a tenté de le faire par la suite). Multics n a jamais réellement vu le jour, en revanche, le système Unix initial a engendré un grand nombre d autres systèmes plus ou moins compatibles. Récemment, les différents fournisseurs de systèmes Unix se sont accordés pour définir l ensemble des fonctionnalités que tous les systèmes Unix doivent supporter, et ce afin de résoudre les problèmes engendrés par les incompatibilités existantes entre ces différents systèmes. Le terme Unix est donc un terme générique pour représenter l ensemble de tous ces systèmes, dont Linux fait partie. Pour l anecdote, la dénomination Unix provient de la contraction de «Unics» (abréviation de «Uniplexed Information and Computing Service»), terme forgé ironiquement pour bien signaler qu Unix était une version allégée de ce que Multics devait être. Bien que compatible avec les dernières spécifications Unix, Linux ne contient pas une ligne du code source du système Unix original, ce qui en fait ce que l on appelle un «clone». Cela dit, il s agit réellement d un système Unix à part entière. En tant que tel, il dispose des fonctionnalités fournies par les systèmes Unix : il est multitâche, multiutilisateur et relativement orienté réseau. Vous aurez donc, avec Linux, un système fiable, fonctionnel et performant. Linux vous permettra de réaliser les opérations les plus classiques, comme effectuer un travail bureautique, naviguer sur Internet, réaliser l acquisition, la capture et le retraitement d images, réaliser des animations 3D ou encore programmer. En revanche, autant vous prévenir tout de suite : nombre de jeux ne sont tout simplement pas disponibles sous Linux, bien que les principaux titres soient régulièrement portés. De même, il n existe pas de logiciel complet permettant de réaliser l acquisition de séquences vidéo et d en réaliser le montage de manière aisée. Vous ne pourrez pas non plus réaliser ce que vous faisiez avec les applications MS Windows dont il n existe pas encore d équivalent sous Linux, comme, par exemple, les applications de gestion et de paie utilisées par nombre de professionnels indépendants ou par des PME. Mais que les choses soient claires : l installation de Linux est une opération relativement compliquée, et l usage d un système Unix en général n est pas à la portée de tout le monde. Même si la qualité des distributions actuellement disponibles s est grandement accrue ces derniers temps, au point que n importe qui peut installer un système Linux viable sans trop de problème, la configuration du système pour obtenir un fonctionnement correct exige un travail assez important. En particulier, les distributions actuelles éprouvent encore quelques difficultés pour optimiser les périphériques exotiques, et souvent seules les fonctionnalités de base sont correctement configurées après une installation classique. Par ailleurs, la plupart des applications sont développées par des groupes de programmeurs indépendants, et bien que ce soit justement le rôle des distributions de réaliser l intégration de tous ces composants dans un environnement homogène, celle-ci n est pas forcément parfaite. Les outils de configuration des distributions vous permettront sans doute de configurer votre système de base simplement, mais pour aller au-delà, il faudra sans doute intervenir manuellement. Néanmoins, il faut reconnaître que celui qui installe Linux à partir d une distribution sur un ordinateur assez vieux (c est-à-dire un ordinateur qui ne dispose pas des derniers périphériques et cartes graphiques à la mode), ou dont les constituants sont de marque courante, obtient rapidement un système fonctionnel et capable de réaliser la plupart des opérations qu il désire. En particulier, celui qui utilise 1

Chapitre 1. Introduction son ordinateur pour travailler (j entends par là écrire des lettres, les imprimer, naviguer sur Internet pour récupérer des informations, ou programmer) peut parfaitement se contenter de l installation par défaut. Ce type de situation ne convient pas à tout le monde : la plupart des gens disposent de cartes graphiques récentes (surtout depuis l avènement des jeux 3D) ou de périphériques spécifiques. Tout le monde ne se place pas uniquement dans le cadre d une utilisation professionnelle, et il est absurde de disposer d une carte son et de ne pas pouvoir l utiliser. Et c est là que le bât blesse! Si l on désire que Linux reconnaisse ces matériels exotiques, il va falloir mettre les mains dans le cambouis et avoir une bonne dose de patience. Ce problème de configuration apparaît malheureusement principalement pour les particuliers, qui souvent disposent de machines hétéroclites et absolument non standards. Dans le cadre d une entreprise, il existe des personnes qualifiées pour résoudre ce type de problème, mais ce sont des informaticiens et, de plus, les machines sont souvent homogènes, ce qui permet d apporter des solutions génériques. En conclusion, il faut être informaticien ou amateur très éclairé pour installer Linux sur une machine de particulier et pour le configurer de manière optimale. La situation est d autant plus grave que la plupart des gens ne connaissent pas Linux, et qu il est toujours difficile d apprendre et de prendre de nouvelles habitudes. Je veux dire par là que même une tâche très simple à réaliser peut prendre un certain temps, car tout simplement on ne l a jamais faite. Celui qui a installé trois fois MS Windows sait parfaitement le faire à présent, et il pense que c est relativement facile. Et pourtant, il réalise souvent des tâches d une complexité qui dépasse, là aussi, le commun des mortels. Heureusement, et c est là la force de Linux, ces opérations ne doivent être effectuées qu une seule fois. On n a absolument pas besoin de changer la configuration à chaque instant, comme c est le cas sous MS Windows, parce que le système est globalement beaucoup plus stable. Il ne plante quasiment jamais, les applications ne peuvent pas le corrompre, et sa qualité supprime le besoin permanent de mettre à jour une partie du système. En clair, quand on en a un qui fonctionne, on le garde, non pas parce que c est un enfer à installer et à configurer, mais tout simplement parce que ce n est pas nécessaire de le changer. En résumé, on peut affirmer que : Linux est un système simple à installer sur des machines standards ; sa configuration sur une machine plus exotique requiert parfois une intervention manuelle ; dans la plupart des cas, cette intervention n est pas très difficile à réaliser ; cependant, elle peut dérouter les personnes qui ne l ont jamais effectuée ; mais le jeu en vaut la chandelle, parce que le système est réellement solide. L objet de ce document est de donner les connaissances de base nécessaires à l installation de Linux sur un ordinateur de particulier ou un petit serveur. Il est supposé que l utilisateur a déjà utilisé un autre système d exploitation, par exemple MS Windows. Cependant, aucune notion avancée d informatique n est nécessaire. Tout sera expliqué au fur et à mesure des besoins, et si nécessité est, des compléments d informations seront donnés pour permettre la compréhension des opérations à effectuer. Néanmoins, les notions qui seront abordées ici ne seront pas simples, et il est possible que la plupart des personnes qui n ont pas une grande habitude de l informatique aient quelques difficultés à les assimiler. Cela dit, à vaincre sans peine, on triomphe sans gloire, et l installation de Linux vous procurera le plaisir d apprendre. Ce document est structuré en dix parties distinctes, qui correspondent essentiellement aux grandes étapes que vous suivrez pour installer et utiliser Linux. La première partie a pour but de clarifier un peu les notions ayant trait aux logiciels libres. Elle tente d expliquer pourquoi ces logiciels existent, et pourquoi ils font partie des meilleurs logiciels actuels. La deuxième partie décrit les concepts de base de la plupart des systèmes d exploitation Unix. Elle ne traite pas de l installation à proprement parler, 2

Chapitre 1. Introduction mais sa lecture est recommandée pour tous ceux qui n ont jamais vu un tel système. La troisième partie décrit l installation du système de base de Linux. À l issue de cette partie, vous devez disposer d un système fonctionnel, utilisable mais non optimisé et ne permettant pas forcément d utiliser tous vos périphériques. La quatrième partie constitue un petit cours d Unix pour les nouveaux utilisateurs de ce type de système, et la cinquième partie traite des opérations d administration et de maintenance de base des systèmes Unix. Bien que, comme les deux premières parties, ces deux parties ne traitent pas de l installation à proprement parler, leur lecture est vivement recommandée. La sixième partie donne les notions de base sur les mécanismes de compilation, qui seront utilisées dans la septième partie. Elle décrit également la manière de faire pour compiler la dernière version de GCC, le compilateur C/C++ de GNU. La septième partie décrit la compilation du noyau du système, opération indispensable pour obtenir un système qui «colle» à la machine et aux fonctionnalités désirées. La configuration des différents types de matériel et leur prise en charge au niveau du noyau sera décrite ensuite dans la huitième partie. La neuvième partie, traite de la configuration du réseau sous Linux. Le réseau est réellement l un des aspects les plus importants de Linux, et nécessite donc une attention toute particulière. Enfin, la dixième et dernière partie vous décrit la procédure d installation de XWindow, l environnement graphique de Linux. L installation des polices TrueType y est aussi présentée. 3

Chapitre 1. Introduction 4