Cette section couvrira à terme l’administration de serveurs Linux de A à Z. Elle sera organisée autour de compétences démontrables, validées par des labs pratiques et alignées sur les certifications RHCSA (EX200, RHEL 10) et LFCS (Linux Foundation, vendor-neutral).
Elle s’adresse aux administrateurs système débutants ou intermédiaires, aux développeurs qui veulent comprendre leur environnement de production, et aux professionnels IT qui préparent une certification Linux.
La progression repose sur une logique simple : comprendre → pratiquer → prouver.
Ce que vous allez pouvoir faire
Section intitulée « Ce que vous allez pouvoir faire »- Administrer un serveur Linux en autonomie : installer, configurer, maintenir.
- Gérer les services, les utilisateurs, le stockage et le réseau sur les distributions majeures (Ubuntu, Debian, RHEL).
- Sécuriser et diagnostiquer un système en conditions réelles.
- Valider vos acquis avec des labs reproductibles et des capstones.
- Préparer une certification Linux crédible : RHCSA ou LFCS.
Comment utiliser ce hub
Section intitulée « Comment utiliser ce hub »-
Choisissez un parcours adapté à votre objectif : fondamentaux, exploitation, maintenance, sécurité ou dépannage.
-
Travaillez les compétences du parcours. Chaque parcours regroupe les guides et sous-compétences d’un ou plusieurs domaines.
-
Validez en labs : chaque compétence est adossée à un lab reproductible dans le dépôt compagnon
linux-training. -
Préparez RHCSA ou LFCS si vous visez une certification. Les pages certification couvrent les spécificités de chaque examen.
Les parcours
Section intitulée « Les parcours »Les parcours sont la colonne vertébrale de la formation. Choisissez celui qui correspond à votre situation.
Fondamentaux
Découvrir Linux, le terminal, les fichiers, les éditeurs. Pour ceux qui débutent ou qui veulent consolider les bases.
Compétences : Prendre en main · Manipuler fichiers et texte
Exploiter
Processus, mémoire, services, journaux, planification, reboot. Pour ceux qui administrent déjà un système et veulent structurer leurs pratiques.
Compétences : Exploiter · Administrer le stockage
Maintenir
Paquets, cycle de vie système, cohérence post-mise à jour, fiabilité. Pour ceux qui assurent la pérennité d’un serveur en production.
Compétences : Maintenir · Administrer le stockage · Administrer le réseau
Sécuriser
Dépanner
Diagnostic système, réseau, performances, boot recovery. Pour ceux qui doivent résoudre des incidents en conditions réelles.
Compétences : Dépanner (services, permissions, stockage, réseau)
Les certifications Linux
Section intitulée « Les certifications Linux »Deux certifications structurent la section : RHCSA de Red Hat et LFCS de la Linux Foundation. Elles ne sont pas une annexe — elles représentent une voie majeure de validation de vos compétences.
Les compétences couvertes
Section intitulée « Les compétences couvertes »Les 5 parcours couvrent 9 domaines de compétences démontrables. Chaque domaine décrit ce que vous devez savoir faire, pas simplement les outils à connaître.
| Bloc | Compétence | Ce que vous prouvez | Parcours |
|---|---|---|---|
| 01 | Prendre en main un système Linux | Se repérer dans l’arborescence, utiliser le shell, éditer une configuration | Fondamentaux |
| 02 | Manipuler fichiers, flux et texte | Naviguer, filtrer, archiver, automatiser avec des scripts | Fondamentaux |
| 03 | Exploiter un serveur Linux | Processus, mémoire, services, journaux, reboot, planification | Exploiter |
| 04 | Administrer le stockage | Préparer, monter, rendre persistant, gérer LVM, capacité | Exploiter |
| 05 | Maintenir un serveur Linux | Paquets, cycle de vie système, cohérence post-mise à jour | Maintenir |
| 06 | Administrer le réseau et les accès distants | Configurer de façon persistante, SSH, synchroniser | Maintenir |
| 07 | Gérer identités et permissions | Administrer comptes et groupes, déléguer avec sudo, affiner avec les ACL | Sécuriser |
| 08 | Sécuriser un serveur Linux | Appliquer SELinux/AppArmor, réduire l’exposition réseau, durcir SSH | Sécuriser |
| 09 | Dépanner un serveur Linux | Méthode de diagnostic, services, permissions, montages, réseau | Dépanner |
Les spécificités RHCSA et LFCS ne sont pas des blocs séparés : elles sont intégrées dans les certifications (voir ci-dessus). Toutes les compétences sont couvertes par les deux examens.
Validation et preuve
Section intitulée « Validation et preuve »La section Linux ne se limite pas à des guides à lire. Elle repose sur la preuve par la pratique : labs, capstones et exercices de certification.
Vue d'ensemble
Comment fonctionne la validation : labs unitaires, capstones multi-compétences et exercices de certification.
Capstones
Scénarios intégrés qui combinent plusieurs blocs de compétences sur un cas réaliste.
Exercices RHCSA
Exercices ciblés sur les compétences spécifiques à l’examen EX200 sur RHEL 10.
Exercices LFCS
Exercices alignés sur les 5 domaines officiels de la LFCS.
Références et approfondissements
Section intitulée « Références et approfondissements »Les pages de référence A-Z et les approfondissements techniques sont conservés mais ne font plus partie du chemin principal d’apprentissage. Utilisez-les comme complément ponctuel.
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