我想安装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) 让我们阅读官方文档:
dnf history rollback <transaction-spec>撤消在指定事务之后执行的所有事务。如果无法撤销任何交易,由于rpmdb中的当前状态,不撤消任何交易。
重点是我的。所以这个命令是指undo命令。好的,让我们阅读有关撤消的文档:
dnf history undo <transaction-spec>执行与指定事务中执行的所有操作相反的操作。如果由于 RPMDB 的当前状态无法撤消任何操作,请不要撤消任何操作。
听起来这两个命令做同样的事情,只是前者可以撤消多个事务,而后者只能撤消一个。
这种理解是否正确?(我希望从第一手经验中得到答案,而不是从您如何解释手册的角度来看,我对事实感兴趣,而不是猜测。)
上下文:我需要编写一个脚本来运行dnf upgrade -y,然后运行一些测试,然后在测试失败时撤消 dnf 更改。我正在寻找实现这一目标的最佳方式。
我有一个像这样的 bash 脚本
#!/bin/bash
do-this parm someotherparam
do-something-else $varz $(commands)
and-also-do-this -something
finally-do-something-different -yes
Run Code Online (Sandbox Code Playgroud)
如果上面的所有单个命令都返回 0,我希望这个脚本返回 0 的退出状态。如果任何单个命令返回非零,我希望它返回非零。我不在乎什么是非零值,只要它不是 0。
显然,如果我们在每行之后检查状态,我们可以很容易地实现我们的目标,即使只是冗长。由于我是 bash 新手,我想知道是否有一种惯用的方式来写这个。
注:我想不管他们的退出状态的所有命令运行,否则像这样将工作
我想更好地了解什么是后台进程。阅读这行代码后,问题就出现了:
/usr/sbin/rsyslogd -niNONE &
Run Code Online (Sandbox Code Playgroud)
文件说:
Run Code Online (Sandbox Code Playgroud)-i pid file Specify an alternative pid file instead of the default one. This option must be used if multiple instances of rsyslogd should run on a single machine. To disable writing a pid file, use the reserved name "NONE" (all upper case!), so "-iNONE". -n Avoid auto-backgrounding. This is needed especially if the rsyslogd is started and controlled by init(8).
& 符号&似乎意味着请求该命令在后台运行,例如参见此处。
如果我的理解是正确的,pid 文件与 daemons 一起使用,即程序在后台运行时。 …