needrestart 0.7

Posted on 2014-04-14 in Projects • 1 min read

needrestart checks which daemons need to be restarted after library upgrades. It is inspired by checkrestart from the debian-goodies package.

needrestart supports but does not require systemd (available since v0.6). If systemd is not available or does not return a service name needrestart uses hooks to identify the corresponding System V init script. The shipped hooks support the following package managers:

  • dpkg
  • rpm
  • pacman

The service command is used to run the tradiditional System V init script.

Changes in 0.7

  • Improved rc script detection, e.g.: previous releases failed to detect apache2’s init script after upgrading libssl1.0.0.
  • Handle Linux VServer naming convention on deleted binaries. (Thanks to Phillip Berndt [@phillipberndt])
  • Support GNU formatted device ids. (github issue #1 by Phillip Berndt [@phillipberndt])
  • Hooks: Use only available package managers.
  • Hooks: Ignore hooks not returning any rc scripts (fixes detecting apache2’s rc script).
  • Hooks: Prefer rc scripts w/ matching pid (fixes calling unnecessary rc scripts like libvirt-guests).
  • Improve rc script detection by using a two pass analysis.
  • Fallback to NeedRestart::UI::stdio while being verbose. (Debian Bug#744000 by Paul Wise <>)
  • Add default UI configuration option. (Debian Bug#744001 by Paul Wise <>)
  • Apply blacklist while processing parent processes. (Debian Bug#744002 by Paul Wise <>)
  • Apply Debian’s 01-makefile-fix.diff upstream.

See also