libpq-dev를 설치할 때 서비스를 다시 시작하라는 프롬프트를 방지하는 방법


29

libpq-devVagrant 컴퓨터에 설치 하고 싶습니다. 나는 그것을 설치

$ apt-get install -y libpq-dev

설치하는 동안 일부 서비스를 자동으로 다시 시작할 수 있는지 묻는 메시지가 나타납니다. 이 프롬프트는 내 방랑자 조항을 위반합니다. 이 프롬프트를 어떻게 비활성화 할 수 있습니까?

신속한

본문:

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

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

덕분에 패트릭의 대답 내가 그것을 고정 질문입니다. 이제 내 Vagrantfile에 다음이 포함됩니다.

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

사용을 제안 -y했지만 많이 바뀌지 않는 것 같습니다. 참조man apt-get | less +/--force-yes
Valentin Bajrami

나는 그 옵션도 시도했지만 그중 하나도 효과가 없었습니다.
OrangeTux

답변:


28

환경 변수를 설정하십시오 DEBIAN_FRONTEND=noninteractive.

예를 들면 다음과 같습니다.

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

이것은 만들 것이다 apt-get기본 옵션을 선택합니다.


2
이 경우에는 작동하지 않습니다.
Nigel Horne

2
"이 경우"를 지정하십시오. 질문 작성자가이 답변을 올바른 것으로 선택했습니다. 답변이 효과가없는 경우 새 질문을하고 사례가 어떻게 다른지 명확히하고 이것이 효과가 없는지 확인하십시오.
패트릭

1
그것은 나에게도 효과가 없었다.
펠리페

서비스를 다시 시작하거나 다시 시작하지 않는 기본 옵션입니까?
니콜 리

나에게도 효과가 없었습니다 export DEBIAN_FRONTEND=noninteractive; sudo apt-get update; sudo apt-get install -y libssl-dev openssl. 우분투 18
RSHAP

9

을 사용하여이 작업을 수행 할 수 있어야합니다 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

데이터베이스의 값을 확인하십시오. 내 시스템 (우분투, 데비안은 비슷해야 함)에서 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파일 에이 줄의 유효한 값에 대한 자세한 정보가 있어야합니다 /var/lib/cdebconf. 자세한 내용은 https://www.debian.org/releases/stable/i386/apbs03.html.en 을 참조하십시오.


4

기존 답변이 약간 오래된 것 같습니다. 다음은 최근에 저에게 효과적이었습니다.

패키지 설정을 보려면

sudo debconf-show <package-name>

EG :

$ 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

EG

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

보너스 팁 : 모든 패키지에이 설정을 설정하려면 패키지 이름 대신 '*'를 사용하십시오.

EG

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

받아 들인 대답은 나에게는 효과가 없었지만 사용했습니다 debconf-set-selections.
bradj
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.