ubuntu – 如何让Ansible实际编译一个配置文件,改变了我对应用程序的debconf设置?

前端之家收集整理的这篇文章主要介绍了ubuntu – 如何让Ansible实际编译一个配置文件,改变了我对应用程序的debconf设置?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用Ansible尝试配置与特定项目相关的所有工作站,以便能够使用标准配置的BitTorrent同步(这实际上只是我想要做的事情的一个例子).

当我执行playbook时,我可以确认远程PC上的debconf设置已经更新,但是应用程序的配置文件还没有更新.

有没有办法让ansible完成工作 – 提供了一堆配置数据我只想重新编译实际的配置文件,然后重新启动服务.

我在Ubuntu 14.10 64位主机上使用最新的Ansible(来自PyPi).

- hosts: btsync
  sudo: True
  tasks:
    - apt_repository: repo='ppa:tuxpoldo/btsync' update_cache=yes state=present
    - apt: name=btsync state=present
    - apt: name=debconf-utils state=present
    - apt: name=btsync-gui state=present
    - file: name='create a directory for BT Sync' path=/home/sal/bittorrent_sync state=directory owner=sal group=users mode=0755
    - debconf: name='btsync' question='btsync/runas' value='sal' vtype='string'
    - debconf: name='btsync' question='btsync/directory_root' value='/home/sal/bittorrent_sync' vtype='string'
    - debconf: name='btsync' question='btsync/webgui-bindaddr' value='0.0.0.0' vtype='string'
    - debconf: name='btsync' question='btsync/folder_defaults-use_lan_broadcast' value='true' vtype='boolean'
    - debconf: name='btsync' question='btsync/log_size' value='1' vtype='string'
    - debconf: name='btsync' question='btsync/folder_defaults-use_dht' value='true' vtype='boolean'
    - service: name='btsync' state=restarted

我可以强制配置文件从debconf重新配置,如下所示:

sudo dpkg-reconfigure -f noninteractive btsync

我想我可以强制Ansible远程执行该声明,但肯定有更好,更可靠的方法来做到这一点?

这就是debconf的工作方式,如果你刚刚编辑了文件,你不会想到包会自动重新配置.

你想要的是一个通知处理程序,它在游戏结束时执行dpkg重新配置一次.

– debconf:
名称:’btsync’
问题:’btsync / folder_defaults-use_dht’
价值:’真’
vtype:’boolean’
通知:重新配置btsync

并在您的处理程序文件中:

– name:重新配置btsync
命令:sudo dpkg-reconfigure -f noninteractive btsync

现在,如果debconf实际上改变了任何东西(并且只有 – 幂等),当所有任务都运行时,btsync将被重新配置一次.

原文链接:https://www.f2er.com/ubuntu/348189.html

猜你在找的Ubuntu相关文章