使用 zypper 更新 Ansible PHP(伴随供应商变更)

使用 zypper 更新 Ansible PHP(伴随供应商变更)

我想使用 Ansible 自动更新 Linux 服务器的 PHP。这些服务器是 SLES,所以我使用 Ansible 的 zypper 模块。问题是由于涉及的供应商变更,zypper 要求我确认解决方案 1,即更新/更改所有 php 模块的供应商,如下所示:

Problem: php5-zlib-5.5.14-63.1.x86_64 requires php5 = 5.5.14, but this requirement cannot be provided
 Solution 1: Following actions will be done:
  install php5-zlib-5.6.40-20.1.x86_64 (with vendor change)
    openSUSE  -->  obs://build.opensuse.org/home:illuusio

Ansible 中是否有选择第一个解决方案并自动化整个过程的选项?我已经尝试过了,force: yes但没有任何改变。我正在寻找一个干净的解决方案。我可以编写一个 bash 脚本,但我想用 ansible 来完成它。

答案1

zypper模块有一个允许供应商更改可用于状态的参数dist-upgrade

- name: Perform a dist-upgrade with allow vendor change
  community.general.zypper:
    name: '*'
    state: dist-upgrade
    allow_vendor_change: true

allow_vendor_change: true向 Ansible 执行的 zypper 命令添加--allow-vendor-change参数。我不知道是否可以在升级单个软件包时在命令行上将该参数设置为 zypper。Ansible zypper 模块仅在执行完整 dist 升级时才允许这样做(name: '*')。

相关内容