Bienvenue dans ce projet de Travaux Pratiques Linux !
Ces TP vous guideront dans l'apprentissage pratique de l'administration système Linux. Chaque TP est organisé dans un sous-dossier avec son propre énoncé. Au début, les explications seront détaillées, mais très vite, vous serez plus autonome dans l'exécution des tâches demandées.
- Une machine (ou wsl2 pour ceux qui sont sous windows) avec une distribution Debian ou une de ses dérivées fraîchement installée (par exemple Debian 12).
- Accès administrateur (root) ou un utilisateur pouvant utiliser
sudo
. - Virtualisation activée dans le BIOS/UEFI (Intel VT-x ou AMD-V), car certains TP utiliseront la virtualisation pour manipuler d'autres distributions Linux.
Conseil : vérifiez si la virtualisation est activée :
egrep -c '(vmx|svm)' /proc/cpuinfo
Un résultat supérieur à 0 indique que la virtualisation est active.
- Installer Python 3 et pip :
sudo apt update
sudo apt install python3 python3-pip
- Installer pytest et testinfra pour valider vos exercices :
pip install pipx --user
pipx install pytest
pipx inject pytest pytest-testinfra
- Cloner ce dépôt :
git clone <URL_DU_DEPOT>
cd <nom_du_dossier>
Vérifications rapides :
python3 --version
pytest --version
A partir du TP 7, il sera nécessaire d'installer Incus (anciennement LXD). En effet, Incus est un gestionnaire de conteneurs et de machines virtuelles qui vous permet de créer et gérer des environnements virtuels. Il est particulièrement utile pour les TP qui risquent d'endommager votre instance de Linux.
Pour l'installer, exécutez les commandes suivantes :
sudo apt install incus
Initialiser Incus :
sudo incus init --minimal
Avant de commencer un TP, vous devez lire la documentation liée au sujet sur mon site de documentation Linux.
Chaque énoncé précisera quelle section lire. Aucune aide ne sera donnée sur des notions qui y sont expliquées.
Exemples de lectures recommandées :
Chaque TP est placé dans un sous-dossier indépendant :
/Linux-training/
│
├── tp01-navigation-fichiers/
│ └── README.md
│ └── challenge/
│ ├── README.md
│ └── tests/
│ └── test_tp.py
├── tp-02-commandes-avancees/
│ └── README.md
│ └── challenge/
│ ├── README.md
│ └── tests/
│ └── test_tp.py
├── ...
Chaque sous-dossier contient :
- Un fichier
README.md
avec les consignes. - Un dossier
challenge/
avec :- Un fichier
README.md
avec les consignes. - Un dossier tests contenant un fichier
test_tp.py
pour valider automatiquement votre travail.
- Un fichier
- Lire la documentation liée au sujet sur le site.
- Lire attentivement le
README.md
contenu dans le dossier du TP. - Effectuer les tâches demandées dans votre terminal.
- Relever le challenge dans le dossier
challenge/
: - Vérifier votre travail avec pytest :
pytest -v
Les tests vous indiqueront si votre solution est correcte.
- Aucune réponse n’est donnée dans les énoncés après les premiers TP.
- Cherchez par vous-même avec l'aide des commandes Linux (
--help
,man
, etc.). - Validez vos résultats uniquement via les tests automatisés.
- Si vous bloquez, n'hésitez pas à demander de l'aide sur le discord.
Je vais continuer à mettre à jour ce dépôt avec de nouveaux exercices et des améliorations. Pour récupérer les dernières modifications, vous pouvez simplement exécuter :
git pull origin main
Bien entendu, vous êtes invités à contribuer à ce dépôt en proposant des améliorations ou en corrigeant des erreurs. N'hésitez pas à ouvrir une issue ou à soumettre une pull request.
Plus d'infos ici
Si vous appréciez ce travail et souhaitez me soutenir, vous pouvez me payer un café ☕️:
Tous les contenus contenus dans ce repo sont :
- Copyright ©2025 Stéphane Robert
- Distribués sous licence Creative Commons BY-SA 4.0