gpt4 book ai didi

ubuntu - 在 Ansible 中比较 Ubuntu 主要和次要版本

转载 作者:行者123 更新时间:2023-12-04 18:35:33 26 4
gpt4 key购买 nike

当完整的 Ubuntu 版本(Major.Minor,如 18.10)大于或小于指定值时,我需要动态安装 apt 包。这是安装正确的 libvirt-bin 所必需的包,是 renamed in 18.10 .事实ansible_distribution_version持有数字版本,我发现 the version comparision filter in an old Ansible doc , 那 seems renamed in Ansible 2.5但它在最新的 2.9 版本中不起作用:

- name: Execute on ubuntu 18.10 or newer
shell: "echo Youre on Ubuntu 18.10 or newer"
when: ansible_distribution_version | version('18.10', '>=')

The conditional check 'ansible_distribution_version | version('19.10', '>=')' failed. The error was: template error while templating string: no filter named 'version'.



latest (currently 2.9) documentation不包含任何用于版本比较的过滤器。我尝试了 float 对话,这似乎有效:
- name: Execute on ubuntu 18.10 or newer
shell: "echo executed on ubuntu 18.10 or newer"
when: ansible_distribution_version | float >= 18.10

使用此对话是否有任何缺点可以证明 version_comparisation 的原因?和 version引入了过滤器?或者是否有另一个过滤器可以安全地比较我没有找到的版本?

最佳答案

不推荐使用测试作为过滤器。而不是使用 result|version使用 result is version (如 documentation 中所述)

when: ansible_distribution_version is version('18.10', '>=')

关于ubuntu - 在 Ansible 中比较 Ubuntu 主要和次要版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59264589/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com