System
Difficulte: Beginner
4 min de lecture

Needrestart : Gérer les redémarrages de services

Tutoriel pour installer et configurer needrestart afin de vérifier et redémarrer les services après les mises à jour sur un système Linux.

Retour aux tutoriels
Qu\'est-ce que needrestart ?
Après une mise à jour de bibliothèque (comme OpenSSL ou glibc), les services qui l\'utilisent continuent de tourner avec l\'ancienne version en mémoire. needrestart est un outil qui détecte intelligemment ces services et vous demande s\'ils doivent être redémarrés pour appliquer les correctifs de sécurité ou de stabilité.

Pourquoi utiliser needrestart ?

  • Sécurité : Assure que les correctifs de sécurité des bibliothèques sont réellement appliqués aux services en cours d\'exécution.
  • Stabilité : Évite les incohérences entre les nouvelles bibliothèques sur le disque et les anciennes en mémoire.
  • Praticité : S\'intègre parfaitement avec apt sur Debian/Ubuntu pour vérifier les services après chaque mise à jour.
  • Contrôle : Vous laisse le choix de redémarrer, d\'ignorer ou de redémarrer automatiquement les services.

Prérequis

  • Un système Linux basé sur Debian (Debian, Ubuntu, Mint...).
  • Accès root ou privilèges sudo.

Installation

needrestart se trouve dans les dépôts par défaut de Debian et Ubuntu.

sudo apt-get update
sudo apt-get install -y needrestart

Lors de l\'installation, il vous sera probablement demandé de choisir un mode de redémarrage par défaut. Le mode "interactive" (-i) est le plus sûr pour commencer : il vous demandera confirmation pour chaque redémarrage.

Utilisation

L\'utilisation principale de needrestart est automatique. Après une commande apt upgrade, il se lancera de lui-même.

Vous pouvez aussi le lancer manuellement à tout moment pour vérifier l\'état de votre système :

sudo needrestart

Exemple de sortie


Scanning processes...
Scanning candidates...
Scanning linux images...

Running kernel seems to be up-to-date.

Restarting services...
 Service "cron" is using old libraries and needs to be restarted.
  Restarting cron...
  systemctl restart cron.service
...

Si vous êtes en mode interactif, il vous présentera une liste des services à redémarrer et vous demandera de choisir lesquels redémarrer.

Pas de nouvelles, bonnes nouvelles
Si needrestart ne vous demande rien après une mise à jour, c\'est qu\'aucun service en cours d\'exécution n\'est affecté.

Configuration

Le fichier de configuration principal est /etc/needrestart/needrestart.conf. Vous pouvez y ajuster le comportement de l\'outil.

sudo nano /etc/needrestart/needrestart.conf

Mode de redémarrage

La ligne la plus importante est $nrconf{restart}.

# 'i' - Interactive: demande confirmation avant chaque redémarrage (défaut).
# 'l' - List: ne fait que lister les services, sans redémarrer.
# 'a' - Automatic: redémarre automatiquement les services sans demander (Attention !).
$nrconf{restart} = 'i';

Pour un serveur en production, le mode interactif (i) ou le mode liste (l) sont recommandés pour éviter les interruptions de service non planifiées.

Ignorer certains services

Si vous avez un service sensible que vous ne voulez jamais que needrestart redémarre, vous pouvez l\'ajouter à la liste d\'ignorés.

# Exemple pour ignorer le serveur de base de données PostgreSQL
$nrconf{override_rc}{postgresql} = 0;
Redémarrage du Noyau (Kernel)
needrestart vous avertira également si une mise à jour du noyau a été installée, indiquant qu\'un redémarrage complet du système est nécessaire pour l\'activer. Contrairement aux services, il ne peut pas redémarrer le noyau lui-même.

Conclusion

needrestart est un outil simple mais essentiel pour la maintenance et la sécurité des systèmes Debian-like. Il comble une lacune importante dans le processus de mise à jour en s\'assurant que les correctifs sont bien appliqués non seulement sur le disque, mais aussi pour les services activement en cours d\'exécution. Son utilisation est une bonne pratique fortement recommandée pour tout administrateur système.