Guide Complet : Optimisation extrême du Boot Linux

Guide Complet : Optimisation extrême du Boot Linux
Photo by Martin Adams / Unsplash

Ce tutoriel permet de passer d'un démarrage lourd (chargé en services cloud et mises à jour) à un démarrage "Lean & Mean" (rapide et efficace).

Analyse et Diagnostic

Avant de couper quoi que ce soit, il faut identifier les goulots d'étranglement.

  1. Le score global : systemd-analyze
  2. La liste des coupables : systemd-analyze blame
  3. Le graphique détaillé (optionnel) : systemd-analyze plot > boot.svg

Dompter les mises à jour (APT)

Le service apt-daily est souvent le plus gros bloqueur. On ne le désactive pas pour la sécurité, mais on le décale.

  1. Appliquer : sudo systemctl daemon-reload

Décaler l'upgrade : sudo systemctl edit apt-daily-upgrade.timer

Ajoutez :

[Timer]
OnStartupSec=20min
RandomizedDelaySec=5min

Décaler la vérification : sudo systemctl edit apt-daily.timer

Ajoutez :

[Timer]
OnStartupSec=15min
RandomizedDelaySec=5min

Optimisation du SSD (fstrim)

On évite que le nettoyage du SSD ne se batte avec le boot.

  1. Désactiver le service forcé : sudo systemctl disable fstrim.service
  2. Activer le timer hebdomadaire : sudo systemctl enable --now fstrim.timer Le système fera le TRIM intelligemment quand il sera au repos.

Suppression des composants inutiles

C'est ici que l'on gagne le plus en "propreté" système.

Cloud-Init (Si serveur physique/local)

Empêche le système de chercher des configurations Cloud inexistantes.

sudo touch /etc/cloud/cloud-init.disabled
sudo systemctl disable --now cloud-init cloud-config cloud-final cloud-init-local

Désinstaller Snap (Optionnel mais radical)

Supprime les montages de disques virtuels (dev-loop) qui ralentissent tout.

  1. Lister : snap list
  2. Supprimer les apps : sudo snap remove --purge <nom-du-paquet>
  3. Supprimer le moteur : sudo apt autoremove --purge snapd

Bloquer la réinstallation : Créez /etc/apt/preferences.d/nosnap.pref et mettez :

Package: snapd
Pin: release a=*
Pin-Priority: -10

Services divers (Modem/Réseau)

  • ModemManager : sudo systemctl disable --now ModemManager (Sauf si vous avez une clé 4G).

Attente réseau : Limiter l'attente du réseau à 10s au lieu de bloquer le boot : sudo systemctl edit systemd-networkd-wait-online.service

[Service]
ExecStart=
ExecStart=/usr/lib/systemd/systemd-networkd-wait-online --timeout=10

Le Verdict Final

Après avoir appliqué ces changements, redémarrez votre machine : sudo reboot

Relancez la commande magique pour admirer le travail : systemd-analyze

Astuce de fin :

Si vous utilisez Docker, n'oubliez pas que chaque conteneur qui démarre automatiquement ajoute un petit délai.

Si certains ne sont pas critiques, passez-les en restart: no dans vos docker-compose.