web-dev-qa-db-ja.com

libpq-devのインストール時にサービスの再起動を求めるプロンプトを防ぐ方法

インストールしたいlibpq-dev私のVagrantマシン上。私はそれをインストールします

$ apt-get install -y libpq-dev

インストール中に、一部のサービスを自動的に再起動することを許可するかどうかを尋ねるプロンプトが表示されます。このプロンプトは、私のVagrant条項に違反します。このプロンプトを無効にするにはどうすればよいですか?

Prompt

テキスト:

Libpam、libc、libsslなどの特定のライブラリがアップグレードされたときに再起動する必要があるサービスがシステムにインストールされています。これらの再起動によりシステムのサービスが中断される可能性があるため、通常は、再起動するサービスのリストをアップグレードするたびにプロンプ​​トが表示されます。このオプションを選択して、プロンプトが表示されないようにすることができます。代わりに、必要なすべての再起動が自動的に行われるので、ライブラリをアップグレードするたびに質問されることを回避できます。

****編集****

Patrick's answerthis の質問のおかげで修正しました。今私のVagrantfileは含まれています:

 Sudo DEBIAN_FRONTEND=noninteractive apt-get install -y libpq-dev
34
OrangeTux

環境変数DEBIAN_FRONTEND=noninteractiveを設定します。

例えば:

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

これにより、apt-getがデフォルトオプションを選択します。

30
Patrick

debconf-set-selectionsを使用してこれを実現できるはずです。 manページから:

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」にアップグレードするときに再起動するサービスのリストを設定します。

Debianでは、questions.datの下の/var/lib/cdebconfファイルにこの行の有効な値に関する詳細情報があるはずです。詳細は https://www.debian.org/releases/stable/i386/apbs03.html.en を参照してください。

9
mvermaes

既存の答えは少し古いかもしれません。以下は最近私のために働いた。

パッケージの設定を表示するには

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
7
PiersyP