libpq-dev 설치 시 서비스를 다시 시작하라는 메시지가 표시되지 않도록 하는 방법

libpq-dev 설치 시 서비스를 다시 시작하라는 메시지가 표시되지 않도록 하는 방법

libpq-devVagrant 머신에 설치하고 싶습니다 . 내가 설치해

$ apt-get install -y libpq-dev

설치 프로세스 중에 특정 서비스를 자동으로 다시 시작할 수 있는지 묻는 메시지가 나타납니다. 이 팁은 내 Vagrant 용어를 위반합니다. 이 메시지를 어떻게 끌 수 있나요?

빠르게

텍스트:

특정 라이브러리(예: libpam, libc 및 libssl)를 업그레이드할 때 다시 시작해야 하는 서비스가 시스템에 설치되어 있습니다. 다시 시작하면 시스템 서비스가 중단될 수 있으므로 일반적으로 업그레이드할 때마다 다시 시작할 서비스 목록을 선택하라는 메시지가 표시됩니다. 프롬프트를 표시하지 않으려면 이 옵션을 선택할 수 있습니다. 대신 필요한 모든 다시 시작이 자동으로 수행되므로 라이브러리가 업그레이드될 때마다 질문을 받지 않아도 됩니다.

****편집하다****

감사해요패트릭의 대답그리고이것문제를 해결했습니다. 이제 내 Vagrantfile에는 다음이 포함됩니다.

 sudo DEBIAN_FRONTEND=noninteractive apt-get install -y libpq-dev

답변1

환경 변수를 설정합니다 DEBIAN_FRONTEND=noninteractive.

예를 들어:

export DEBIAN_FRONTEND=noninteractive
apt-get install -y libpq-dev

그러면 apt-get기본 옵션이 선택됩니다.

답변2

를 사용하여 이를 달성할 수 있어야 합니다 debconf-set-selections. 매뉴얼 페이지에서:

debconf-set-selections can be used to pre-seed the debconf database
with answers, or to change answers in the database. Each question will
be marked as seen to prevent debconf from asking the question
interactively.

알 수 없는 필수 입력을 결정하려면 debconf-set-selections프롬프트에 수동으로 응답한 다음 debconf 데이터베이스를 확인하여 올바른 값을 찾으면 됩니다. 이렇게 하려면 다음을 설치하십시오 debconf-utils.

sudo apt-get -y install debconf-utils

명령을 제공합니다 debconf-get-selections. 그 다음에:

sudo debconf-get-selections | grep libssl1.0.0:amd64

데이터베이스의 값을 확인하십시오. 내 시스템(Ubuntu, Debian도 비슷해야 함)에서 apt-get install libpq-dev를 실행하면 프롬프트가 표시되지 않고 다음 항목이 있습니다.

libssl1.0.0:amd64   libssl1.0.0/restart-services     string

따라서 다음을 사용할 수 있어야 합니다.

echo 'libssl1.0.0:amd64 libssl1.0.0/restart-services string' | sudo debconf-set-selections

libssl을 "none"으로 업그레이드할 때 다시 시작할 서비스 목록을 설정합니다.

questions.datDebian에서는 아래 파일에 이 줄의 유효한 값에 대한 자세한 정보가 있어야 합니다 /var/lib/cdebconf. 바라보다https://www.debian.org/releases/stable/i386/apbs03.html.en자세한 내용은.

답변3

기존 답변이 약간 오래되었을 수 있다고 생각합니다. 최근에 다음이 나에게 효과적이었습니다.

패키지 설정 보기

sudo debconf-show <package-name>

예를 들어:

$ sudo debconf-show libssl1.1 
  libssl1.1/restart-services:
  libssl1.1/restart-failed:
* libraries/restart-without-asking: false

설정 변경

echo '<package-and-setting-string>' | sudo debconf-set-selections

예를 들어

echo 'libssl1.1 libraries/restart-without-asking boolean true' | sudo debconf-set-selections

보너스 팁, 모든 패키지에 대해 이 설정을 지정하려면 패키지 이름 대신 "*"를 사용하세요.

예를 들어

echo '* libraries/restart-without-asking boolean true' | sudo debconf-set-selections

답변4

패키지를 제거하여 Debian 11에서 이 기능을 비활성화할 수 있습니다 needrestart.

apt remove needrestart

관련 정보