
Utilità di sistema che identifica e riavvia i daemon che utilizzano librerie obsolete dopo gli aggiornamenti dei pacchetti per mantenere la sicurezza. Supporta container e interpreti.
needrestart verifica quali demoni devono essere riavviati dopo gli aggiornamenti delle librerie. Si ispira a checkrestart del pacchetto debian-goodies.
Nella directory ex/ ci sono alcuni script hook (da usare con apt e dpkg. Gli script chiameranno needrestart dopo ogni installazione/aggiornamento di pacchetti.
needrestart dovrebbe funzionare su GNU/Linux. Ha funzionalità limitate su GNU/kFreeBSD poiché /proc/<pid>/maps non mostra i collegamenti ai file rimossi.
needrestart supporta ma non richiede systemd (disponibile dalla v0.6). Se viene usato systemd, dovresti usare anche libpam-systemd. Se needrestart rileva systemd, presuppone che libpam-systemd sia in uso e si affida ai nomi dei cgroup per rilevare se un processo appartiene a una sessione utente o a un demone. Se non usi libpam-systemd, dovresti impostare $nrconf{has_pam_systemd} a 0 all'interno di needrestart.conf.
Se systemd non è disponibile o non restituisce un nome di servizio, needrestart usa gli hook per identificare il corrispondente script di init System V. Gli hook forniti supportano i seguenti gestori di pacchetti:
Il comando service viene usato per eseguire il tradizionale script di init System V.
needrestart usa un approccio modulare basato su pacchetti perl che forniscono l'interfaccia utente. Vengono forniti i seguenti frontend:
needrestart 0.8 introduce una funzione di rilevamento dei kernel obsoleti. Dalla versione needrestart 3.5 è possibile filtrare i nomi dei file immagine del kernel (richiesto su Raspberry Pi).
In needrestart 3.0 è stata aggiunta una funzione di rilevamento degli aggiornamenti del microcodice del processore per CPU Intel. Dalla versione needrestart 3.5 è stato aggiunto il supporto per CPU AMD.
needrestart 0.8 introduce una funzione di scansione degli interpreti. Gli interpreti non mappano solo oggetti binari (condivisi), ma usano anche file sorgente in chiaro. Il rilevamento degli interpreti tenta di verificare la presenza di file sorgente obsoleti, poiché potrebbero contenere anche problemi di sicurezza. Si tratta solo di un'euristica che potrebbe non rilevare tutti i file sorgente pertinenti. Vengono forniti i seguenti scanner per interpreti:
needrestart 2.1 rileva alcune tecnologie container. Se un processo fa parte di un container, potrebbe non essere possibile riavviarlo usando Sys-V/systemd.
Esistono pacchetti perl speciali (NeedRestart::CONT::*) che implementano il rilevamento e il riavvio dei container. Vengono forniti i seguenti rilevatori di container:
needrestart può essere eseguito in modalità batch per utilizzare i risultati all'interno di altri programmi o script.
È disponibile anche una modalità plugin nagios.