Ora*_*Tux 42 debian apt software-installation
我想安装libpq-dev
在我的 Vagrant 机器上。我安装它
$ apt-get install -y libpq-dev
Run Code Online (Sandbox Code Playgroud)
在安装过程中会出现一个提示,询问是否允许自动重新启动某些服务。这个提示打破了我的 Vagrant 规定。如何禁用此提示?
文本:
当某些库(例如 libpam、libc 和 libssl)升级时,系统上安装了需要重新启动的服务。由于这些重新启动可能会导致系统服务中断,因此每次升级时通常都会提示您选择要重新启动的服务列表。您可以选择此选项以避免被提示;相反,所有必要的重启都将自动为您完成,因此您可以避免在每次库升级时被问到问题。
****编辑 ****
感谢帕特里克的回答和这个问题我修复了它。现在我的 Vagrantfile 包含:
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y libpq-dev
Run Code Online (Sandbox Code Playgroud)
phe*_*mer 37
设置环境变量DEBIAN_FRONTEND=noninteractive
。
例如:
export DEBIAN_FRONTEND=noninteractive
apt-get install -y libpq-dev
Run Code Online (Sandbox Code Playgroud)
这将使apt-get
选择默认选项。
小智 10
您应该能够使用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.
Run Code Online (Sandbox Code Playgroud)
为了确定所需的输入debconf-set-selections
if unknown,您可以手动回答提示,然后检查 debconf 数据库以找到正确的值。为此,请安装debconf-utils
:
sudo apt-get -y install debconf-utils
Run Code Online (Sandbox Code Playgroud)
它提供了debconf-get-selections
命令。然后:
sudo debconf-get-selections | grep libssl1.0.0:amd64
Run Code Online (Sandbox Code Playgroud)
检查数据库中的值。在我的系统(Ubuntu,但 Debian 应该类似)上,当我 apt-get install libpq-dev 时没有提示我,我有这个条目:
libssl1.0.0:amd64 libssl1.0.0/restart-services string
Run Code Online (Sandbox Code Playgroud)
所以你应该能够使用:
echo 'libssl1.0.0:amd64 libssl1.0.0/restart-services string' | sudo debconf-set-selections
Run Code Online (Sandbox Code Playgroud)
将 libssl 升级为“无”时,设置要重新启动的服务列表。
在 Debian 下,应该questions.dat
在/var/lib/cdebconf
. 有关更多详细信息,请参阅https://www.debian.org/releases/stable/i386/apbs03.html.en。
Pie*_*syP 10
我认为现有的答案可能有点旧。以下最近对我有用。
查看包的设置
sudo debconf-show <package-name>
Run Code Online (Sandbox Code Playgroud)
例如:
$ sudo debconf-show libssl1.1
libssl1.1/restart-services:
libssl1.1/restart-failed:
* libraries/restart-without-asking: false
Run Code Online (Sandbox Code Playgroud)
更改设置
echo '<package-and-setting-string>' | sudo debconf-set-selections
Run Code Online (Sandbox Code Playgroud)
例如
echo 'libssl1.1 libraries/restart-without-asking boolean true' | sudo debconf-set-selections
Run Code Online (Sandbox Code Playgroud)
额外提示,要为所有包设置此设置,请使用“*”代替包名。
例如
echo '* libraries/restart-without-asking boolean true' | sudo debconf-set-selections
Run Code Online (Sandbox Code Playgroud)
您可以通过卸载软件包在 Debian 11 上禁用此功能needrestart
。
apt remove needrestart
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
24144 次 |
最近记录: |