• Stars
    star
    419
  • Rank 103,073 (Top 3 %)
  • Language
    Perl
  • License
    GNU General Publi...
  • Created over 11 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Restart daemons after library updates.

needrestart

About

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

There are some hook scripts in the ex/ directory (to be used with apt and dpkg. The scripts will call needrestart after any package installation/upgrades.

needrestart should work on GNU/Linux. It has limited functionality on GNU/kFreeBSD since /proc/<pid>/maps does not show removed file links.

Restarting Services

needrestart supports but does not require systemd (available since v0.6). If systemd is used you should use libpam-systemd, too. If needrestart detects systemd it will assume that libpam-systemd is used and relies on cgroup names to detect if a process belongs to a user session or a daemon. If you do not use libpam-systemd you should set $nrconf{has_pam_systemd} to 0 within needrestart.conf.

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 traditional System V init script.

Frontends

needrestart uses a modular approach based on perl packages providing the user interface. The following frontends are shipped:

  • NeedRestart::UI::Debconf using debconf
  • NeedRestart::UI::stdio fallback using stdio interaction

Kernel & Microcode

needrestart 0.8 brings a obsolete kernel detection feature. Since needrestart 3.5 it is possible to filter kernel image filenames (required on Raspberry Pi).

In needrestart 3.0 a processor microcode update detection feature for Intel CPUs has been added. Since needrestart 3.5 the AMD CPU support has been added.

Interpreters

needrestart 0.8 brings an interpreter scanning feature. Interpreters not only map binary (shared) objects but also use plaintext source files. The interpreter detection tries to check for outdated source files since they may contain security issues, too. This is only a heuristic and might fail to detect all relevant source files. The following interpreter scanners are shipped:

  • NeedRestart::Interp::Java
  • NeedRestart::Interp::Perl
  • NeedRestart::Interp::Python
  • NeedRestart::Interp::Ruby

Containers

needrestart 2.1 detects some container technologies. If a process is part of a container it might not be possible to restart it using Sys-V/systemd.

There are special perl packages (NeedRestart::CONT::*) implementing the container detection and restarting. The following container detectors are shipped:

  • NeedRestart::CONT::docker
  • NeedRestart::CONT::LXC
  • NeedRestart::CONT::machined

Batch Mode

needrestart can be run in batch mode to use the results within other programs or scripts.

There is also a nagios plugin mode available.

More Repositories

1

python-apds9960

Python APDS-9960 Library
Python
78
star
2

htmail-view

single web page renderer based on WebKit2
Perl
20
star
3

ifstate

Manage host interface settings in a declarative manner (Codeberg Mirror)
Python
19
star
4

cgm-remote-monitor-docker

Yet another docker image for Nightscout
Dockerfile
12
star
5

tralnx

Traccar Linux Client
Perl
10
star
6

ovfdep

VMware OVF deployment helper
Shell
9
star
7

sonos-cli

command line interface to control Sonos ZonePlayers (e.g. for home automation integration)
Perl
9
star
8

needrestart-session

check for processes need to be restarted in user sessions
Perl
7
star
9

wekan-scheduler

Pythonic card scheduler for Wekan
Python
5
star
10

barkery

WebKit2-based kiosk browser for digital signage
Python
4
star
11

mqttstray

MQTT System Tray Icon
Python
3
star
12

dpns

docker pull & save
Shell
3
star
13

mox

Monitor XMPP presence
2
star
14

cimato

Cisco IOS MAC Address Table Observer
2
star
15

docker-prune

Executes docker prune commands to allow automatic cleanup on docker nodes.
Shell
2
star
16

najabo

NaJaBo (Nagios Jabber Bot) provides a nagios status summary as a XMPP JID.
Perl
2
star
17

readout

read out text using Speech::Google::TTS
Perl
1
star
18

oss-smokegios

Tool to generate Smokeping configuration from Nagios automatically. [forked from upstream SVN]
Perl
1
star
19

Device--HUAWEI--E355

Perl package for accessing the HUAWEI E355 API
Perl
1
star
20

flenstag

Flickr (Lens/Model) tagger using EXIF data
Perl
1
star
21

challenge-ipv4-basic-debugging

Python
1
star
22

apds-gesture-ui

APDS-9960 Gesture uInput
Python
1
star
23

rpi-initp

Raspberry Pi: move rootfs onto USB storage using a "init partition"
Shell
1
star
24

needrestart-java

Java interpreter support for needrestart
Perl
1
star
25

rosh

Router Shell (Codeberg Mirror)
Python
1
star
26

gen-openpgp-rr

generate OpenPGP RR (to be used with DANE)
Shell
1
star
27

dpns-alpine

DPNS Alpine Package
Shell
1
star
28

radion

RADIus ONline dashboard
Python
1
star
29

python-pytest-reportinfra

pytest plugin for reportinfra
Python
1
star
30

check-nedi

nagios check plugin monitoring NeDi instances
Perl
1
star
31

livestatus2mqtt

Check_MK livestatus to MQTT gateway
Perl
1
star