리눅스

우분투 needrestart

코드버스 2023. 4. 11. 15:41
728x90
반응형

우분투 needrestart

Daemons using outdated libraries

 

"needrestart"는 우분투와 같은 리눅스 배포판에서 사용되는 유틸리티 중 하나입니다. 시스템에서 실행 중인 데몬과 프로세스가 업데이트된 라이브러리를 사용하는 경우, 이를 감지하고 해당 데몬과 프로세스를 다시 시작하도록 자동으로 설정할 수 있습니다. 이를 통해 시스템의 보안과 안정성을 유지할 수 있습니다.

 

"needrestart"는 일반적으로 우분투에서 패키지 관리자를 사용하여 시스템 패키지를 업데이트할 때 자동으로 실행됩니다. 또한 사용자가 직접 실행하여 시스템에서 업데이트된 라이브러리를 사용하는 데몬과 프로세스를 감지하고, 해당 데몬과 프로세스를 다시 시작할 수 있습니다.

 

"needrestart"는 기본적으로 우분투의 패키지 저장소에 포함되어 있으며, 다음 명령어를 사용하여 설치할 수 있습니다.

sudo apt-get install needrestart

"needrestart"는 명령행 도구이므로, 적절한 옵션과 함께 사용하여 필요한 작업을 수행할 수 있습니다. 예를 들어, 다음 명령어는 시스템에서 업데이트된 라이브러리를 사용하는 데몬과 프로세스를 감지하고, 해당 데몬과 프로세스를 다시 시작할 것인지를 묻는 메시지를 출력합니다.

sudo needrestart

"needrestart"를 사용하여 시스템에서 업데이트된 라이브러리를 사용하는 데몬과 프로세스를 자동으로 감지하고 다시 시작하도록 설정하면, 시스템의 안정성과 보안을 유지할 수 있습니다.

 

"$nrconf{restart}"은 "needrestart" 유틸리티의 설정 파일인 "needrestart.conf"에서 사용되는 변수입니다. 이 변수는 시스템에서 업데이트된 라이브러리를 사용하는 데몬과 프로세스를 감지한 후, 해당 데몬과 프로세스를 자동으로 재시작할 것인지 여부를 제어하는 데 사용됩니다.

 

"$nrconf{restart}" 변수에 할당할 수 있는 값은 다음과 같습니다.

 

  • 'a': 업데이트된 라이브러리를 사용하는 모든 데몬과 프로세스를 자동으로 재시작합니다.
  • 'n': 데몬과 프로세스를 자동으로 재시작하지 않습니다.
  • 'l': 업데이트된 라이브러리를 사용하는 데몬과 프로세스 중 목록에 포함된 데몬과 프로세스만 자동으로 재시작합니다.

 

따라서 "$nrconf{restart} = 'a';"는 시스템에서 업데이트된 라이브러리를 사용하는 모든 데몬과 프로세스를 자동으로 재시작하도록 설정하는 것이며, "$nrconf{restart} = 'l';"은 "needrestart.conf" 파일에서 목록에 포함된 데몬과 프로세스만 자동으로 재시작하도록 설정하는 것입니다.

자동으로 재시작하도록 설정

cp /etc/needrestart/needrestart.conf /etc/needrestart/needrestart.conf.bk
sed -i "/#\$nrconf{restart} = 'i';/s/.*/\$nrconf{restart} = 'a';/" /etc/needrestart/needrestart.conf
$ diff -Nur /etc/needrestart/needrestart.conf /etc/needrestart/needrestart.conf.bk
--- /etc/needrestart/needrestart.conf   2023-04-11 15:33:39.771747979 +0900
+++ /etc/needrestart/needrestart.conf.bk        2023-04-11 15:33:34.255979203 +0900
@@ -35,7 +35,7 @@
 # ATTENTION: If needrestart is configured to run in interactive mode but is run
 # non-interactive (i.e. unattended-upgrades) it will fallback to list only mode.
 #
-$nrconf{restart} = 'a';
+#$nrconf{restart} = 'i';
 
 # Use preferred UI package.
 #$nrconf{ui} = 'NeedRestart::UI::stdio';

 

728x90
반응형