libpq-dev
Vagrant 머신에 설치하고 싶습니다 . 내가 설치해
$ 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.dat
Debian에서는 아래 파일에 이 줄의 유효한 값에 대한 자세한 정보가 있어야 합니다 /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