Cours Linux et réseau en PDF (Avancé)
Utilisation du système d’exploitation Linux et réseau : Ce qu'il faut savoir. Ensemble de notions pratiques et techniques permettant d'administrer une machine GNU/Linux, d'interagir avec son noyau, de manipuler le système de fichiers et d'exploiter les principes de communication réseau (Ethernet, TCP/IP). Support de 54 pages téléchargeable ; apprenez à automatiser les tâches système avec des scripts shell Bash avancés pour créer des procédures reproductibles et des pipelines d'analyse — tutoriel Linux PDF et administration système Linux.
🎯 Ce que vous allez apprendre
- Architecture de démarrage et noyau — rôle du BIOS/UEFI, du MBR et du bootloader et processus de lancement du noyau Linux ; diagnostic de démarrage et configuration sécurisée d'un système multi‑amorce.
- Gestion des disques, partitions et montage — partitionnement, systèmes de fichiers et montage des volumes ; organisation de l'espace disque, montage/démontage et résolution d'accès en respectant la hiérarchie FHS.
- Shell bash et programmation de scripts — manipulation avancée du shell (prompt, redirections, tubes, expressions régulières) et utilitaires
sed,awketgrep; automatisation par scripts shell avancés et construction de pipelines. - Gestion des utilisateurs, permissions et processus — administration des comptes, politiques de mots de passe, contrôle des droits et surveillance/débogage des processus et démons.
- Gestion des paquets et environnement Ubuntu — principes d'installation et de mise à jour sous une distribution Ubuntu ; cycles de mise à jour et maintien d'un poste ou serveur à jour.
- Principes réseau et utilitaires de connectivité — architecture Ethernet, modèle TCP/IP, interfaces et routage ; identification de topologie, analyse de connectivité et outils de diagnostic pour transferts et connexions sécurisés.
- Virtualisation (VirtualBox, VMware) — création d'environnements isolés pour expérimenter, tester des installations et valider des configurations réseau sans impacter des matériels physiques.
- Administration de services réseau — principes de mise en place et gestion de services courants tels que SSH et serveurs HTTP, supervision et démarrage automatique via systemd.
📑 Sommaire du document
🛠️ Prérequis techniques
- Système hôte avec virtualisation activée (Intel VT-x / AMD‑V) pour exécuter des machines virtuelles.
- Accès à une distribution Linux (ISO Ubuntu/Debian) et 10 Go d'espace disque disponible pour les images VM.
- Connaissances de base en ligne de commande (navigation, droits d'accès) et terminal capable d'exécuter
ssh,scpet outils réseau. - Éditeur de texte (vim, nano ou VS Code) et permission d'installer des paquets si des essais sont réalisés sur une machine dédiée.
💡 Pourquoi choisir ce cours ?
Rédigé par Richard FERRERE, Chercheur au Laboratoire de Mathématiques, CNRS, Université de Franche‑Comté, ce support combine exposés techniques, procédures reproductibles et ateliers pratiques. La progression vise un niveau avancé adapté aux usages de recherche et d'exploitation, avec des cas concrets pour valider les compétences en administration système et en diagnostic réseau.
👤 À qui s'adresse ce cours ?
- Public cible : étudiants de Master (Modélisation Statistique), chercheurs et professionnels souhaitant consolider des pratiques système et réseau pour travaux pratiques et projets de recherche.
- Prérequis : notions d'architecture processeur (32/64 bits), familiarité basique avec la ligne de commande et connaissances élémentaires en programmation ou scripts pour suivre la partie automatisation et TP.
❓ Foire Aux Questions (FAQ)
Quel est le rôle exact du MBR et du bootloader dans le démarrage ? Le MBR contient la zone d'amorce qui permet d'exécuter le chargeur d'amorçage ; celui‑ci initialise le noyau Linux et lui transmet les paramètres de démarrage. Comprendre cette séquence permet d'intervenir sur le partitionnement, réparer le chargement ou configurer un dual‑boot en limitant les risques d'écrasement des partitions.
Comment distinguer redirections, tubes et expressions régulières dans des scripts shell ? Les redirections gèrent l'entrée/sortie (>, <), les tubes transmettent la sortie d'un processus en entrée d'un autre via |, et les expressions régulières servent à filtrer des flux avec grep, sed ou awk. La combinaison de ces mécanismes permet de construire des chaînes de traitement puissantes et efficaces pour l'analyse de fichiers et la supervision système.
Modèle OSI et correspondance avec TCP/IP
Méthodologie de diagnostic réseau
Le document explicite le modèle OSI en sept couches et précise ses correspondances avec la suite TCP/IP : couche d'accès réseau (liaison + physique), couche Internet (IP), couche transport (TCP/UDP) et couche application (HTTP, SSH, etc.). L'approche en couches facilite le diagnostic en ciblant la partie affectée et en orientant les outils et les méthodes de résolution.
| Couche OSI | Rôle principal | Protocoles / exemples TCP/IP |
|---|---|---|
| 7 — Application | Interfaces applicatives et services (HTTP, SSH) | HTTP, SSH, SMTP, DNS |
| 6 — Présentation | Formatage des données, chiffrement | TLS/SSL (sous-jacent aux applications) |
| 5 — Session | Gestion des sessions et connexions | Contrôle de session via TCP |
| 4 — Transport | Segmentation et contrôle de flux | TCP, UDP |
| 3 — Réseau | Adressage et routage | IP (IPv4 / IPv6) |
| 2 — Liaison | Accès au média, commutation | Ethernet, ARP |
| 1 — Physique | Transmissions physiques | Câblage, interfaces réseau |
Concepts clés du réseau sous Linux
Les concepts fondamentaux présentés décrivent l'interface entre le système et le réseau : adressage IP, routage, tables de routage, NAT, ponts et VLAN. La rubrique expose les outils adaptés par couche (par ex. ip, arp, tcpdump) et fournit des scénarios d'analyse pour localiser rapidement une panne. Ce contenu se rattache au tutoriel Linux PDF pour lier théorie, commandes et cas pratiques en environnement réel ou virtualisé.
Outils de diagnostic réseau sous Linux
Liste des utilitaires et usages recommandés pour le diagnostic réseau Linux : prise de captures, analyse de flux, vérification d'adressage et tests de connectivité. Les exemples fournis dans le cours montrent des séquences réalistes pour isoler un incident réseau et documenter les résultats.
ip— configuration d'interfaces, consultation des routes et manipulation des adresses.ss/netstat— inspection des sockets et des connexions actives.arp— résolution d'adresses au niveau liaison.tcpdump/tshark— capture de paquets pour analyse au niveau trame et segment.nmap— scan de ports et découverte d'hôtes.ethtool— diagnostic des interfaces physiques et modes de liaison.
Virtualisation et environnements de test Linux
Bonnes pratiques de virtualisation
La virtualisation permet d'installer des distributions Linux dans des machines virtuelles pour expérimenter sans risque. Le cours décrit VirtualBox et VMware : création d'une VM, allocation CPU/RAM, création d'un disque virtuel, montage de l'ISO, configuration du mode réseau (NAT, bridge) et gestion des snapshots pour valider des procédures avant déploiement.
Administration de services réseau sous Debian/Ubuntu
Configuration et supervision détaillées
Notions traitées sur des cas concrets : installation et configuration d'un serveur SSH (authentification par clé publique), déploiement d'un serveur HTTP (Apache/nginx) avec virtualhosts, gestion des certificats TLS et règles de pare‑feu. L'utilisation de systemctl et de journalctl est documentée pour démarrer, activer et diagnostiquer les services.
Exercices et Travaux Pratiques
Méthodologie et critères d'évaluation
La partie TP propose des exercices progressifs : réparation d'un bootloader corrompu en environnement virtualisé, écriture d'un script shell avancé pour parser et agréger des logs système, configuration d'un pont réseau et test de routage entre deux VMs, et mise en place d'un serveur SSH sécurisé. Chaque TP inclut objectifs, matériel requis, étapes de vérification et critères d'évaluation. Les travaux pratiques favorisent l'application méthodique des concepts et la reproduction contrôlée d'incidents pour renforcer la compétence opérationnelle en administration système et serveur réseau.
Automatisation système : Scripts Bash avancés
La section présente des modèles réutilisables pour la maintenance et l'orchestration de tâches : sauvegarde automatisée, rotation de logs, collecte de métriques et génération de rapports. Exemples pratiques et bonnes pratiques de robustesse (gestion d'erreurs, logs, tests unitaires simples) sont fournis pour intégrer les scripts dans des workflows de production.
- Structures de contrôle :
if,case, bouclesfor/while, fonctions et gestion des retours d'erreur. - Gestion d'arguments :
getopts, tests avec[[]]ettest. - Techniques d'IO : redirections, pipelines,
tee,xargset here-docs. - Utilitaires pour le traitement de flux :
grep,sed,awkpour parser et agréger des logs. - Orchestration et planification :
cronet timers systemd pour automatiser l'exécution périodique.
#!/bin/bash
# Exemple : compter les lignes d'erreur dans les logs système
LOG="/var/log/syslog"
grep -i "error" "$LOG" | awk '{count[$3]++} END {for (p in count) print p, count[p]}'
Exemple de commandes abordées
Outils et séquences de commandes indispensables pour l'administration et le diagnostic, avec exemples d'usage et cas d'application pour chaque outil afin d'illustrer des scénarios réels.
grep— recherche et filtrage de motifs dans des fichiers ou flux.awk— traitement et extraction de champs structurés pour rapports et agrégations.sed— éditions non interactives et transformations de flux.ip— configuration d'interfaces, routage et gestion d'adresses IP.tcpdump— capture et analyse de trafic réseau pour diagnostic bas niveau.