Cette formation Linux vous mène de la première commande à l'administration d'un serveur en production, jusqu'aux certifications RHCSA et LFCS. Elle réunit près de 200 leçons réparties en volets thématiques, une centaine de labs pratiques jouables sur de vraies machines et un quiz sur chaque guide, pour un parcours complet et gratuit. Elle s'adresse aux administrateurs débutants ou intermédiaires, aux développeurs qui veulent comprendre leur environnement de production, et à ceux qui préparent une certification. Testée sur Debian 13, Ubuntu Server 26.04 et AlmaLinux 10.
Aller droit au but 🚀
Section intitulée « Aller droit au but 🚀 »Ce que vous saurez faire
Section intitulée « Ce que vous saurez faire »- Administrer un serveur Linux en autonomie sur les distributions majeures.
- Diagnostiquer et résoudre des incidents système, réseau et stockage.
- Sécuriser un système : permissions, sudo, ACL, SELinux/AppArmor, pare-feu.
- Automatiser avec des scripts Bash robustes et des tâches planifiées.
- Préparer une certification crédible : RHCSA (EX200) ou LFCS.
Ma logique : comprendre, pratiquer, prouver
Section intitulée « Ma logique : comprendre, pratiquer, prouver »J'administre des serveurs Linux depuis des années, et j'ai construit cette formation autour d'une conviction simple : on ne retient que ce qu'on a cassé et réparé soi-même. Chaque sujet suit donc le même fil, comprendre puis pratiquer puis prouver. Un guide pose le modèle mental et les commandes, un lab vous met aux commandes d'une VM jetable où l'erreur ne coûte rien, et un quiz vérifie que l'essentiel est acquis.
Ce que je refuse : les tutoriels qui enchaînent des commandes sans expliquer pourquoi, et les exemples foo/bar déconnectés du réel. Ici, chaque commande a tourné sur une vraie machine avant d'être écrite, et chaque lab vérifie la persistance après reboot, parce que sur un examen comme en production, ce qui ne survit pas au redémarrage ne compte pas.
Le programme, volet par volet
Section intitulée « Le programme, volet par volet »Le parcours est découpé en volets thématiques que vous suivez dans l'ordre ou selon votre besoin. Chaque leçon porte son guide, souvent son lab et son quiz.
Fondamentaux
Sept volets pour poser les bases : découvrir Linux, se repérer dans les fichiers, manipuler le texte, utiliser le shell, gérer droits et processus, installer des logiciels, lire les logs.
42 leçons
Exploiter
Huit volets pour l'usage quotidien : texte en ligne de commande, SSH, scripts Bash, shells, planification, processus, performances, systemd.
45 leçons
Stockage
Partitions, systèmes de fichiers, montages persistants, LVM, RAID, chiffrement LUKS, quotas et performances disque.
21 leçons
Réseau
Configurer une interface de façon persistante, Netplan et NetworkManager, agrégation de liens, diagnostic, transferts de fichiers.
11 leçons
Maintenir
Sécuriser
Utilisateurs et groupes, sudo, ACL, LDAP/SSSD, durcissement (sysctl, GRUB, permissions), pare-feu et SELinux/AppArmor.
15 leçons
Dépanner
Méthode de diagnostic, service qui ne démarre pas, perte d'accès SSH, système de fichiers en lecture seule, boot bloqué.
7 leçons
Internals
Les mécanismes du noyau : cgroups, namespaces et capabilities, pour comprendre ce qui se passe sous la surface.
3 leçons
Valider par la pratique
Section intitulée « Valider par la pratique »La formation ne se limite pas à des guides à lire. Elle repose sur la preuve par la pratique : une centaine de labs jouables en ligne de commande, avec de nouveaux labs qui arrivent régulièrement, plus un capstone qui simule l'examen RHCSA complet.
Chaque lab prépare un environnement jetable (un shell isolé ou une VM), déroule un scénario, puis vérifie l'état réel du système et calcule un score. Vous ne cassez rien sur votre poste. La CLI dsoxlab pilote tout : lancer, valider, suivre sa progression.
Drills, conditions d'examen
Section intitulée « Drills, conditions d'examen »Entre les labs guidés (apprendre) et les capstones (examen complet), les drills sont une couche intermédiaire : des tâches courtes, sans indices et chronométrées, à réaliser comme le jour J. La plupart sont bi-distribution : un seul contenu sert la RHCSA (RHEL) et la LFCS, on choisit la cible avec --target.
Les certifications RHCSA et LFCS
Section intitulée « Les certifications RHCSA et LFCS »Deux certifications structurent la formation : la RHCSA de Red Hat et la LFCS de la Linux Foundation. Ce ne sont pas une annexe, mais une voie majeure de validation de vos compétences, et tout le parcours y prépare.
Les distributions, version par version
Section intitulée « Les distributions, version par version »Le parcours reste valable quelle que soit votre distribution. Mais chaque version majeure apporte des changements qui touchent un serveur en production et ne se devinent pas : Debian 13 monte /tmp en mémoire et cesse de lire /etc/sysctl.conf, Ubuntu 26.04 remplace les coreutils GNU par une réimplémentation en Rust, et AlmaLinux 10 démarre en SELinux enforcing tout en refusant de booter sur un processeur trop ancien. Ces pages traitent chaque distribution pour elle-même, à partir de mesures en lab, pas des notes de version.
Références et approfondissements
Section intitulée « Références et approfondissements »Les fiches de commandes A-Z et les compléments (Nix, éditeurs avancés, WSL2) restent disponibles comme complément ponctuel, hors du chemin principal d'apprentissage.
Dépôt compagnon
Section intitulée « Dépôt compagnon »Définition
- À l'origine : uniquement le noyau (kernel)
- Aujourd'hui : désigne l'ensemble du système (noyau + outils GNU)
Caractéristiques clés
- Libre et gratuit : code source accessible à tous
- Multi-utilisateur et multi-tâches
- Portable : fonctionne sur serveurs, PC, mobiles, embarqué
- Sécurisé : gestion fine des permissions
Exemples d'utilisation
- 90%+ des serveurs web dans le monde
- Android (basé sur le noyau Linux)
- Supercalculateurs (100% du Top 500)
Architecture en couches
| Composant | Rôle |
|---|---|
| Noyau (Kernel) | Gère matériel, mémoire, processus |
| Shell | Interface ligne de commande (Bash, Zsh) |
| Outils CLI | Commandes système (ls, cp, grep...) |
| Applications | Logiciels utilisateur |
Le Noyau
uname -r # Affiche la version du noyau
Gère : processus, mémoire, périphériques, système de fichiers, réseau.Le Shell
- Bash : le plus répandu
- Zsh : moderne, autocomplétion avancée
- Fish : convivial pour débutants
Composition
- Noyau Linux
- Utilitaires GNU
- Gestionnaire de paquets (
apt,dnf,pacman) - Système d'init (
systemd) - Interface graphique (optionnel)
Distributions populaires
| Distro | Usage | Gestionnaire |
|---|---|---|
| Ubuntu | Desktop/Serveur | apt |
| Debian | Serveur stable | apt |
| RHEL/Rocky | Entreprise | dnf |
| Arch | Utilisateurs avancés | pacman |
| Alpine | Conteneurs | apk |
Choisir sa distribution
- Débutant : Ubuntu, Linux Mint
- Serveur : Debian, Rocky Linux
- DevOps : Ubuntu Server, Alpine
Modèle en couches
┌─────────────────────────┐
│ Applications │ Mode utilisateur
├─────────────────────────┤
│ Shell / Interface │
├─────────────────────────┤
│ Appels système (API) │
├─────────────────────────┤
│ Noyau Linux │ Mode noyau
├─────────────────────────┤
│ Matériel │
└─────────────────────────┘
Deux modes d'exécution
- Mode noyau : accès complet au matériel (privilégié)
- Mode utilisateur : accès restreint (sécurisé)
Communication
Les applications utilisent des appels système (syscalls) pour demander des services au noyau :strace ls # Trace les appels système
Séquence de boot
- BIOS/UEFI : Initialisation matériel, POST
- Bootloader (GRUB) :
/etc/default/grub # Configuration
/boot/grub/grub.cfg # Fichier généré
- Noyau Linux : Chargement en mémoire, initialisation pilotes, montage racine
- systemd (PID 1) :
systemctl list-units --type=target
Lance les services et atteint la cible (graphical.target, multi-user.target)Diagnostic
dmesg | less # Messages du noyau
journalctl -b # Logs du boot actuel
systemd-analyze blame # Temps de démarrage
Concepts clés
- PID : identifiant unique du processus
- PPID : PID du processus parent
- États : Running, Sleeping, Stopped, Zombie
Commandes essentielles
# Lister les processus
ps aux # Tous les processus
ps -ef --forest # Arborescence
# Surveillance temps réel
top # Vue classique
htop # Vue améliorée
# Gestion des processus
kill PID # Signal SIGTERM
kill -9 PID # Signal SIGKILL (force)
killall nginx # Par nom
# Priorité
nice -n 10 commande # Lancer avec priorité basse
renice -n 5 -p PID # Modifier la priorité
Processus en arrière-plan
commande & # Lancer en background
jobs # Lister les jobs
fg %1 # Ramener au premier plan
systemd : le gestionnaire moderne
systemctl est la commande principale :# État d'un service
systemctl status nginx
# Démarrer / Arrêter
systemctl start nginx
systemctl stop nginx
systemctl restart nginx
systemctl reload nginx # Recharge config
# Activation au boot
systemctl enable nginx
systemctl disable nginx
# Lister les services
systemctl list-units --type=service
systemctl list-units --failed
Fichiers unités
/etc/systemd/system/ # Personnalisés (priorité)
/lib/systemd/system/ # Fournis par les paquets
systemctl daemon-reload # Recharger après modif
Journaux
journalctl -u nginx # Logs d'un service
journalctl -f # Suivre en temps réel
Types d'utilisateurs
- root (UID 0) : super-utilisateur, tous les droits
- Utilisateurs système (UID 1-999) : services
- Utilisateurs normaux (UID 1000+) : humains
Commandes de gestion
# Créer un utilisateur
sudo useradd -m -s /bin/bash jean
sudo passwd jean
# Modifier
sudo usermod -aG docker jean # Ajouter au groupe
sudo usermod -l nouveau ancien
# Supprimer
sudo userdel -r jean # -r supprime le home
# Groupes
sudo groupadd devops
sudo gpasswd -a jean devops
Fichiers importants
| Fichier | Contenu |
|---|---|
/etc/passwd |
Comptes utilisateurs |
/etc/shadow |
Mots de passe (hashés) |
/etc/group |
Groupes |
sudo
sudo commande # Exécuter en root
sudo -u user commande # En tant que user
visudo # Éditer /etc/sudoers
Arborescence standard (FHS)
/
├── bin/ → Binaires essentiels
├── boot/ → Fichiers de démarrage
├── dev/ → Périphériques
├── etc/ → Configuration système
├── home/ → Répertoires utilisateurs
├── lib/ → Bibliothèques partagées
├── opt/ → Logiciels optionnels
├── proc/ → Infos processus (virtuel)
├── root/ → Home de root
├── tmp/ → Fichiers temporaires
├── usr/ → Programmes utilisateur
└── var/ → Données variables (logs)
Permissions
ls -la fichier
# -rwxr-xr-- user group fichier
# ^^^ ^^^ ^^^
# | | └── Autres (r-x)
# | └────── Groupe (r-x)
# └────────── Propriétaire (rwx)
chmod 755 fichier # rwxr-xr-x
chmod u+x script.sh # Ajouter exécution
chown user:group fichier # Changer propriétaire
Types de systèmes de fichiers
- ext4 : standard Linux
- XFS : hautes performances
- Btrfs : snapshots, compression