
패키지 업그레이드 후 오래된 라이브러리를 사용하는 데몬을 식별하여 재시작함으로써 보안을 유지하는 시스템 유틸리티입니다. 컨테이너와 인터프리터를 지원합니다.
needrestart는 라이브러리 업그레이드 후 재시작이 필요한 데몬을 확인합니다. debian-goodies 패키지의 checkrestart에서 영감을 받았습니다.
ex/ 디렉토리에 일부 후크 스크립트가 있습니다 (apt 및 dpkg와 함께 사용하도록). 이 스크립트는 패키지 설치/업그레이드 후 needrestart를 호출합니다.
needrestart는 GNU/Linux에서 작동해야 합니다. /proc/<pid>/maps가 제거된 파일 링크를 표시하지 않으므로 GNU/kFreeBSD에서는 기능이 제한됩니다.
needrestart는 systemd를 지원하지만 요구하지는 않습니다 (v0.6부터 사용 가능). systemd를 사용한다면 libpam-systemd도 사용해야 합니다. needrestart가 systemd를 감지하면 libpam-systemd가 사용된다고 가정하고 cgroup 이름을 사용하여 프로세스가 사용자 세션에 속하는지 데몬에 속하는지 판별합니다. libpam-systemd를 사용하지 않는다면 needrestart.conf 내에서 $nrconf{has_pam_systemd}를 0으로 설정해야 합니다.
systemd를 사용할 수 없거나 서비스 이름을 반환하지 않는 경우 needrestart는 후크를 사용하여 해당 System V init 스크립트를 식별합니다. 제공되는 후크는 다음 패키지 관리자를 지원합니다:
service 명령은 기존 System V init 스크립트를 실행하는 데 사용됩니다.
needrestart는 사용자 인터페이스를 제공하는 perl 패키지 기반의 모듈식 접근 방식을 사용합니다. 다음 프론트엔드가 제공됩니다:
needrestart 0.8은 오래된 커널 감지 기능을 도입했습니다. needrestart 3.5부터 커널 이미지 파일 이름을 필터링할 수 있습니다 (Raspberry Pi에 필요).
needrestart 3.0에서는 Intel CPU용 프로세서 마이크로코드 업데이트 감지 기능이 추가되었습니다. needrestart 3.5부터 AMD CPU 지원이 추가되었습니다.
needrestart 0.8은 인터프리터 스캔 기능을 도입했습니다. 인터프리터는 바이너리(공유) 객체만 매핑하는 것이 아니라 일반 텍스트 소스 파일도 사용합니다. 인터프리터 감지는 보안 문제를 포함할 수 있으므로 오래된 소스 파일을 확인하려고 시도합니다. 이는 휴리스틱일 뿐이며 모든 관련 소스 파일을 감지하지 못할 수 있습니다. 다음 인터프리터 스캐너가 제공됩니다:
needrestart 2.1은 일부 컨테이너 기술을 감지합니다. 프로세스가 컨테이너의 일부인 경우 Sys-V/systemd를 사용하여 재시작하지 못할 수 있습니다.
컨테이너 감지 및 재시작을 구현하는 특수 perl 패키지(NeedRestart::CONT::*)가 있습니다. 다음 컨테이너 감지기가 제공됩니다:
needrestart는 배치 모드로 실행하여 다른 프로그램이나 스크립트에서 결과를 사용할 수 있습니다.
nagios 플러그인 모드도 사용할 수 있습니다.