Lab Linux du quotidien : la trentaine de commandes que les ingénieurs tapent de tête
Ce lab donne à chaque élève sa propre machine Ubuntu et cinq courtes leçons sur les commandes qu’il vaut mieux connaître que chercher : se déplacer, créer et lire des fichiers, fouiller un journal, arrêter un processus, regrouper une archive, récupérer un fichier sur le web et se connecter à une autre machine. Rien n’est installé sur l’ordinateur de l’élève, et rien de ce qu’il fait ne peut abîmer autre chose que sa propre copie.
Ce que les élèves apprennent
Se déplacer avec pwd, ls et cd, et créer, copier, déplacer et supprimer des fichiers. Lire du texte avec cat, head et tail, l’écrire avec les signes qui envoient une sortie dans un fichier, et le fouiller avec grep et un tube. Les droits : lire les colonnes rwx de ls -l et laisser un script s’exécuter avec chmod. Les processus : en trouver un avec ps, l’arrêter avec kill, et pourquoi kill -9 est gardé pour celui qui refuse de s’arrêter. Le disque et la mémoire avec df, du et free. Les archives avec zip, gzip et tar. Récupérer avec wget et curl. Devenir un autre utilisateur avec su et sudo, se connecter avec ssh et copier avec scp, installer un programme avec apt et s’occuper d’un service avec systemctl, et modifier un fichier avec vi.
Les commandes rares et compliquées sont laissées de côté exprès. Elles se trouvent plus vite avec une recherche ou un assistant quand on en a besoin.
Ce qu’il y a sur la machine
Un journal dans /var/log/test.log où une ligne s’ajoute toutes les deux secondes, pour que tail -f ait quelque chose à suivre. Un zip, un fichier à compresser et une petite arborescence de dossiers. Un dossier appelé scratch où l’on peut supprimer sans risque. Un petit serveur web sur localhost où wget et curl peuvent récupérer des fichiers, si bien qu’aucune leçon ne dépend d’internet. Deux processus en arrière-plan à trouver et à arrêter, dont l’un ignore un simple kill. Et un deuxième compte, dev, joignable sous le nom devbox.
La deuxième machine est la même VM sous un autre compte, et les leçons le disent. Les commandes sont celles d’un vrai serveur, et une clé est déjà en place pour qu’un bouton puisse les lancer sans mot de passe à taper.
La lancer dans votre navigateur
Les labs VM se règlent comme une tâche de lab dans un module, et l’exemple se trouve sur la page des labs. La machine est petite : un processeur, 1 Go de mémoire et 10 Go de disque.
- Ajouter le lab. Dans un module que vous enseignez, ajoutez une tâche et choisissez la carte « Lab VM Ubuntu ». La page affiche une courte description de la machine au lieu d’un fichier compose.
- Partir de l’exemple. La page propose des labs prêts à l’emploi pour commencer. Choisissez Everyday Linux commands (les commandes Linux du quotidien). Utiliser un exemple remplace le texte, et « Annuler » rétablit le vôtre.
- Publier et démarrer votre propre copie. Publiez, puis « Démarrer ». Le script d’installation du lab installe quelques petits programmes à partir de l’archive d’Ubuntu et laisse un journal, une archive, un serveur web et deux processus au premier démarrage de la VM, en moins d’une minute.
- Ouvrir le terminal. Ouvrez son terminal et lisez README.md dans le dossier personnel : il liste ce qui se trouve sur la machine. Ouvrez ensuite la première des cinq leçons.
Une leçon de base sur ce lab
Il y a cinq courtes leçons, toutes faites dans ce lab : Everyday Linux 1: Move and make, Everyday Linux 2: Permissions and removing, Everyday Linux 3: Logs and processes, Everyday Linux 4: Archives, disk and the web et Everyday Linux 5: Users and other machines. Chacune se suffit à elle-même, commence par aller dans le dossier personnel, et comporte une accroche, un objectif « Je peux », des mots-clés, un point de départ, une vérification après chaque idée et une vérification finale.
Un bouton Exécuter tape sa commande dans le terminal de la VM et montre ce qui s’est affiché. Une commande qui ne se termine pas toute seule, ou qui pose une question, comme tail -f, su ou vi, est marquée « Tape ceci », et l’élève la tape dans le terminal. La dernière leçon se termine par un aide-mémoire à garder.
Comment l’utiliser en classe
Le lab ne note rien, donc il convient à une première leçon sur Linux, à une séance de révision ou à un entraînement avant un lab noté, comme l’administration Linux.
- La distribuer. Attribuez le lab et les leçons comme n’importe quelle tâche, avec une date limite si vous le souhaitez. Chaque élève reçoit sa propre VM, conservée d’une séance à l’autre.
- Les regarder travailler. Le terminal à côté d’une leçon est celui de l’élève, et vous pouvez le suivre ou en prendre le contrôle depuis la liste de la classe pendant qu’il tape.
- Noter vous-même si vous voulez une note. Le lab n’a pas de script de vérification. Si vous voulez un travail à rendre, demandez quelque chose de petit, comme le résultat d’une commande lancée, ou une capture du journal avec la ligne d’erreur trouvée.
La définition sur GitHub
Le fichier est toute la définition du lab, le même texte que celui qu’exécute la plateforme : taille, script d’installation et README. Copiez-le et ajoutez un fichier ou un service de votre cru pour faire un lab pour votre propre classe.
Questions fréquentes
- Y a-t-il une deuxième machine pour ssh et scp ?
- C’est la même VM sous un deuxième compte, dev, joignable sous le nom devbox avec une clé déjà en place. Les commandes et ce qu’elles affichent sont les mêmes que pour un vrai serveur, et un lab à deux machines est plus long à démarrer.
- Les élèves peuvent-ils abîmer quelque chose en supprimant des fichiers ?
- Seulement leur propre copie. Les leçons suppriment dans un dossier appelé scratch, et si un élève casse la machine, il peut arrêter le lab et le redémarrer.
- Le lab a-t-il besoin d’internet ?
- Non. Les téléchargements viennent d’un petit serveur web à l’intérieur du lab. La machine ne joint que l’archive d’Ubuntu, PyPI, npm et GitHub, et rien d’autre sur internet.
- Le lab Linux du quotidien est-il noté automatiquement ?
- Non. Il n’a pas de script de vérification, car les leçons sont l’activité. Donnez un petit travail à rendre de votre choix, ou passez au lab d’administration Linux, qui est noté.