我需要获取名称以dotnet.
该方案有效:
- debug:
msg: "{{ ansible_facts.packages['dotnet-runtime-3.1'] }}"
而这个不见了:
- debug:
msg: "{{ ansible_facts.packages['dotnet*'] }}"
"{{ ansible_facts.packages | regex_findall('^dotnet.*') }}"由于某种原因,它也不起作用。
我需要获取名称以dotnet.
该方案有效:
- debug:
msg: "{{ ansible_facts.packages['dotnet-runtime-3.1'] }}"
而这个不见了:
- debug:
msg: "{{ ansible_facts.packages['dotnet*'] }}"
"{{ ansible_facts.packages | regex_findall('^dotnet.*') }}"由于某种原因,它也不起作用。
有趣的点出现了。问题既解决了又没有同时解决。
package_facts
因此,package_facts模块仅显示有关已安装软件包的信息。那些可用的——他忽略了。这结束了避免使用
aptitude searchandaptitude versions。但是,可以像这样提取有关已安装软件包的信息(非常感谢一位知道如何阅读文档的同事,不像我)。我将展示
firefox:掉了2个包裹。虽然它
aptitude search firefox | wc -l回来了218解决特定问题
Debian/Ubuntu
除了 pull 之外,
apt-cache我没有找到任何其他选项,因此:我们向缓存询问哪些带有掩码
dotnet-runtime-*的数据包可供我们使用,拉出包含单词Package:and的行Version:,并形成 magicsed+tr......在撰写本文时,一片厚重的叶子看起来像这样:
进一步 - 简单地说。我们拉取
regex_search并且split已经从 ansible 下得到了这个(根据条件,我们需要找到包含版本的包的名称3.1.6):输出将是这样的:
那些。现在你可以像这样安装
dotnet它:附言
ansible 2.9.11, python version = 2.7.12 (default, Jul 21 2020, 15:19:50) [GCC 5.4.0 20160609], ubuntu 16.04.6