Guide Complet : Optimisation extrême du Boot Linux
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.
- Le score global :
systemd-analyze - La liste des coupables :
systemd-analyze blame - 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.
- 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.
- Désactiver le service forcé :
sudo systemctl disable fstrim.service - Activer le timer hebdomadaire :
sudo systemctl enable --now fstrim.timerLe 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.
- Lister :
snap list - Supprimer les apps :
sudo snap remove --purge <nom-du-paquet> - 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.