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