
Utilitaire système qui identifie et redémarre les démons utilisant des bibliothèques obsolètes après les mises à niveau de paquets afin de maintenir la sécurité. Prend en charge les conteneurs et les interpréteurs.
needrestart vérifie quels démons doivent être redémarrés après des mises à niveau de bibliothèques. Il s'inspire de checkrestart du paquet debian-goodies.
Des scripts hook se trouvent dans le répertoire ex/ (à utiliser avec
apt et dpkg). Ces scripts appellent needrestart
après toute installation/mise à niveau de paquets.
needrestart devrait fonctionner sur GNU/Linux. Il dispose d'une
fonctionnalité limitée sur GNU/kFreeBSD puisque /proc/<pid>/maps
n'affiche pas les liens de fichiers supprimés.
needrestart prend en charge systemd sans l'exiger (disponible depuis la v0.6). Si systemd est utilisé, vous devriez également utiliser libpam-systemd. Si needrestart détecte systemd, il suppose que libpam-systemd est utilisé et s'appuie sur les noms cgroup pour déterminer si un processus appartient à une session utilisateur ou à un démon. Si vous n'utilisez pas libpam-systemd, vous devez définir $nrconf{has_pam_systemd} à 0 dans needrestart.conf.
Si systemd n'est pas disponible ou ne renvoie pas de nom de service, needrestart utilise des hooks pour identifier le script d'initialisation System V correspondant. Les hooks fournis prennent en charge les gestionnaires de paquets suivants :
La commande service est utilisée pour exécuter le script d'initialisation System V traditionnel.
needrestart utilise une approche modulaire basée sur des paquets perl fournissant l'interface utilisateur. Les frontaux suivants sont fournis :
needrestart 0.8 apporte une fonction de détection de noyaux obsolètes. Depuis needrestart 3.5, il est possible de filtrer les noms de fichiers d'images de noyau (requis sur Raspberry Pi).
Dans needrestart 3.0, une fonction de détection des mises à jour du microcode processeur pour les CPU Intel a été ajoutée. Depuis needrestart 3.5, la prise en charge des CPU AMD a été ajoutée.
needrestart 0.8 apporte une fonction d'analyse des interpréteurs. Les interpréteurs ne mappent pas uniquement des objets binaires (partagés), mais utilisent aussi des fichiers sources en texte clair. La détection des interpréteurs tente de vérifier les fichiers sources obsolètes car ils peuvent également contenir des problèmes de sécurité. Il ne s'agit que d'une heuristique qui pourrait ne pas détecter tous les fichiers sources pertinents. Les analyseurs d'interpréteurs suivants sont fournis :
needrestart 2.1 détecte certaines technologies de conteneurs. Si un processus fait partie d'un conteneur, il peut ne pas être possible de le redémarrer à l'aide de Sys-V/systemd.
Des paquets perl spéciaux (NeedRestart::CONT::*) implémentent la détection et le redémarrage des conteneurs. Les détecteurs de conteneurs suivants sont fournis :
needrestart peut être exécuté en mode batch pour utiliser les résultats dans d'autres programmes ou scripts.
Un mode plugin nagios est également disponible.