【问题标题】:Rundeck debconf-set-selection:Rundeck debconf-set-selection:
【发布时间】:2020-07-01 08:05:09
【问题描述】:

我正在使用 Rundeck 3.2.6-20200427 并设置了安装包的作业。

因为 rundeck 运行非交互式,我需要预设一些安装包的参数(在我的例子中是 iptables-persistent)。

在安装软件包之前,我运行该命令(现在只有这个参数,如果我能正常工作,我将使用更多参数):

echo iptables-persistent iptables-persistent/autosave_v4 boolean false | sudo debconf-set-selections

不幸的是,如果我运行 rundeck-command,我会收到该错误

09:09:08    debconf: DbDriver "config": /var/cache/debconf/config.dat is locked by another process: Resource temporarily unavailable
09:09:08    Failed: NonZeroResultCode: Remote command failed with exit status 1

我绝对确定没有其他任务或正在运行 dpkg 相关进程。

~$ lsof /var/cache/debconf/config.dat
~$

如果我尝试直接运行该命令,它会正常运行而不会出现任何错误。所以我不明白,为什么它不适用于 rundeck。

我在新安装的主机上尝试安装包(Ubuntu Server 20.04)。

这是我的工作定义:https://pastebin.com/YSu545tX

【问题讨论】:

  • 只是一个输入,我使用 rundeck 3.2.8 针对 Debian 9 和 Ubuntu 20.04 测试了该命令,此外,我添加了另一个与 debconf 相关的命令进行检查,它似乎工作正常。工作定义:pastebin.com/FVxMQSgk,结果如下:imgur.com/w3xj4P2
  • 感谢您检查并提供您的工作定义。我的看起来一样:pastebin.com/YSu545tX

标签: bash rundeck debconf


【解决方案1】:

我发现在节点文件中,有一个错字,所以作业在错误的主机上运行,​​并且有一个 apt-process,它被卡住了。

我用那个命令检查了:

~$ sudo fuser -v /var/cache/debconf/config.dat
                     USER        PID ACCESS COMMAND
/var/cache/debconf/config.dat:
                     root       5563 F.... frontend

然后我终止了该进程并更正了节点文件。现在可以了。

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,但 'fuser' 和 'lsof' 都没有显示。最后发现是 dpkg 锁定了那个文件,然后使用

    ps aux | grep dpkg
    

    找到那个进程并杀死它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-15
      • 2015-09-08
      • 1970-01-01
      • 2015-05-18
      • 2012-07-11
      • 1970-01-01
      • 1970-01-01
      • 2021-10-14
      相关资源
      最近更新 更多