Cours Linux / Créer un environnement de pratique avec une machine virtuelle

Une machine virtuelle permet de créer un ordinateur Linux distinct à l’intérieur de votre ordinateur actuel. En installant Linux sur un nouveau disque virtuel, puis en préparant l’accès à la console et un point de restauration, vous pouvez suivre les exercices sans repartitionner le disque du système hôte.

Le résultat recherché est concret : une session Linux utilisable, un accès au terminal, un réseau adapté aux exercices et un retour vérifié à un état propre. La création de la machine ne suffit pas si vous ne savez plus vous connecter après une modification du réseau.

Préparer l’hôte, l’invité et les ressources

L’hôte est l’ordinateur qui exécute le logiciel de virtualisation ; l’invité est le système installé dans la machine virtuelle, ou VM. Cette série prend pour références Ubuntu 26.04 LTS ou Rocky Linux 9, avec Bash et systemd dans une VM ordinaire. Commencez avec une seule distribution si vous découvrez Linux ; le cours sur le choix d’une distribution explique ces deux options.

Les menus ci-dessous correspondent à VirtualBox 7.2. Les combinaisons de matériels hôtes et de systèmes invités doivent être vérifiées dans les plateformes et invités décrits par Oracle. Le fonctionnement possible d’un invité et un engagement de support commercial sont deux choses différentes.

Usage Exemple d’allocation pour les exercices Critère de choix
Ubuntu Desktop 26.04 2 processeurs virtuels, 8 Go de RAM, disque dynamique de 40 Go Utiliser le bureau graphique et le terminal
Ubuntu Server ou installation minimale Rocky Linux 2 processeurs virtuels, 4 Go de RAM, disque dynamique de 30 Go Pratiquer la ligne de commande ; augmenter selon les services installés

Ces valeurs sont des exemples d’allocation, pas des minima officiels ni une garantie de performance. L’hôte doit conserver assez de mémoire et de capacité processeur pour son propre fonctionnement. Si vous ne pouvez pas réserver ces ressources, choisissez une installation plus légère ou un autre ordinateur plutôt que d’attribuer toute la mémoire à l’invité.

Les notes de version Ubuntu 26.04 indiquent notamment 6 Go de RAM et 25 Go de stockage libre pour une utilisation confortable de Desktop. Un disque dynamique grossit avec les données écrites ; sa taille maximale n’est pas nécessairement occupée dès sa création. Réservez aussi de l’espace sur l’hôte pour les snapshots et la croissance future des fichiers de la VM.

Choisir une image adaptée au processeur

Sous Windows, consultez Paramètres → Système → Informations système, puis le type de système. Sur macOS, consultez À propos de ce Mac et identifiez le processeur Intel ou la puce Apple. Un hôte Intel ou AMD 64 bits utilise généralement une image amd64 ou x86_64 ; amd64 inclut les processeurs Intel compatibles.

Un hôte ARM64 demande une image arm64 ou aarch64 et un logiciel de virtualisation prenant en charge cette combinaison. VirtualBox 7.2 décrit notamment les hôtes Apple silicon et Windows 11 sur Arm, ce dernier comme expérimental. Une image x86_64 ne devient pas une image ARM parce que vous changez son nom. Ne supposez pas non plus qu’un tutoriel prévu pour un hôte Intel s’applique sans adaptation à toute machine ARM.

Pour Ubuntu, choisissez une ISO Desktop ou live-server dans la liste officielle des images Ubuntu 26.04 pour PC amd64, ou suivez la page officielle correspondant à votre architecture. Pour Rocky Linux, sélectionnez la famille 9 et l’architecture appropriée sur la page officielle de téléchargement. Vérifiez le nom complet du fichier avant de l’utiliser.

Comparez le SHA-256 de l’ISO avec la ligne correspondant exactement à ce fichier dans les sommes de contrôle officielles. Dans PowerShell, remplacez le chemin de cet exemple par celui de votre téléchargement :

Get-FileHash -Algorithm SHA256 -LiteralPath 'C:\Downloads\YOUR-LINUX-IMAGE.iso'

La colonne Hash doit correspondre à la somme publiée. LiteralPath traite le chemin sans interpréter les caractères comme des jokers ; la documentation Microsoft de Get-FileHash décrit cette option. Un hash identique détecte une différence de contenu par rapport à la référence choisie ; l’authenticité de cette référence dépend aussi de sa provenance et, lorsque la distribution le prévoit, de la vérification de sa signature.

Créer la VM et un nouveau disque virtuel

Installez la version destinée à votre système hôte depuis le site officiel de VirtualBox. Dans le gestionnaire, la procédure de création VirtualBox 7.2 commence par Home → New. Les libellés ci-dessous sont ceux de l’interface anglaise.

  1. Donnez un nom explicite, par exemple linux-course-ubuntu. Choisissez le dossier de la VM et le fichier ISO Image.
  2. Pour apprendre l’installation manuelle, décochez Install OS Using Unattended Installation. Dans d’anciennes interfaces, la même intention peut correspondre à Skip Unattended Installation.
  3. Allouez mémoire et processeurs selon la capacité disponible. Créez un nouveau disque virtuel dynamique ; n’attachez pas de disque physique existant.
  4. Après création, ouvrez Settings → Network. Conservez le premier adaptateur en NAT et vérifiez qu’il est activé et que son câble virtuel est connecté.
  5. Gardez les dossiers partagés, le presse-papiers bidirectionnel et le glisser-déposer désactivés pour ce premier environnement. Relisez le disque, l’ISO et les ressources, puis démarrez avec Start.

Si l’assistant ne présente pas le parcours attendu, vérifiez le niveau d’expérience Basic dans VirtualBox. Un message lié à la virtualisation matérielle demande d’examiner le processeur, le système hôte et les conditions du logiciel ; il ne justifie pas de désactiver des protections ou un autre hyperviseur sans diagnostic.

Installer Linux et réussir la première connexion

Dans l’installateur Ubuntu Desktop, vérifiez langue, clavier et réseau, puis choisissez l’installation interactive. Le guide officiel d’installation Ubuntu Desktop décrit les écrans. Ici, vous démarrez l’ISO dans la VM : vous n’avez pas besoin de réécrire une clé USB pour l’hôte.

Au choix du stockage, contrôlez la capacité et la liste des périphériques. Avec un unique disque virtuel neuf, l’option utilisant ce disque entier convient à l’exercice. Elle doit viser le disque de l’invité, jamais un disque physique de votre ordinateur. Si la liste ne correspond pas à ce que vous avez créé, arrêtez-vous pour vérifier les périphériques attachés à la VM.

Choisissez un nom d’utilisateur, un nom de machine, un fuseau horaire et un mot de passe. Utilisez un compte ordinaire pour travailler et sudo pour les opérations d’administration. Avec Rocky Linux, vérifiez la destination d’installation et le choix des logiciels dans le récapitulatif ; lors de la création de l’utilisateur, choisissez les droits d’administration nécessaires aux exercices.

Après installation, redémarrez l’invité. Si l’installateur demande le retrait du support ou si la VM revient à l’écran d’installation, éjectez l’ISO de son lecteur optique virtuel puis démarrez sur son disque. Ubuntu Desktop fournit un bureau où ouvrir Terminal. Une installation Server ou minimale peut présenter uniquement une invite de connexion : c’est un résultat normal.

Noter l’identité du système et le réseau

Dans le terminal de l’invité, exécutez ces commandes de lecture une par une :

cat /etc/os-release
uname -m
uname -r
bash --version
ps -p 1 -o comm=
ip -brief address
ip route

Relevez le nom et la version de distribution dans os-release, l’architecture avec uname -m, la version du noyau et celle de Bash. La commande ps permet de voir le nom du processus PID 1, attendu ici comme systemd. Si l’environnement diffère, vérifiez l’image installée et la machine dans laquelle vous avez ouvert le terminal avant de poursuivre.

Sur Ubuntu 26.04, les notes de version officielles indiquent des coreutils en Rust par défaut et la disponibilité des outils GNU avec le préfixe gnu, par exemple gnuls. Pour une leçon qui décrit une option ou un format GNU, vérifiez la version du programme invoqué et utilisez l’outil correspondant ; le nom de la distribution ne suffit pas à identifier chaque implémentation. Le fournisseur par défaut de sudo est sudo-rs, tandis que la version historique peut être disponible sous sudo.ws.

ip -brief address présente les interfaces et leurs adresses ; ip route présente les routes, dont la route par défaut lorsqu’elle existe. Les adresses dépendent de la configuration de la VM. La présence d’une adresse et d’une route ne prouve pas à elle seule que la résolution DNS ou tous les accès Internet fonctionnent. Pour vérifier un premier usage du réseau, ouvrez un site officiel depuis le navigateur de l’invité si vous avez installé un bureau.

Vérifiez aussi l’accès prévu à sudo, par exemple avec sudo -v dans le terminal de l’invité. Cette commande valide ou renouvelle l’authentification mise en cache ; elle ne prouve pas qu’une commande particulière est autorisée. sudo -l permet de consulter la politique applicable à votre compte. Saisissez le mot de passe demandé dans l’invite : selon le fournisseur et sa configuration, l’écran peut ne rien ajouter ou afficher des caractères de masquage. Le manuel sudo-rs d’Ubuntu 26.04 distingue ces modes. En cas de refus, vérifiez le compte administrateur prévu par la console de l’invité.

Le mode NAT, pour Network Address Translation, facilite les connexions sortantes de la VM, mais ne crée pas automatiquement un accès SSH depuis l’hôte vers son adresse privée. Un exercice SSH pourra demander une redirection de port ou un réseau différent. Le guide réseau VirtualBox explique ces modes. Le mode pont peut exposer l’invité au réseau local ; il faut alors tenir compte des adresses, du pare-feu et des règles de ce réseau.

Créer un snapshot et vérifier le retour en arrière

Un snapshot conserve un état vers lequel revenir. Une fois l’installation fonctionnelle, arrêtez proprement l’invité et vérifiez l’état Powered Off. Dans le gestionnaire, sélectionnez la VM, ouvrez Snapshots, puis Take. Nommez ce point clean-install. Les opérations sur les snapshots dans VirtualBox 7.2 décrivent cette prise et la restauration.

Avant de prendre ce point, assurez-vous que le dossier linux-course-recovery n’existe pas dans le dossier personnel du compte de l’invité. Ensuite, redémarrez la VM et créez ce marqueur jetable. La commande mkdir sans -p refuse de réutiliser un dossier déjà présent :

if mkdir -- "$HOME/linux-course-recovery"; then
  printf 'created after snapshot\n' > "$HOME/linux-course-recovery/after-snapshot.txt"
  cat -- "$HOME/linux-course-recovery/after-snapshot.txt"
else
  printf '%s\n' 'Répertoire déjà présent ou création impossible ; vérifier avant de continuer.' >&2
fi

Le résultat attendu est created after snapshot. Si la création échoue ou si le contenu ne s’affiche pas, réglez ce problème avant de tester la restauration. Le fichier doit se trouver sur le disque virtuel ordinaire inclus dans le snapshot, pas dans un dossier partagé de l’hôte ou un disque exclu des snapshots.

  1. Arrêtez proprement l’invité. Copiez séparément les éventuels travaux à conserver : les modifications faites après le point choisi seront perdues lors du retour.
  2. Dans Snapshots, sélectionnez clean-install puis Restore. Si vous souhaitez préserver l’état actuel, prenez-en un autre snapshot avant la restauration ou utilisez l’option proposée à cet effet.
  3. Redémarrez la même VM et connectez-vous avec le même compte. Contrôlez alors le marqueur avec le code suivant.
if test ! -e "$HOME/linux-course-recovery/after-snapshot.txt" &&
   test ! -L "$HOME/linux-course-recovery/after-snapshot.txt"; then
  printf '%s\n' 'snapshot restored'
else
  printf '%s\n' 'file still present; check selected snapshot'
fi

Si le marqueur était absent avant le snapshot et si le retour a bien porté sur ce disque, vous devez lire snapshot restored. Un fichier toujours présent invite à vérifier le point sélectionné et son stockage. Inversement, l’absence du fichier n’est significative que si vous avez confirmé sa création et conservé la même VM, le même compte et le même chemin.

Un snapshot local n’est pas une sauvegarde indépendante. Il ne protège pas à lui seul contre une panne du disque hôte ou une perte du dossier de la VM. Conservez une sauvegarde séparée des données importantes et, si nécessaire, une copie complète ou un export approprié de la VM arrêtée. Un dossier partagé, un service extérieur et les données déjà envoyées hors de l’invité ne reviennent pas en arrière avec son disque virtuel.

Résoudre les premiers blocages et valider l’environnement

Symptôme Contrôle utile Résultat attendu
L’installation recommence à chaque démarrage Vérifier l’ISO encore attachée et le démarrage sur le disque installé Écran de connexion du système installé
La VM ne démarre pas ou propose un invité incompatible Vérifier architecture, ressources et conditions de virtualisation de l’hôte Combinaison hôte/invité prise en charge et ressources suffisantes
Pas de connexion réseau dans l’invité Vérifier adaptateur activé, câble virtuel, mode NAT, adresse et route Configuration cohérente avant de diagnostiquer DNS ou applications
SSH ne répond plus après une modification Revenir à la console VirtualBox et examiner le changement Connexion locale possible pour corriger ou restaurer
Le marqueur subsiste après Restore Vérifier VM, compte, snapshot et type de disque Retour au point réellement antérieur à sa création

L’environnement est prêt lorsque vous pouvez vous connecter, ouvrir le terminal, utiliser sudo lorsque nécessaire, accéder au réseau prévu et retrouver un état propre. Gardez l’accès à la console même si vous utilisez ensuite SSH. Avant un exercice touchant services, pare-feu ou montages, notez les changements et préparez un point de retour ; vous pourrez ainsi diagnostiquer l’effet d’une modification sans perdre votre chemin de récupération.