Product SiteDocumentation Site

Debian 12

Le cahier de l'administrateur Debian

Debian Bookworm from Discovery to Mastery

Édition 1

Raphaël Hertzog

Daniel Leidert

Note légale

ISBN: 979-10-91414-23-4 (English paperback)
ISBN: 979-10-91414-24-1 (English ebook)
Ce livre est disponible sous deux licences compatibles avec les « principes du logiciel libre selon Debian ».
Notice de licence Creative Commons :
Ce livre est disponible sous licence « Creative Commons Attribution-ShareAlike 3.0 Unported » (Creative Commons Attribution - Partage dans les mêmes conditions 3.0 Non transposé).
Notice de licence publique générale GNU :
ce livre est de la documentation libre. Vous pouvez le redistribuer et/ou le modifier selon les termes de la licence publique générale GNU telle que publiée par la Free Software Foundation, soit la version 2 de cette licence ou (à votre option) toute version plus récente.
Ce livre est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE ; sans même la garantie tacite qu'il soit COMMERCIALISABLE ou ADAPTÉ À UN USAGE PARTICULIER. Veuillez vous référer à la licence publique générale GNU pour plus de détails.
Vous devriez avoir reçu une copie de la licence publique générale GNU avec ce livre. Si ce n'est pas le cas, consultez https://www.gnu.org/licenses/.

Montrez que vous appréciez notre travail

Ce livre est publié sous une licence libre parce que nous voulons que tout le monde en profite. Ceci dit, assurer sa maintenance demande beaucoup de temps et d'efforts, et nous apprécions être remerciés pour cela. Si vous trouvez ce livre utile, envisagez de contribuer à son avenir en achetant une copie papier ou en faisant une donation via le site officiel du livre : ("https://raphaelhertzog.fr/livre/cahier-admin-debian/")

Résumé

Un livre de référence présentant la distribution Debian, de l'installation initiale à la configuration de services.
Préface
Avant-propos
1. Pourquoi ce livre ?
2. À qui s'adresse cet ouvrage ?
3. Approche adoptée
4. Structure du livre
5. Contribuer
6. Remerciements
6.1. Un peu d'histoire
6.2. Remerciements particuliers aux contributeurs
6.3. Remerciements aux traducteurs
6.4. Remerciements personnels de Raphaël
6.5. Remerciements personnels de Roland
1. Le projet Debian
1.1. Qu'est-ce que Debian ?
1.1.1. Un système d'exploitation multi-plate-forme
1.1.2. La qualité des logiciels libres
1.1.3. Le cadre : une association
1.2. Textes fondateurs
1.2.1. L'engagement vis-à-vis des utilisateurs
1.2.2. Les principes du logiciel libre selon Debian
1.3. Fonctionnement du projet Debian
1.3.1. Les développeurs Debian
1.3.2. Le rôle actif des utilisateurs
1.3.3. Teams, Blends, and Sub-Projects
1.4. Suivre les actualités Debian
1.5. Rôle d'une distribution
1.5.1. L'installateur : debian-installer
1.5.2. La bibliothèque de logiciels
1.6. Cycle de vie d'une release
1.6.1. Le statut Experimental
1.6.2. Le statut Unstable
1.6.3. La migration vers Testing
1.6.4. La promotion de Testing en Stable
1.6.5. Le statut de Oldstable et Oldoldstable
2. Présentation de l'étude de cas
2.1. Des besoins informatiques en forte hausse
2.2. Plan directeur
2.3. Pourquoi une distribution GNU/Linux ?
2.4. Pourquoi la distribution Debian ?
2.4.1. Distributions communautaires et commerciales
2.5. Why Debian Bookworm?
3. Prise en compte de l'existant et migration
3.1. Coexistence en environnement hétérogène
3.1.1. Intégration avec des machines Windows
3.1.2. Integration with macOS machines
3.1.3. Intégration avec d'autres machines Linux/Unix
3.2. Démarche de migration
3.2.1. Recenser et identifier les services
3.2.2. Conserver la configuration
3.2.3. Prendre en main un serveur Debian existant
3.2.4. Installer Debian
3.2.5. Installer et configurer les services sélectionnés
4. Installation
4.1. Méthodes d'installation
4.1.1. Installation depuis un CD-Rom/DVD-Rom
4.1.2. Démarrage depuis une clé USB
4.1.3. Installation par boot réseau
4.1.4. Autres méthodes d'installation
4.2. Étapes du programme d'installation
4.2.1. Exécution du programme d'installation
4.2.2. Choix de la langue
4.2.3. Choix du pays
4.2.4. Choix de la disposition du clavier
4.2.5. Détection du matériel
4.2.6. Chargement des composants
4.2.7. Détection du matériel réseau
4.2.8. Configuration du réseau
4.2.9. Mot de passe administrateur
4.2.10. Création du premier utilisateur
4.2.11. Configuration de l'horloge
4.2.12. Détection des disques et autres périphériques
4.2.13. Démarrage de l'outil de partitionnement
4.2.14. Installation du système de base Debian
4.2.15. Configuration de l'outil de gestion des paquets (apt)
4.2.16. Concours de popularité des paquets
4.2.17. Sélection des paquets à installer
4.2.18. Installation du chargeur d'amorçage GRUB
4.2.19. Terminer l'installation et redémarrer
4.3. Après le premier démarrage
4.3.1. Installation de logiciels supplémentaires
4.3.2. Mise à jour du système
5. Système de paquetage, outils et principes fondamentaux
5.1. Structure d'un paquet binaire
5.2. Méta-informations d'un paquet
5.2.1. Description : fichier control
5.2.2. Scripts de configuration
5.2.3. Checksums, List of Configuration Files, et al.
5.3. Structure d'un paquet source
5.3.1. Format
5.3.2. Utilité chez Debian
5.4. Manipuler des paquets avec dpkg
5.4.1. Installation de paquets
5.4.2. Suppression de paquets
5.4.3. Consulter la base de données de dpkg et inspecter des fichiers .deb
5.4.4. Journal de dpkg
5.4.5. Support multi-architecture
5.5. Cohabitation avec d'autres systèmes de paquetages
6. Maintenance et mise à jour : les outils APT
6.1. Renseigner le fichier sources.list
6.1.1. Syntaxe
6.1.2. Dépôts pour les utilisateurs de Stable
6.1.3. Dépôts pour les utilisateurs de Testing/Unstable
6.1.4. Using Alternate Mirrors
6.1.5. Ressources non officielles : mentors.debian.net
6.1.6. Mandataire avec cache (proxy-cache) pour paquets Debian
6.2. Commandes aptitude, apt-get et apt
6.2.1. Initialisation
6.2.2. Installation et suppression
6.2.3. Mise à jour
6.2.4. Options de configuration
6.2.5. Gérer les priorités associées aux paquets
6.2.6. Travailler avec plusieurs distributions
6.2.7. Suivi des paquets installés automatiquement
6.2.8. APT Patterns
6.3. Commande apt-cache
6.3.1. The apt-cache policy Command
6.4. The apt-file Command
6.5. Frontaux : aptitude, synaptic
6.5.1. aptitude
6.5.2. synaptic
6.6. Vérification d'authenticité des paquets
6.7. Mise à jour d'une distribution à la suivante
6.7.1. Démarche à suivre
6.7.2. Gérer les problèmes consécutifs à une mise à jour
6.7.3. Cleaning Up after an Upgrade
6.8. Maintenir un système à jour
6.9. Mise à jour automatique
6.9.1. Configuration de dpkg
6.9.2. Configuration d'APT
6.9.3. Configuration de debconf
6.9.4. Gestion des interactions en ligne de commande
6.9.5. La combinaison miracle
6.10. Recherche de paquets
7. Résolution de problèmes et sources d'informations
7.1. Les sources de documentation
7.1.1. Les pages de manuel
7.1.2. Documentation au format info
7.1.3. La documentation spécifique
7.1.4. Les sites web
7.1.5. Les tutoriels (HOWTO)
7.2. Procédures types
7.2.1. Configuration d'un logiciel
7.2.2. Surveiller l'activité des démons
7.2.3. Demander de l'aide sur une liste de diffusion
7.2.4. Signaler un bogue en cas de problème incompréhensible
8. Configuration de base : réseau, comptes, impression...
8.1. Francisation du système
8.1.1. Définir la langue par défaut
8.1.2. Configurer le clavier
8.1.3. Migration vers UTF-8
8.2. Configuration du réseau
8.2.1. Interface Ethernet
8.2.2. Interface sans fil
8.2.3. Connexion PPP par modem téléphonique
8.2.4. Connexion par modem ADSL
8.2.5. Configuration réseau itinérante
8.3. Attribution et résolution de noms
8.3.1. Résolution de noms
8.4. Base de données des utilisateurs et des groupes
8.4.1. Liste des utilisateurs : /etc/passwd
8.4.2. Le fichier des mots de passe chiffrés et cachés : /etc/shadow
8.4.3. Modifier un compte ou mot de passe existant
8.4.4. Bloquer un compte
8.4.5. Liste des groupes : /etc/group
8.5. Création de compte
8.6. Environnement des interpréteurs de commandes
8.7. Configuration de l'impression
8.8. Configuration du chargeur d'amorçage
8.8.1. Identifier ses disques
8.8.2. Configuration de GRUB 2
8.8.3. Using GRUB with EFI and Secure Boot
8.9. Autres configurations : synchronisation, logs, partages…
8.9.1. Fuseau horaire
8.9.2. Synchronisation horaire
8.9.3. Rotation des fichiers de logs
8.9.4. Partage des droits d'administration
8.9.5. Liste des points de montage
8.9.6. locate et updatedb
8.10. Compilation d'un noyau
8.10.1. Introduction et prérequis
8.10.2. Récupérer les sources
8.10.3. Configuration du noyau
8.10.4. Compilation et génération du paquet
8.10.5. Compilation de modules externes
8.10.6. Emploi d'un patch sur le noyau
8.11. Installation d'un noyau
8.11.1. Caractéristiques d'un paquet Debian du noyau
8.11.2. Installation avec dpkg
9. Services Unix
9.1. Démarrage du système
9.1.1. Le système d'initialisation systemd
9.1.2. Le système d'initialisation System V
9.2. Connexion à distance
9.2.1. Connexion à distance sécurisée : SSH
9.2.2. Accéder à distance à des bureaux graphiques
9.3. Gestion des droits
9.3.1. Owners and Permissions
9.3.2. ACLs - Access Control Lists
9.4. Interfaces d'administration
9.4.1. Browser-based Administration: cockpit
9.4.2. Administrer sur interface web : webmin
9.4.3. Configuration des paquets : debconf
9.5. Les événements système de syslog
9.5.1. Principe et fonctionnement
9.5.2. Le fichier de configuration
9.6. Le super-serveur inetd
9.7. Planification de tâches : cron et atd
9.7.1. Format d'un fichier crontab
9.7.2. Emploi de la commande at
9.8. Planification asynchrone : anacron
9.9. Les quotas
9.10. Sauvegarde
9.10.1. Sauvegarde avec rsync
9.10.2. Restauration des machines non sauvegardées
9.11. Branchements « à chaud » : hotplug
9.11.1. Introduction
9.11.2. La problématique du nommage
9.11.3. Fonctionnement de udev
9.11.4. Cas pratique
9.12. Gestion de l'énergie : Advanced Configuration and Power Interface (ACPI)
10. Infrastructure réseau
10.1. Passerelle
10.2. X.509 certificates
10.2.1. Creating gratis trusted certificates
10.2.2. Infrastructure de clés publiques easy-rsa
10.3. Réseau privé virtuel
10.3.1. OpenVPN
10.3.2. Réseau privé virtuel avec SSH
10.3.3. IPsec
10.3.4. PPTP
10.4. Qualité de service
10.4.1. Principe et fonctionnement
10.4.2. Configuration et mise en œuvre
10.5. Routage dynamique
10.6. IPv6
10.6.1. Tunnel
10.7. Serveur de noms (DNS)
10.7.1. DNS software
10.7.2. Configuring bind
10.8. DHCP
10.8.1. Configuration
10.8.2. DHCP et DNS
10.9. Outils de diagnostic réseau
10.9.1. Diagnostic local : netstat
10.9.2. Diagnostic distant : nmap
10.9.3. Les sniffers : tcpdump et wireshark
11. Services réseau : Postfix, Apache, NFS, Samba, Squid, LDAP, SIP, XMPP, TURN
11.1. Serveur de messagerie électronique
11.1.1. Installation de Postfix
11.1.2. Configuration de domaines virtuels
11.1.3. Restrictions à la réception et à l'envoi
11.1.4. Mise en place du greylisting
11.1.5. Personnalisation des filtres en fonction du destinataire
11.1.6. Integrating an Antivirus Filter
11.1.7. Fighting Spam with SPF, DKIM and DMARC
11.1.8. SMTP authentifié
11.2. Serveur web (HTTP)
11.2.1. Installation d'Apache
11.2.2. Adding support for SSL
11.2.3. Configuration d'hôtes virtuels
11.2.4. Directives courantes
11.2.5. Analyseur de logs
11.3. Serveur de fichiers FTP
11.4. Serveur de fichiers NFS
11.4.1. Sécuriser NFS (au mieux)
11.4.2. Serveur NFS
11.4.3. Client NFS
11.5. Partage Windows avec Samba
11.5.1. Samba en serveur
11.5.2. Samba en client
11.6. Mandataire HTTP/FTP
11.6.1. Installation
11.6.2. Configuration d'un cache
11.6.3. Configuration d'un filtre
11.7. Annuaire LDAP
11.7.1. Installation
11.7.2. Remplissage de l'annuaire
11.7.3. Utiliser LDAP pour gérer les comptes
11.8. Services de communication en temps réel
11.8.1. Paramètres DNS pour les services RTC
11.8.2. Serveur TURN
11.8.3. Serveur Proxy SIP
11.8.4. Serveur XMPP
11.8.5. Services fonctionnant sur le port 443
11.8.6. Ajout de WebRTC
12. Administration avancée
12.1. RAID et LVM
12.1.1. RAID logiciel
12.1.2. LVM
12.1.3. RAID ou LVM ?
12.2. Virtualisation
12.2.1. Xen
12.2.2. LXC
12.2.3. Virtualisation avec KVM
12.3. Installation automatisée
12.3.1. Fully Automatic Installer (FAI)
12.3.2. Debian-installer avec préconfiguration
12.3.3. Simple-CDD : la solution tout en un
12.4. Supervision
12.4.1. Mise en œuvre de Munin
12.4.2. Mise en œuvre de Nagios
13. Station de travail
13.1. Configuration du serveur X11
13.2. Personnalisation de l'interface graphique
13.2.1. Choix d'un gestionnaire d'écran (display manager)
13.2.2. Choix d'un gestionnaire de fenêtres
13.2.3. Gestion des menus
13.3. Bureaux graphiques
13.3.1. GNOME
13.3.2. KDE and Plasma
13.3.3. Xfce et autres
13.3.4. Other Desktop Environments
13.4. Courrier électronique
13.4.1. Evolution
13.4.2. KMail
13.4.3. Thunderbird
13.5. Navigateurs web
13.6. Développement
13.6.1. Outils pour GTK+ sur GNOME
13.6.2. Tools for Qt
13.7. Suites bureautiques
13.8. L'émulation Windows : Wine
13.9. Logiciels de communication en temps réel
14. Sécurité
14.1. Définir une politique de sécurité
14.2. Pare-feu ou filtre de paquets
14.2.1. nftables Behavior
14.2.2. Moving from iptables to nftables
14.2.3. Syntax of nft
14.2.4. Installer les règles à chaque démarrage
14.3. Supervision : prévention, détection, dissuasion
14.3.1. Surveillance des logs avec logcheck
14.3.2. Surveillance de l'activité
14.3.3. Avoiding Intrusion
14.3.4. Détection des changements
14.3.5. Détection d'intrusion (IDS/NIDS)
14.4. Introduction à AppArmor
14.4.1. Les principes
14.4.2. Activer AppArmor et gérer les profils
14.4.3. Créer un nouveau profil
14.5. Introduction à SELinux
14.5.1. Les principes
14.5.2. La mise en route
14.5.3. La gestion d'un système SELinux
14.5.4. L'adaptation des règles
14.6. Autres considérations sur la sécurité
14.6.1. Risques inhérents aux applications web
14.6.2. Savoir à quoi s'attendre
14.6.3. Bien choisir les logiciels
14.6.4. Gérer une machine dans son ensemble
14.6.5. Les utilisateurs sont des acteurs
14.6.6. Sécurité physique
14.6.7. Responsabilité juridique
14.7. En cas de piratage
14.7.1. Détecter et constater le piratage
14.7.2. Mettre le serveur hors ligne
14.7.3. Préserver tout ce qui peut constituer une preuve
14.7.4. Réinstaller
14.7.5. Analyser à froid
14.7.6. Reconstituer le scénario de l'attaque
15. Conception d'un paquet Debian
15.1. Recompiler un paquet depuis ses sources
15.1.1. Récupérer les sources
15.1.2. Effectuer les modifications
15.1.3. Démarrer la recompilation
15.2. Construire son premier paquet
15.2.1. Métapaquet ou faux paquet
15.2.2. Simple archive de fichiers
15.3. Créer une archive de paquets pour APT
15.4. Devenir mainteneur de paquet
15.4.1. Apprendre à faire des paquets
15.4.2. Processus d'acceptation
16. Conclusion : l'avenir de Debian
16.1. Développements à venir
16.2. Avenir de Debian
16.3. Avenir de ce livre
A. Distributions dérivées
A.1. Recensement et coopération
A.2. Ubuntu
A.3. Linux Mint
A.4. Knoppix
A.5. Aptosid et Siduction
A.6. Grml
A.7. Tails
A.8. Kali Linux
A.9. Devuan
A.10. DoudouLinux
A.11. Raspbian
A.12. PureOS
A.13. SteamOS
A.14. Et d'autres encore
B. Petit cours de rattrapage
B.1. Interpréteur de commandes et commandes de base
B.1.1. Déplacement dans l'arborescence et gestion des fichiers
B.1.2. Consultation et modification des fichiers texte
B.1.3. Recherche de fichiers et dans les fichiers
B.1.4. Gestion des processus
B.1.5. Informations système : mémoire, espace disque, identité
B.2. Organisation de l'arborescence des fichiers
B.2.1. La racine
B.2.2. Le répertoire personnel de l'utilisateur
B.3. Fonctionnement d'un ordinateur : les différentes couches en jeu
B.3.1. Au plus bas niveau : le matériel
B.3.2. Le démarreur : le BIOS ou l'UEFI
B.3.3. Le noyau
B.3.4. L'espace utilisateur
B.4. Quelques fonctions remplies par le noyau
B.4.1. Pilotage du matériel
B.4.2. Systèmes de fichiers
B.4.3. Fonctions partagées
B.4.4. Gestion des processus
B.4.5. Gestion des permissions
B.5. L'espace utilisateur
B.5.1. Processus
B.5.2. Démons
B.5.3. Communications entre processus
B.5.4. Bibliothèques