Linux est aujourd’hui omniprésent dans le monde des serveurs et des infrastructures IT. Ce système d’exploitation libre et open source alimente une majorité des serveurs web, des supercalculateurs, des infrastructures cloud et même des équipements embarqués. Que ce soit pour héberger un site web, gérer des services réseau ou déployer des applications critiques, Linux s’est imposé comme un choix incontournable grâce à sa stabilité, sa flexibilité et sa sécurité.
Dans cette formation, vous découvrirez non seulement comment utiliser Linux efficacement, mais surtout comment l’administrer en toute autonomie. Vous apprendrez à maîtriser les commandes essentielles, à configurer le réseau, à gérer la sécurité de votre système et à surveiller ses performances. Vous serez également guidé dans la mise en œuvre de bonnes pratiques pour l’écriture de scripts shell, la gestion des utilisateurs, ou encore la planification des tâches automatiques.
Pourquoi cette formation Linux Gratuite ?
Section intitulée « Pourquoi cette formation Linux Gratuite ? »Parce qu’aujourd’hui, comprendre le fonctionnement d’un système Linux est indispensable pour toute personne souhaitant évoluer dans les métiers de l’administration système ou se préparer à des rôles orientés DevOps. Vous ne vous contenterez pas d’apprendre à utiliser Linux : vous saurez le configurer, le sécuriser et l’optimiser.
À qui s’adresse cette formation Linux ?
Section intitulée « À qui s’adresse cette formation Linux ? »Cette formation Linux s’adresse à toute personne souhaitant acquérir des compétences en administration système Linux, que vous soyez :
- Administrateur système débutant souhaitant structurer vos connaissances ;
- Développeur cherchant à comprendre l’environnement dans lequel vos applications tournent ;
- Étudiant ou autodidacte préparant une certification comme la LFCS ;
- Ou encore un professionnel de l’IT désirant élargir votre champ de compétences en vue d’une spécialisation DevOps.
Pour suivre cette formation dans de bonnes conditions, il est conseillé d’avoir :
- Des bases en informatique générale (utilisation du terminal, notions sur les systèmes d’exploitation) ;
- Une curiosité technique et une volonté d’expérimenter par vous-même.
Vous n’avez jamais administré de serveur ? Aucun problème : cette formation a été conçue pour partir des fondamentaux. Vous avez déjà des notions mais souhaitez approfondir vos pratiques ? Les sections avancées vous permettront d’aller plus loin, notamment sur la gestion de la sécurité, la surveillance système ou l’optimisation des performances.
Organisation de la formation Linux
Section intitulée « Organisation de la formation Linux »Cette formation a été pensée pour vous offrir un parcours progressif et pratique, articulé autour de plusieurs grands principes :
1. Cours théoriques détaillés Chaque chapitre aborde une thématique clé de l’administration Linux : commandes essentielles, gestion des fichiers, réseau, sécurité, optimisation… Les contenus sont illustrés d’exemples concrets et enrichis de liens vers des ressources externes pour aller plus loin.
2. Travaux pratiques avec auto-évaluation Pour chaque compétence, des travaux pratiques vous permettent d’appliquer directement ce que vous venez d’apprendre. Vous serez invité à reproduire des scénarios réels : configurer un réseau, écrire un script shell sécurisé ou encore surveiller les performances d’un serveur. Ces TP sont accompagnés de systèmes d’auto-évaluation pour valider votre progression en autonomie. Le lien vers les TP.
3. Contrôles réguliers des connaissances Afin de mesurer vos acquis, des quiz et contrôles de connaissances ponctuent la formation. Ces évaluations rapides vous aident à vérifier que vous avez bien assimilé les notions clés avant de poursuivre.
4. Une durée flexible selon votre rythme La durée de cette formation est estimée entre 40 et 50 heures, en fonction de votre niveau de départ et de votre implication personnelle. Vous pouvez choisir de suivre le parcours de façon intensive ou de le répartir sur plusieurs semaines selon vos disponibilités.
5. Un tremplin vers le DevOps En suivant ce programme complet, vous poserez les fondations essentielles pour évoluer ensuite vers des pratiques DevOps : gestion d’infrastructure automatisée, CI/CD, orchestration avec des outils comme Docker ou Kubernetes. Cette formation est donc une étape indispensable pour toute personne visant une carrière dans ces domaines.
Programme de la formation Linux
Section intitulée « Programme de la formation Linux »Le programme de cette formation Linux a été soigneusement structuré pour vous accompagner pas à pas dans la découverte et la maîtrise des compétences essentielles à l’administration d’un serveur Linux. Chaque section aborde des thématiques clés : des bases fondamentales jusqu’aux notions avancées du noyau, en passant par la configuration réseau, la gestion des utilisateurs, les services système, ou encore la sécurisation et l’optimisation des performances.
- Notions fondamentales sur Linux
- Installation des serveurs Linux
- Maîtriser les shells Linux :
- Commandes Linux :
- Édition de fichiers :
- Développement de scripts Shell :
- Configurer un serveur Linux :
- Introduction
- Configurer les utilisateurs et groupes
- Comprendre et configurer sudo
- Gérer les ACL
- Gestion des packages :
- Configurer le stockage :
- Introduction
- Types de systèmes de fichiers :
- Gestion des disques locaux :
- Stockage en réseau :
- Configurer le réseau :
- Configurer les services :
- Gestion des logs avec logrotate
- Planification de tâches :
- Sécuriser un serveur Linux :
- Optimisation des performances :
- Connexion SSH et tunneling sécurisé :
- Notions importantes à connaître :
- Préparer les Certifcations :
Pour mieux visualiser la structure globale de cette formation, une mindmap est disponible ci-dessous, vous permettant d’avoir un aperçu clair et synthétique de l’ensemble du programme.
Voici une roadmap de votre parcours d’apprentissage :
Cliquez sur un nœud pour voir ses détails
Prêt à vous lancer ? Plongez pour développer une maîtrise complète de l’administration systèmes sous Linux.
FAQ - Questions Fréquemment Posées
Section intitulée « FAQ - Questions Fréquemment Posées »Linux est un système d'exploitation open source de type Unix, créé en 1991 par Linus Torvalds.
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
Une distribution (distro) est un ensemble complet prêt à installer.
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