1. Linux, noyau et distributions #
Ce qu'on appelle Linux.
Un noyau et un écosystème #
Linux est à proprement parler un noyau : le programme qui gère le processeur, la mémoire, les disques, le réseau et arbitre l'accès des programmes au matériel. Ce qu'on installe sur un serveur est une distribution : le noyau, plus les outils GNU, un gestionnaire de paquets, systemd et une politique de mises à jour.
Les programmes s'exécutent en espace utilisateur ; seul le noyau tourne en espace noyau. Ils communiquent par des appels système (open, read, fork, connect...), que l'on peut observer avec strace.
Familles de distributions #
| Famille | Distributions | Paquets | Usage typique |
|---|---|---|---|
| Debian | Debian, Ubuntu | .deb, apt | Serveurs web, cloud, postes de travail |
| Red Hat | RHEL, Rocky Linux, AlmaLinux, Fedora | .rpm, dnf | Entreprise, support long, certifications |
| SUSE | SLES, openSUSE | .rpm, zypper | Entreprise, SAP |
| Légères | Alpine | apk | Images de conteneurs |
Bonne Pratique : Choisissez une distribution avec un support long (Ubuntu LTS, Debian stable, RHEL ou ses clones) pour un serveur : 5 à 10 ans de correctifs de sécurité.
Identifier le système #
cat /etc/os-release # distribution et version
uname -r # version du noyau
hostnamectl # nom, OS, noyau, architecture, virtualisation
lscpu ; free -h ; lsblk # CPU, mémoire, disques2. Le démarrage #
Du firmware au prompt de connexion.
Les étapes #
- Le firmware (UEFI) initialise le matériel et lance le chargeur depuis la partition EFI.
- GRUB propose les noyaux installés et leur passe des options (
/proc/cmdline). - Le noyau se décompresse, détecte le matériel et monte l'initramfs, un mini-système qui charge les pilotes nécessaires pour accéder au disque racine (LVM, RAID, chiffrement).
- La racine est montée et le noyau lance systemd, le processus n°1 (PID 1).
- systemd atteint la cible par défaut :
multi-user.targetsur un serveur,graphical.targetsur un poste.
Inspecter le démarrage #
systemctl get-default # cible par défaut
systemd-analyze # durée totale du démarrage
systemd-analyze blame | head # services les plus lents
journalctl -b -p err # erreurs du démarrage courant
journalctl --list-boots # démarrages précédents
dmesg -T | tail # messages du noyauMode secours : Pour réparer un serveur qui ne démarre plus, on ajoutesystemd.unit=rescue.target(ouemergency.target) à la ligne du noyau dans GRUB : on obtient un shell root minimal.
3. L'arborescence (FHS) #
Où se trouve quoi.
Les répertoires à connaître #
| Répertoire | Contenu |
|---|---|
/etc | Configuration du système et des services (texte) |
/var | Données variables : /var/log (journaux), /var/lib (bases, état), /var/cache |
/home, /root | Répertoires personnels des utilisateurs et de root |
/usr | Programmes et bibliothèques installés par les paquets (/usr/bin, /usr/lib) |
/opt, /usr/local | Logiciels installés hors gestionnaire de paquets |
/tmp | Fichiers temporaires, souvent vidés au redémarrage |
/boot | Noyaux, initramfs, configuration de GRUB |
/dev | Fichiers de périphériques (/dev/sda, /dev/null) |
/proc, /sys | Systèmes de fichiers virtuels exposés par le noyau |
/srv | Données servies (sites web, FTP) |
Bonne Pratique : Sauvegardez au minimum/etc,/home,/root,/srvet les données applicatives de/var/lib: le reste se réinstalle depuis les paquets.
Tout est fichier #
Linux expose presque tout comme des fichiers : périphériques, informations du noyau, paramètres. On lit l'état du système avec cat et on le modifie souvent avec echo ou sysctl.
cat /proc/cpuinfo | grep 'model name' | head -1
cat /proc/meminfo | head -3
cat /proc/loadavg
cat /sys/class/net/eth0/address # adresse MAC
sysctl net.ipv4.ip_forward # paramètre noyau
ls -l /proc/$$/fd # descripteurs ouverts par le shell courant4. Se documenter #
Trouver la réponse sur la machine.
Aides intégrées #
man 5 fstab # section 5 : formats de fichiers
man -k partition # chercher une page de manuel
ssh --help | less # aide courte
help cd # commandes internes de bash
type ls ; which -a python3
apropos firewall| Section man | Contenu |
|---|---|
| 1 | Commandes utilisateur |
| 5 | Fichiers de configuration |
| 8 | Commandes d'administration |
Mon suivi
Connectez-vous pour suivre votre progression et prendre des notes. Se connecter
Articles recommandés
Bonnes Pratiques Kubernetes
Meilleures pratiques pour sécuriser et optimiser les déploiements Kubernetes.
Comparaison Offres Kubernetes
Analyse complète des offres managées de Kubernetes avec points forts, fonctionnalités, tarificati...
Stratégies de placement Kubernetes
Présentation des stratégies de placement dans Kubernetes pour optimiser la gestion des charges de...
CNI Kubernetes : Flannel, Calico et Cilium comparés
Kubernetes CNI : comprendre les plugins réseau (Container Network Interface) et comparer Flannel,...
Gestionnaires de packages
Les différents gestionnaires de packages pour Kubernetes et leurs avantages.
Jobs vs Serverless
Comparaison entre les Jobs Kubernetes et le modèle Serverless pour le calcul de tâches en arrière...
PersistentVolume, PersistentVolumeClaim et StorageClass dans Kubernetes
PersistentVolume (PV), PersistentVolumeClaim (PVC) et StorageClass dans Kubernetes : différences,...
Resource Quota Kubernetes
Guide complet sur les quotas de ressources Kubernetes pour la gestion des namespaces.
ConfigMaps et Secrets
Guide complet sur les ConfigMaps et Secrets dans Kubernetes.