如何防止安装 libpq-dev 时要求重新启动服务的提示

如何防止安装 libpq-dev 时要求重新启动服务的提示

我想安装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

相关内容