小编And*_*ykh的帖子

安装libpq-dev时如何防止提示重启服务

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

debian apt software-installation

42
推荐指数
4
解决办法
2万
查看次数

“dnf 历史回滚”和“dnf 历史撤销”有什么区别?

让我们阅读官方文档

dnf history rollback <transaction-spec> 撤消在指定事务之后执行的所有事务。如果无法撤销任何交易,由于rpmdb中的当前状态,不撤消任何交易。

重点是我的。所以这个命令是指undo命令。好的,让我们阅读有关撤消的文档:

dnf history undo <transaction-spec> 执行与指定事务中执行的所有操作相反的操作。如果由于 RPMDB 的当前状态无法撤消任何操作,请不要撤消任何操作。

听起来这两个命令做同样的事情,只是前者可以撤消多个事务,而后者只能撤消一个。

这种理解是否正确?(我希望从第一手经验中得到答案,而不是从如何解释手册的角度来看,我对事实感兴趣,而不是猜测。)

上下文:我需要编写一个脚本来运行dnf upgrade -y,然后运行一些测试,然后在测试失败时撤消 dnf 更改。我正在寻找实现这一目标的最佳方式。

fedora rhel package-management dnf

19
推荐指数
1
解决办法
1万
查看次数

从脚本中的子脚本聚合状态代码

我有一个像这样的 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 新手,我想知道是否有一种惯用的方式来写这个。

注:我想不管他们的退出状态的所有命令运行,否则像这样将工作

bash exit-status

2
推荐指数
1
解决办法
734
查看次数

在“后台”运行进程到底意味着什么?

我想更好地了解什么是后台进程。阅读这行代码后,问题就出现了:

/usr/sbin/rsyslogd -niNONE &
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).
Run Code Online (Sandbox Code Playgroud)

来源

& 符号&似乎意味着请求该命令在后台运行,例如参见此处

如果我的理解是正确的,pid 文件与 daemons 一起使用,即程序在后台运行时。 …

job-control pidfile background-process

0
推荐指数
1
解决办法
1327
查看次数