Skip to content

stephrobert/linux-training

Repository files navigation

TP Linux pour Administrateurs Systèmes

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.

Pré-requis

Environnement

  • 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.

Logiciels

  • 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

Documentation obligatoire

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 :

Structure du projet

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.

Comment travailler sur un TP

  1. Lire la documentation liée au sujet sur le site.
  2. Lire attentivement le README.md contenu dans le dossier du TP.
  3. Effectuer les tâches demandées dans votre terminal.
  4. Relever le challenge dans le dossier challenge/ :
  5. Vérifier votre travail avec pytest :
pytest -v

Les tests vous indiqueront si votre solution est correcte.

Important

  • 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.

Mise à jour du dépôt

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

Contribuer

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

Me soutenir

Si vous appréciez ce travail et souhaitez me soutenir, vous pouvez me payer un café ☕️:

ko-fi

Copyright et licence

Tous les contenus contenus dans ce repo sont :

Creative Commons BY-SA