Guide d'installation et de configuration de Linux

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

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


Table des matières
Remarques de l'auteur
1. Introduction
2. GNU, Linux et les logiciels libres
3. Concepts de base
3.1. Architecture du système
3.2. Sécurité et utilisateurs
3.3. Fonctionnalités des systèmes de fichiers
3.4. Structure du système de fichiers
4. Installation du système de base
4.1. Récupération des informations sur le matériel
4.2. Sauvegarde des données
4.3. Amorçage
4.4. Partitionnement du disque
4.4.1. Notion de partition et d'amorçage du système
4.4.2. Plan de partitionnement
4.4.3. Trouver de la place pour installer le système
4.4.4. Utilisation de fdisk
4.5. Création des systèmes de fichiers
4.6. Création de la partition de swap
4.7. Installation des composants de base
4.8. Amorçage du système et configuration multiboot
4.8.1. Réalisation d'un multiboot avec LILO
4.8.2. Réalisation d'un multiboot avec le GRUB
4.8.3. Réalisation d'un multiboot avec NTLDR
5. Commandes Unix de base
5.1. Login et déconnexion
5.2. Arrêt et redémarrage du système
5.3. Pages de manuel
5.4. Opérations de base sur les répertoires
5.5. Notions de chemins sous Unix
5.6. Opérations de base sur les fichiers
5.7. Autres commandes utiles
5.7.1. Passage en mode superviseur
5.7.2. Changement des droits des fichiers, du propriétaire et du groupe
5.7.3. Gestion des liens
5.7.4. Montage et démontage d'un système de fichiers
5.7.5. Recherche de fichiers
5.7.6. Recherche d'un texte dans un fichier
5.7.7. Remplacement de texte dans les fichiers
5.7.8. Compression et décompression des fichiers
5.7.9. Archivage de fichiers
5.7.10. Gestion des paquetages
5.8. vi, l'éditeur de fichiers de base
5.9. Utilisation du shell bash
5.9.1. Contrôle des processus
5.9.2. Redirections
5.9.3. Les tubes
5.9.4. Manipulation des variables d'environnement
5.9.5. Caractère d'échappement et chaînes de caractères
5.9.6. Les substitutions
5.9.7. Les expressions rationnelles
5.9.8. Structures de contrôle
5.9.9. Les alias
5.9.10. Les scripts shell
6. Administration du système de base
6.1. Sauvegarde de la configuration d'installation
6.2. Mise à l'heure du système
6.3. Notion de niveau d'exécution et amorçage du système
6.4. Maintenance des systèmes de fichiers
6.4.1. Vérification des systèmes de fichiers
6.4.2. Configuration du montage des systèmes de fichiers
6.5. Gestion des utilisateurs et de la sécurité
6.5.1. Mécanismes d'authentification des utilisateurs
6.5.2. Création et suppression des utilisateurs
6.5.3. Description de la bibliothèque PAM
6.6. Configuration des terminaux virtuels
6.7. Configuration de la console
6.7.1. Pages de codes et Unicode
6.7.2. Principe de fonctionnement du clavier
6.7.3. Principe de fonctionnement de l'écran de la console
6.7.4. Configuration du clavier
6.7.5. Choix de la police de caractères
6.7.6. Configuration des paramètres du terminal
6.7.7. Description des terminaux
6.7.8. Paramétrage des applications
6.7.9. Configuration de la souris
6.8. Configuration de l'imprimante
6.8.1. Filtres d'impression
6.8.2. Commandes d'impression
6.8.3. Configuration des files d'impression
6.9. Configuration du lancement automatique des tâches
7. Notions de compilation et configuration du noyau
7.1. Notions de base
7.1.1. Définition des termes
7.1.2. Processus de génération
7.2. Compilation de GCC
7.2.1. Prérequis
7.2.2. Installation des sources
7.2.3. Configuration
7.2.4. Compilation
7.2.5. Installation de GCC
7.3. Compilation du noyau Linux
7.3.1. Installation des sources de Linux
7.3.2. Choix des options de configuration du noyau
7.3.3. Compilation et installation du noyau
7.3.4. Compilation et installation des modules
8. Configuration du matériel et des périphériques
8.1. Généralités sur le support matériel sous Linux
8.1.1. Notion de fichiers spéciaux de périphériques
8.1.2. Modules du noyau
8.2. Configuration des périphériques de masse
8.2.1. Configuration des périphériques SCSI
8.2.2. Configuration des disques durs IDE
8.2.3. Installation d'un graveur de CD-ROM
8.3. Configuration des cartes filles
8.3.1. Généralités sur les cartes ISA, Plug And Play et PCI
8.3.2. Configuration des cartes son
8.3.3. Installation d'une carte graphique 3D
8.3.4. Installation d'une carte d'acquisition vidéo
8.3.5. Configuration des cartes réseau
8.4. Configuration des ports de communication
8.4.1. Configuration du port parallèle
8.4.2. Configuration des ports série
8.4.3. Installation des périphériques USB
8.4.4. Installation des périphériques IEEE1394
9. Configuration du réseau
9.1. Notions de réseau TCP/IP
9.1.1. Généralités sur les réseaux
9.1.2. Le protocole IP
9.1.3. Le protocole TCP
9.1.4. Les protocoles de haut niveau
9.2. Configuration du réseau sous Linux
9.2.1. Configuration statique des interfaces réseau
9.2.2. Définition des règles de routage
9.2.3. Définition du nom de la machine
9.2.4. Résolution des noms de domaine
9.2.5. Utilisation des protocoles DHCP et BOOTP
9.2.6. Définition des protocoles de haut niveau
9.2.7. Les super-démons inetd et xinetd
9.2.8. Configuration de la sécurité du réseau
9.3. Configuration de la connexion à Internet
9.3.1. Le protocole PPP
9.3.2. Création d'une connexion à Internet
9.3.3. Utilisation du mail
9.3.4. Les autres outils de connexion
9.4. Firewalls et partages de connexion à Internet
9.4.1. Mécanismes de filtrage du noyau
9.4.2. Translations d'adresses et masquerading
9.4.3. Trajet des paquets
9.4.4. Configuration du noyau et installation des outils
9.4.5. Utilisation d'iptables
9.4.6. Exemple de règles
9.4.7. Configuration des clients
9.5. Configuration des fonctions serveur
9.5.1. Paramétrage des connexions extérieures
9.5.2. Configuration des liaisons PPP
9.5.3. Liaison de deux ordinateurs par un câble série
9.5.4. Installation d'un proxy
9.5.5. Configuration d'un serveur DHCP
9.6. Systèmes de fichiers en réseau
9.6.1. Installation d'un serveur de fichiers NFS
9.6.2. Configuration d'un client NFS
9.6.3. Installation d'un serveur de fichiers SMB
9.6.4. Configuration d'un client SMB
10. Installation de XWindow
10.1. Généralités sur XWindow
10.2. Configuration de XFree86
10.2.1. Génération automatique du fichier XF86Config
10.2.2. Utilisation de xf86config
10.2.3. Utilisation de xf86cfg
10.2.4. Description du fichier XF86Config
10.2.5. Informations utilisées lors du démarrage de XFree86
10.2.6. Utilisation de xvidtune
10.3. Utilisation du pilote frame buffer du noyau
10.3.1. Configuration du noyau et installation du pilote
10.3.2. Configuration du serveur X
10.4. Configuration des terminaux X
10.4.1. Principe de fonctionnement de xdm
10.4.2. Configuration de xdm
10.4.3. Paramétrage des terminaux X
10.5. Paramétrage des applications et ressources X
10.6. Gestion de la sécurité sous XWindow
10.6.1. La commande xhost
10.6.2. La commande xauth
10.7. Gestion des polices de caractères
10.7.1. Gestion des polices de caractères sous XWindow
10.7.2. Installation des polices Truetype
10.7.3. Configuration d'un serveur de polices
10.8. Problèmes classiques rencontrés
11. Conclusion
A. Options de configuration du noyau
A.1. Menu « Code maturity level options »
A.2. Menu « Loadable module support »
A.3. Menu « Processor type and features »
A.4. Menu « General setup »
A.5. Menu « Memory Technology Devices (MTD) »
A.6. Menu « Parallel port support »
A.7. Menu « Plug and Play configuration »
A.8. Menu « Block devices »
A.9. Menu « Multi-device support (RAID and LVM)
A.10. Menu « Networking options »
A.11. Menu « IP: Netfilter Configuration »
A.12. Menu « IPv6: Netfilter Configuration »
A.13. Menu « AppleTalk devices »
A.14. Menu « QoS and/or fair queueing »
A.15. Menu « Network testing »
A.16. Menu « Telephony Support »
A.17. Menu « ATA/IDE/MFM/RLL support »
A.18. Menu « IDE, ATA and ATAPI Block devices »
A.19. Menu « SCSI support »
A.20. Menu « SCSI low-level drivers »
A.21. Menu « PCMCIA SCSI adapter support »
A.22. Menu « Fusion MPT device support »
A.23. Menu « IEEE 1394 (FireWire) support (EXPERIMENTAL) »
A.24. Menu « I2O support »
A.25. Menu « Network device support »
A.26. Menu « ARCnet devices »
A.27. Menu « Ethernet (10 or 100Mbit) »
A.28. Menu « Ethernet (1000 Mbit) »
A.29. Menu « Wireless LAN (non-hamradio) »
A.30. Menu « Token ring devices »
A.31. Menu « Wan interfaces »
A.32. Menu « PCMCIA network device support »
A.33. Menu « ATM drivers »
A.34. Menu « Amateur Radio support »
A.35. Menu « AX.25 network device drivers »
A.36. Menu « IrDA subsystem support »
A.37. Menu « Infrared-port device drivers »
A.38. Menu « ISDN subsystem »
A.39. Menu « ISDN feature submodules »
A.40. Menu « Passive ISDN cards »
A.41. Menu « Active ISDN cards »
A.42. Menu « Old CD-ROM drivers (not SCSI, not IDE) »
A.43. Menu « Input Core Support »
A.44. Menu « Character devices »
A.45. Menu « I2C support »
A.46. Menu « Mice »
A.47. Menu « Joystick support »
A.48. Menu « Watchdog cards »
A.49. Menu « Ftape, the floppy tape device driver »
A.50. Menu « PCMCIA character device support »
A.51. Menu « Multimedia devices »
A.52. Menu « Video For Linux »
A.53. Menu « Radio Adapters »
A.54. Menu « File systems »
A.55. Menu « Network File Systems »
A.56. Menu « Partition Types »
A.57. Menu « Native Language Support »
A.58. Menu « Console drivers »
A.59. Menu « Frame-buffer support »
A.60. Menu « Sound »
A.61. Menu « USB support »
A.62. Menu « USB Serial Converter support »
A.63. Menu « Bluetooth support »
A.64. Menu « Bluetooth device drivers »
A.65. Menu « Kernel hacking »
A.66. Menu « Library routines »
B. Compilation et mise à jour des principaux composants du système
B.1. Compilation de make 3.80.0
B.2. Compilation des binutils 2.13.1
B.3. Compilation de la bibliothèque C 2.3.1
B.4. Compilation de OpenSSL
B.5. Compilation de XFree86 4.2.1
B.6. Compilation de Lesstif 0.93.36
B.7. Compilation de MESA 5.0.0
B.8. Compilation de KDE 3.0.5
B.9. Compilation de Gnome 2.0.2
B.10. Compilation de Samba 2.2.7
C. Formulaire pour la création des lignes de mode de XFree86
D. GNU Free Documentation License
E. Licence de documentation libre GNU
Liste des tableaux
3-1. Caractéristiques des liens physiques et symboliques
3-2. Hiérarchie standard du système de fichiers
5-1. Groupes de pages de man
5-2. Principaux signaux Unix
5-3. Variables d'environnements courantes
5-4. Tests sur les fichiers
9-1. Plages d'adresses IP réservées pour un usage personnel
10-1. Fréquence maximale des moniteurs
10-2. Numéros des modes graphiques VESA
Liste des illustrations
3-1. Architecture des systèmes GNU/Linux
3-2. Le système de fichiers virtuel
4-1. Pistes et secteurs d'un disque dur
4-2. Partitions primaires et partitions logiques
4-3. Master boot record et secteurs de boot
6-1. Traitements des entrées clavier
6-2. Traitement des caractères pour l'affichage
6-3. Filtres d'impression et imprimantes PostScript
7-1. Interprétation d'un programme
7-2. Compilation et exécution d'un programme
7-3. Processus de génération d'un exécutable
8-1. Chargement automatique des modules du noyau
9-1. Notion de paquet et d'adresse réseau
9-2. Encapsulation de protocoles
9-3. Addresse IP et adresse de réseau
9-4. Notion de passerelle
9-5. Notion de route
9-6. Connexions TCP
9-7. Algorithme de cryptage symétrique
9-8. Algorithme de cryptage asymétriques
9-9. Translation d'adresses avec suivi de port TCP
9-10. Trajet des paquets dans le code de filtrage
10-1. Notion de display
10-2. Structure du fichier XF86Config
10-3. Paramètres des lignes de mode