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
1.1. Matériel, logiciel et système d'exploitation
1.2. Qu'est-ce que Linux ?
1.3. Pourquoi Linux ?
1.4. Plan du document
2. GNU, Linux et les logiciels libres
2.1. Les logiciels libres et la Free Software Foundation
2.2. Droits d'auteurs et la licence GPL
2.3. Le projet GNU et Linux
2.4. Avantages et inconvénients des logiciels libres
2.5. La motivation des auteurs et le financement des logiciels libres
3. Installation du système
3.1. Choix de la distribution
3.2. Partitionnement et systèmes de fichiers
3.2.1. Notion de partition
3.2.2. Notion de système de fichiers
3.2.3. Choix du plan de partitionnement
3.3. Prérequis
3.3.1. Récupération des informations sur le matériel
3.3.2. Sauvegarde des données
3.4. Procédure d'installation générique
3.4.1. Premier démarrage
3.4.2. Trouver de la place pour installer le système
3.4.3. Partitionnement du disque
3.4.4. Création des systèmes de fichiers
3.4.5. Création de la partition de swap
3.4.6. Installation des composants de base
3.4.7. Configuration du gestionnaire d'amorçage
3.5. Installation de la Mandriva 2007
3.6. Installation de la Debian 4.0r1
3.7. Installation de la Slackware 12.0
4. Présentation générale du système
4.1. Architecture du système
4.1.1. Principe de modularité
4.1.2. Les différentes couches logicielles sous Linux
4.1.3. Résumé de l'architecture de Linux
4.2. Sécurité et utilisateurs
4.2.1. Généralités
4.2.2. Notion d'utilisateur et d'administrateur
4.2.3. La sécurité au niveau du système de fichiers
4.3. Fonctionnalités des systèmes de fichiers
4.3.1. Le système de fichiers virtuel
4.3.2. Liens symboliques et liens physiques
4.3.3. Autres fonctionnalités
4.4. Structure du système de fichiers
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 sur les chemins Unix
5.6. Opérations de base sur les fichiers
5.7. Autres commandes utiles
5.7.1. Gestion des liens
5.7.2. Recherche de fichiers
5.7.3. Recherche d'un texte dans un fichier
5.7.4. Remplacement de texte dans les fichiers
5.7.5. Compression et décompression des fichiers
5.7.6. Archivage de fichiers
5.7.7. Passage en mode superviseur
5.7.8. Changement des droits des fichiers, du propriétaire et du groupe
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. Gestion des utilisateurs et de la sécurité
6.3.1. Mécanismes d'authentification des utilisateurs
6.3.2. Création et suppression des utilisateurs
6.3.3. Description de la bibliothèque PAM
6.4. Gestion des paquetages
6.4.1. Le gestionnaire de paquetages rpm
6.4.2. Le gestionnaire de paquetages apt
6.4.3. Le gestionnaire de paquetages pkgtool
6.5. Notion de niveau d'exécution et amorçage du système
6.6. Maintenance des systèmes de fichiers
6.6.1. Création des systèmes de fichiers
6.6.2. Montage des systèmes de fichiers
6.6.3. Démontage des systèmes de fichiers
6.6.4. Vérification des systèmes de fichiers
6.6.5. Configuration du montage des systèmes de fichiers
6.6.6. Montage des systèmes de fichiers à la demande
6.7. Gestion des volumes
6.7.1. Gestion des fichiers images
6.7.2. Agrégation de volumes
6.7.3. Chiffrement des systèmes de fichiers
6.8. Configuration des terminaux virtuels
6.9. Configuration de la console
6.9.1. Pages de codes et Unicode
6.9.2. Principe de fonctionnement du clavier
6.9.3. Principe de fonctionnement de l'écran de la console
6.9.4. Configuration du clavier
6.9.5. Choix de la police de caractères
6.9.6. Configuration des paramètres du terminal
6.9.7. Description des terminaux
6.9.8. Paramétrage des applications
6.9.9. Configuration de la souris
6.10. Configuration de l'imprimante
6.10.1. Concepts de base de l'impression sous Unix
6.10.2. Le système d'impression LPRng
6.10.3. Le système d'impression CUPS
6.11. Configuration du lancement automatique des tâches
6.12. Gestion de l'énergie
6.12.1. Généralités sur la gestion de l'énergie
6.12.2. Configuration de la gestion de l'énergie
6.12.3. Le démon ACPI
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. Modules du noyau
8.1.2. Les fichiers spéciaux de périphériques
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/DVD
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.3.6. Configuration des adaptateurs Wifi
8.4. Configuration des ports de communication
8.4.1. Prise en charge des périphériques ISA standards
8.4.2. Installation des périphériques USB
8.4.3. 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.3. Configuration de la connexion à Internet
9.3.1. Le protocole PPP
9.3.2. Création d'une connexion à Internet
9.3.3. Connexion à l'ADSL
9.3.4. Les autres outils de connexion
9.3.5. Configuration d'un cache de DNS
9.3.6. Installation d'un proxy HTTP
9.4. Pare-feu 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 dans le code de Netfilter
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 de la sécurité du réseau
9.5.1. Limitation des services et des accès
9.5.2. Chiffrement des communications
9.6. Configuration des fonctions serveur
9.6.1. Paramétrage des connexions extérieures
9.6.2. Configuration des liaisons PPP
9.6.3. Liaison de deux ordinateurs par un câble série
9.6.4. Configuration d'un serveur DHCP
9.7. Systèmes de fichiers en réseau
9.7.1. Installation d'un serveur de fichiers NFS
9.7.2. Configuration d'un client NFS
9.7.3. Installation d'un serveur de fichiers SMB
9.7.4. Configuration d'un client SMB
10. Installation de XWindow
10.1. Généralités sur XWindow
10.2. Installation de X.org
10.3. Configuration de X.org
10.3.1. Génération automatique du fichier xorg.conf
10.3.2. Utilisation de xorgconfig
10.3.3. Utilisation de xorgcfg
10.3.4. Description du fichier xorg.conf
10.3.5. Informations utilisées lors du démarrage de X.org
10.3.6. Utilisation de xvidtune
10.4. Utilisation du pilote frame buffer du noyau
10.4.1. Configuration du noyau et installation du pilote
10.4.2. Configuration du serveur X
10.5. Configuration des terminaux X
10.5.1. Principe de fonctionnement de xdm
10.5.2. Configuration de xdm
10.5.3. Paramétrage des terminaux X
10.6. Paramétrage des applications et ressources X
10.7. Gestion de la sécurité sous XWindow
10.7.1. La commande xhost
10.7.2. La commande xauth
10.8. Gestion des polices de caractères
10.8.1. Gestion des polices de caractères sous XWindow
10.8.2. Installation des polices Truetype
10.8.3. Configuration d'un serveur de polices
10.9. Problèmes classiques rencontrés
11. Conclusion
A. Options de configuration du noyau
A.1. Menu « General setup »
A.1.1. Sous-menu « Configure standard kernel features (for small systems) »
A.2. Menu « Loadable module support »
A.3. Menu « Block layer »
A.3.1. Sous-menu « IO Schedulers »
A.4. Menu « Processor type and features »
A.4.1. Sous-menu « Firmware Drivers »
A.5. Menu « Power management options (ACPI, APM) »
A.6. Menu « Bus options (PCI, PCMCIA, EISA, MCA, ISA) »
A.6.1. Sous-menu « PCCARD (PCMCIA/CardBus) support »
A.6.2. Sous-menu « PCI Hotplug Support »
A.7. Menu « Executable file formats / Emulations »
A.8. Menu « Networking »
A.8.1. Menu « Networking options »
A.8.2. Menu « Amateur Radio support »
A.8.3. Menu « IrDA (infrared) subsystem support »
A.8.4. Menu « Bluetooth sybsystem support »
A.8.5. Option « RxRPC session socket »
A.8.6. Menu « Wireless »
A.8.7. Option « RF switch subsystem support »
A.8.8. Option « Plan 9 Resource Sharing Support (9P2000) (Experimental) »
A.9. Device Drivers
A.9.1. Menu « Generic Driver Options »
A.9.2. Menu « Connector - unified userspace <-> kernelspace linker »
A.9.3. Menu « Memory Technology Devices (MTD) »
A.9.4. Menu « Parallel port support »
A.9.5. Menu « Plug and Play support »
A.9.6. Menu « Block devices »
A.9.7. Sous-menu « Misc devices »
A.9.8. Menu « ATA/ATAPI/MFM/RLL support »
A.9.9. Menu « SCSI device support »
A.9.10. Menu « Serial ATA (prod) and Parallel ATA (experimental) drivers »
A.9.11. Menu « Multi-device support (RAID and LVM)
A.9.12. Menu « Fusion MPT device support »
A.9.13. Menu « IEEE 1394 (FireWire) support (EXPERIMENTAL) »
A.9.14. Menu « I2O device support »
A.9.15. Configuration des interfaces réseau
A.9.16. Menu « ISDN subsystem »
A.9.17. Menu « Telephony Support »
A.9.18. Menu « Input device support »
A.9.19. Menu « Character devices »
A.9.20. Sous-menu « I2C support »
A.9.21. Sous-menu « SPI support »
A.9.22. Sous-menu « Dallas's 1-wire bus »
A.9.23. Sous-menu « Power supply class support »
A.9.24. Sous-menu « Hardware Monitoring support »
A.9.25. Sous-menu « Multifunction device drivers »
A.9.26. Menu « Multimedia devices »
A.9.27. Menu « Graphics support »
A.9.28. Menu « Sound »
A.9.29. Menu « HID Devices »
A.9.30. Menu « USB support »
A.9.31. Menu « MMC/SD Card support »
A.9.32. Menu « LED devices »
A.9.33. Menu « InfiniBand support »
A.9.34. Menu « EDAC - error detection and reporting (RAS) (EXPERIMENTAL) »
A.9.35. Menu « Real Time Clock »
A.9.36. Menu « DMA Engine support »
A.9.37. Menu « Auxiliary Display support »
A.9.38. Menu « Virtualization »
A.9.39. Menu « Userspace I/O »
A.9.40. Menu « Linux hypervisor example code (NEW) »
A.10. Menu « File systems »
A.10.1. Sous-menu « CDROM/DVD Filesystems »
A.10.2. Sous-menu « DOS/FAT/NT Filesystems »
A.10.3. Sous-menu « Pseudo filesystems »
A.10.4. Sous-menu « Miscelaneous filesystems »
A.10.5. Sous-menu « Network File Systems »
A.10.6. Sous-menu « Partition Types »
A.10.7. Sous-menu « Native Language Support »
A.11. Menu « Instrumentation Support »
A.12. Menu « Kernel hacking »
A.13. Menu « Security options »
A.14. Menu « Cryptographic options »
A.15. Menu « Library routines »
B. Compilation et mise à jour des principaux composants du système
B.1. Compilation de make 3.81
B.2. Compilation des binutils 2.17.0
B.3. Compilation de la bibliothèque C 2.5.0
B.4. Compilation de OpenSSL
B.5. Compilation de MESA 6.5.2
B.6. Compilation de X.org 7.3.0
B.7. Compilation de Lesstif 0.95.0
B.8. Compilation de KDE 3.5.7
B.9. Compilation de Gnome 2.20.0
B.9.1. Récupération des sources
B.9.2. Compilation des bibliothèques générales
B.9.3. Compilation des modules de base d'interfaçage avec les langages
B.9.4. Compilation des bibliothèques de Gnome
B.9.5. Compilation de Gnome
B.9.6. Compilation des bindings de Gnome
B.9.7. Compilation des outils de développements complémentaires
B.10. Compilation de Samba 3.0.23
C. Formulaire pour la création des lignes de mode de X.org
D. GNU Free Documentation License
E. Licence de documentation libre GNU
Liste des tableaux
4-1. Caractéristiques des liens physiques et symboliques
4-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. Pistes et secteurs d'un disque dur
3-2. Partitions primaires et partitions logiques
3-3. Master boot record et secteurs de boot
4-1. Architecture des systèmes GNU/Linux
4-2. Le système de fichiers virtuel
6-1. Traitements des entrées clavier
6-2. Traitement des caractères pour l'affichage
6-3. Filtres d'impression et imprimantes PostScript
6-4. 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 des modules de pilotes de périphérique
8-2. Chargement des firmwares
8-3. Création des fichiers spéciaux de périphériques
8-4. 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. Translation d'adresses avec suivi de port TCP
9-8. Trajet des paquets dans le code de filtrage
9-9. Algorithme de chiffrement symétrique
9-10. Algorithmes de chiffrement asymétriques
10-1. Notion de display
10-2. Structure du fichier xorg.conf
10-3. Paramètres des lignes de mode