On souhaite disposer d'un ordinateur doté d'un système d'exploitation le plus léger possible, afin d'optimiser l'usage des ressources pour les futures machines virtuelles (le miniLab). Ceci permet également d'utiliser du matériel ancien ou reconditionné sans pâtir de mauvaises performances.
Plus précisémment, nous allons déployer :
et un minimum d'outils essentiels pour faire tourner le lab :
J'ai fait le choix délibéré de solutions open source (FOSS) aussi ouvertes et stables que possible. C'est pourquoi par exemple je préfère Debian à Ubuntu.
🚨 Disclaimer important : Les choix d'installation ou de configuration qui seront faits ici sont en faveur de la facilité d'utilisation plutôt que la sécurité, puisque nous sommes dans un environnement de lab et non de production. Cela implique que la workstation ne sera pas utilisée aussi pour le traitement ou le stockage de données personnelles et/ou importantes.Le renforcement de la sécurité (hardening) des systèmes et réseaux sera traité lors de TP spécifiques.
Pour déployer le système, nous aurons besoin d'un ordinateur PC, fixe ou portable, disposant de :
Sur ce PC, il faut atteindre les réglages du BIOS/EFI pour :
Enfin, il faut disposer d'une clé USB de 2Go (clé d'installation de Debian).
Depuis un autre ordinateur (ou même celui-ci s'il dispose encore d'un OS fonctionnel)
# Identifier la clé USB
lsblk
# Démonter la clé si elle est montée
sudo umount /dev/sdX*
# Copier l'ISO (remplacer sdX par votre périphérique)
sudo cp debian-XX.X.X-amd64-netinst.iso /dev/sdX && sudo sync
puis démarrer l'ordinateur en amorçant sur le support d'amorçage ainsi préparé.
L'image ISO choisie est minimale, l'installateur ira chercher les compléments nécessaires en ligne.
Lancez l'installation en mode graphique (graphical install)
Choisir les options de langue (trois sélections)
L'installateur va détecter les interfaces réseau, demander les identifiants si on choisit le WiFi, et tenter une configuration automatique (OK si vous avez un serveur DHCP sur le réseau).
Il faut ensuite indiquer le nom de l'ordinateur (hostname) ; évitez votre prénom ou votre pseudo pour ne pas confondre avec votre identifiant utilisateur.
Le domaine importe peu ici, laisser ce qui est proposé (éventuellement vide)
Ne pas saisir de mot de passe pour le superutilisateur root, afin de ne pas activer ce compte ; en faisant ainsi, le compte utilisateur créé ensuite aura directement des droits superuser (sudoer) ; faire directement "continuer"
Indiquez le nom de l'utilisateur principal. Ce n'est pas l'identifiant (login), lequel sera saisi ensuite. C'est le nom complet.
Ensuite il faut saisir le login ; respectez les indications.
Les OS Unix (dont Linux) sont sensibles à la casse, contrairement à Windows. Par exemple, le login
Victorest différent devictor.
Il faut ensuite saisir un mot de passe ; quelque chose de plutôt robuste (attention, Debian ne vous challenge pas sur la robustesse, et accepte 1234 sans broncher).
Si votre BIOS est en mode UEFI et que le stockage contient déjà un OS, l'installateur vous demandera peut-être de forcer ou non l'installation en mode UEFI. Si vous voulez effacer tout le disque, aucun problème pour répondre OUI.
L'installateur vous demande ensuite comment procéder pour installer. Il faut choisir l'option qui conduit à utiliser le disque entier (notamment si le stockage contient déjà un OS, ça ne sera pas la première option)
Il faut ensuite sélectionner le disque physique de destination du système.
Si vous avez plusieurs disques sur l'ordinateur, il vaut mieux réserver le plus volumineux (et le plus rapide si possible) pour les VM, et donc pas pour le système. En général, vous choisirez le support SCSI1 (0,0,0) (sda).
On fait simple ici, on installe tout le système sur la même partition.
Si vous souhaitez malgré tout opérer manuellement pour le partitionnement, il est recommandé notamment de créer une partition de boot séparée (taille 1GB)
L'installateur affiche une synthèse du schéma de partition, puis vous invite à confirmer l'effacement du support.
Puis le système commence l'installation sur le disque choisi.
L'installateur demande si un autre support d'installation est à scruter, on répond non : tout se fait en ligne, depuis un mirroir Debian.
Justement ensuite, il faut choisir un miroir d'archive, c'est à dire un serveur de depôt (repository) contenant tout les éléments du système et les paquets disponibles.
On choisira France puis deb.debian.org
Généralement il n'y a pas de mandataire (proxy) pour accéder au Web (et s'il y en a un, vous êtes censé le savoir).
Vous pouvez choisir librement de participer ou pas aux statistiques d'utilisation des paquets.
Puis l'installateur vous proposera des options (environnements graphiques, utilitaires, ...).
Il est important à ce niveau de tout décocher car nous souhaitons justement une empreinte la plus légère possible.
Ensuite la finalisation de l'installation est assez rapide, et l'installateur termine en installant GRUB (le gestionnaire d'amorçage, ou bootloader), puis en vous proposant de redémarrer l'ordinateur.
A ce stade, l'ordinateur est en mode serveur (ou core), c'est à dire qu'au niveau de la console, il vous propose un très austère prompt de login, et que l'interface avec l'utilisateur se limite à la très respectable ligne de commande du shell.
La première chose qu'on peut installer pour avoir une vue de notre système, c'est l'utilitaire htop :
sudo apt update && sudo apt upgrade
sudo apt install htop
htop # tapez la touche q pour sortir de htop
Plusieurs constats :
sudo nous demande notre mot de passe, c'est bien, mais ça peut devenir agaçant, nous allons modifier ce paramètre juste après.htop nous donne des infos sur le nombre de coeurs, la ram, la charge du système. Vous remarquerez qu'il n'y a pas plus de vingt processus en tout qui sont chargés, et que la RAM n'est occupée que pour un peu moins de 300 Mio.Comment modifier le comportement de sudo ? On utilise pour cela l'utilitaire visudo :
sudo visudo
Chercher et modifiez cette (en fin du fichier) en ajoutant la directive NOPASSWD: :
%sudo ALL=(ALL:ALL) NOPASSWD: ALL
Pour sauvegarder et quitter :
:wq et Entrée.Installons le service chrony qui va assurer un maintien à l'heure du système depuis internet, grâce au protocole ntp :
sudo apt install chrony
sudo systemctl status chrony
Le maintien à l'heure exacte des systèmes est un point généralement crucial pour la stabilité et la synchronisation des services.
C'est sans doute le plus léger de tous, tout en restant fonctionnel et agréable. C'est pour cela que nous le préférons ici.
sudo apt install xfce4
C'est quand même un grand nombre de paquets, représentant autour de 1 Gio.
Dans la foulée, on installe les greffons et utilitaires essentiels :
sudo apt install xfce4-goodies
On ajoute un terminal confortable et performant (celui fourni avec XFCE4 est un peu trop spartiate):
sudo apt install terminator
La version de Firefox disponible sous Debian est la ESR (Extended Support Release) :
sudo apt install firefox-esr
Puis on redémarre le système :
sudo reboot
Vous êtes invités à vous identifier (login et mot de passe), mais cette fois dans un environnement GUI.
À ce stade, il peut être intéressant d'ouvrir ce tutoriel sur votre nouvelle station, afin d'utiliser le presse-papier (copier/coller) pour les commandes à venir.
Pour gérer le réseau, on va basculer sur le service NetworkManager, plus adapté pour un environnement GUI (et notamment pour les réseaux WiFi).
sudo apt install network-manager network-manager-gnome
networking pour éviter les conflits :sudo systemctl disable networking
sudo systemctl stop networking
sudo mv /etc/network/interfaces /etc/network/interfaces.old
NetworkManager :sudo systemctl enable NetworkManager
sudo systemctl restart NetworkManager
sudo systemctl status NetworkManager
A ce stade, le réseau est éventuellement HS. Le plus simple est de redémarrer :
sudo reboot
Voici une sélection de plusieurs compléments que vous pourrez installer ou pas, selon votre contexte ou vos besoins :
On va modifier (override) la configuration du display manager (lightdm) pour faciliter la phase de connexion graphique (greeting) :
sudo mkdir -p /etc/lightdm/lightdm.conf.d/
echo -e "[Seat:*]\ngreeter-hide-users=false" | sudo tee /etc/lightdm/lightdm.conf.d/99-show-users.conf
Ceci évitera de devoir saisir le login (mais pas le mot de passe) lors de l'ouverture de session.
Optimisation énergétique, particulièrement utile pour les ordinateurs portables :
# Installation des outils d'optimisation énergétique
sudo apt install tlp tlp-rdw powertop
# Configuration et activation
sudo systemctl enable tlp
sudo systemctl start tlp
# Vérification du statut
sudo tlp-stat -s
sudo apt install blueman
Ceci installe un utilitaire pour connecter et gérer les périphériques bluetooth. Principalement utile pour les portables.
Si vous souhaitez disposer de la suite bureautique LibreOffice ; mais attention c'est assez lourd :
sudo apt install libreoffice
# et l'extension pour être en Français
sudo apt install libreoffice-l10n-fr
Cet outil atril permet aussi de visualiser d'autres types de fichiers (images, xps, epub, ...)
sudo apt install atril
sudo apt install filezilla
sudo apt install flameshot
Associez la commande
flameshot guià la touche Impr Ecr
sudo apt update
sudo apt install fonts-noto-core fonts-noto-ui-core fonts-noto-extra fonts-noto-cjk
sudo apt install fonts-noto-color-emoji
sudo fc-cache -fv
sudo apt install cool-retro-term
Avant d'installer VirtualBox, vérifions que la virtualisation est bien activée :
lscpu | grep Virtualisation
Ou encore de cette façon :
egrep -c '(vmx|svm)' /proc/cpuinfo # doit retourner un nombre > 0
Il faut désactiver KVM (depuis Debian 13) pour éviter les conflits avec VirtualBox :
# Créer un fichier de blacklist
echo 'blacklist kvm_amd' | sudo tee /etc/modprobe.d/blacklist-kvm.conf
echo 'blacklist kvm_intel' | sudo tee -a /etc/modprobe.d/blacklist-kvm.conf
# Mettre à jour initramfs et redémarrer
sudo update-initramfs -u -k all
sudo reboot
Installez les prérequis
sudo apt install linux-headers-amd64
sudo apt install gcc make perl
Sur le site web de VirtualBox, téléchargez
Installez VirtualBox (adapter le nom du fichier selon la version téléchargée) :
cd ~/Téléchargements # emplacement de téléchargement par défaut
sudo dpkg -i virtualbox-7.X_X.X.XX-XXXXXX~Debian~trixie_amd64.deb
on résoud automatiquement le problème de dépendances :
sudo apt -f install
puis on finalise l'installation :
sudo /sbin/vboxconfig
Ajoutez l'utilisateur au groupe vboxusers
sudo adduser $USER vboxusers
et enfin redémarrez :
sudo reboot
Après redémarrage, vérifier que tout fonctionne correctement :
# Vérifier que KVM n'est plus chargé
lsmod | grep kvm # ne doit rien retourner
# Vérifier que VirtualBox fonctionne
lsmod | grep vbox # doit lister les modules VirtualBox
Le pack d'extensions VirtualBox ajoute des fonctionnalités importantes (USB 2.0/3.0, RDP, chiffrement, etc.) :
Il a déjà été téléchargé à l'étape précédente. Il faut l'installer via l'interface graphique VirtualBox. Cependant, cette installation demandera une élévation root via la commande su, hors l'utilisateur root n'est pas activé. Pour cette opération, il convient donc de lancer exceptionnellement virtualbox avec sudo depuis un terminal :
sudo virtualbox
Puis ensuite, installaer le pack via le menu :
sudo tee /etc/sysctl.d/99-custom-tuning.conf > /dev/null <<EOF
# Réduction du swappiness pour de meilleures performances
vm.swappiness=10 # et même 5 si vous avez 24 Go de RAM ou plus
# Optimisation du cache du noyau
vm.vfs_cache_pressure = 50
# Activation du forwarding IP (routage) pour les réseaux VM
net.ipv4.ip_forward=1
EOF
# Appliquer immédiatement :
sudo sysctl -p /etc/sysctl.d/99-custom-tuning.conf
Bien que nous soyons sur un lab, il est assez prudent d'installer un pare-feu avec des règles de base. Nous pouvons utiliser UFW (Uncomplicated Firewall) :
sudo apt install ufw
# Configuration des règles de base
sudo ufw default deny incoming
sudo ufw default allow outgoing
# Activer le pare-feu
sudo ufw enable
# Vérifier le statut
sudo ufw status verbose
Vous disposez maintenant d'une station de travail légère et optimisée pour faire tourner des machines virtuelles avec VirtualBox. Le système consomme environ 500-700 Mio de RAM au repos, laissant le maximum de ressources disponibles pour vos VM. Profitez bien de votre mini-lab !