Ansible gather_事实,它如何收集linux操作系统的详细信息

Ansible gather_事实,它如何收集linux操作系统的详细信息,ansible,Ansible,我的问题很简单,ansible内部执行什么命令或如何收集系统信息,如ansible_os_系列、ansible_发行版、主要版本等。ansible有多种收集事实的方法。默认情况下,它尝试使用所有类型的插件来收集事实。您可以选择Ansible自己的事实收集插件(JGK提到),也可以使用外部程序收集事实。像这样 - name: Collect only facts returned by facter setup: gather_subset: - '!all' - '!any'

我的问题很简单,ansible内部执行什么命令或如何收集系统信息,如ansible_os_系列、ansible_发行版、主要版本等。

ansible有多种收集事实的方法。默认情况下,它尝试使用所有类型的插件来收集事实。您可以选择Ansible自己的事实收集插件(JGK提到),也可以使用外部程序收集事实。像这样

- name: Collect only facts returned by facter
  setup:
  gather_subset:
  - '!all'
  - '!any'
  - facter
因素

Facter是收集事实的外部工具。根据文件,明确提及因素具有以下效果:

运行facter discovery程序 ()在远程系统上,返回 可用于清单目的的JSON数据

该工具检测操作系统类型,并根据这些类型收集有关该系统的更多信息。这取决于你对哪个事实感兴趣。根据您感兴趣的内容,您需要深入研究代码,以了解它是如何收集事实的。这不仅仅是一个命令。对于Linux,您可以找到用于事实调查的代码。查看
操作系统\u解析器.cc
。您可以看到,不同的Linux发行版有不同的收集事实的方法。e、 在ubuntu上,它使用lsb release命令来收集一些事实

OHAI


Ansible支持的另一个工具是。平台事实的代码可以在ansible中的lib/ohai/plugins/linux/platform.rb

中找到收集事实是用完成的。
设置模块
本身使用
事实
模块实用程序

  • ansible\u os\u系列
  • ansible\u发行版\u主要版本
    在中完成

事实实用程序的定义是进一步调查的良好起点。

事实只是Ansible收集的事实的一个子集。如果不可用,则不会使用。