首页 > 解决方案 > 在 Ansible 中如何调用架构事实?

问题描述

我正在寻找包含以下信息的事实:

$ dpkg --print-architecture
amd64

我找不到它了:

$ ansible host -m setup | grep amd64
        "BOOT_IMAGE": "/boot/vmlinuz-4.19.0-6-amd64", 
    "ansible_kernel": "4.19.0-6-amd64", 
        "BOOT_IMAGE": "/boot/vmlinuz-4.19.0-6-amd64", 

标签: ansible

解决方案


你可以这样做(这适用于一切):

ansible HOST -m setup -a 'filter=ansible_architecture'

或者(这只适用于 Debian):

- name: Get DEB architecture
  shell: dpkg --print-architecture
  register: deb_architecture

- name: Print DEB architecture
  debug:
    msg: "deb_architecture.stdout: {{ deb_architecture.stdout }}"

返回值为:

https://en.wikipedia.org/wiki/X86-64

由于历史原因,可能会有不同的系统使用不同的名称调用相同的架构:

https://en.wikipedia.org/wiki/X86-64#History


推荐阅读