ansible을 사용하여 Linux의 특정 버전을 감지하는 방법은 무엇입니까?

ansible을 사용하여 Linux의 특정 버전을 감지하는 방법은 무엇입니까?

Ubuntu의 변형인 "Lubuntu"와 같은 Linux의 특정 버전을 감지하기 위해 ansible을 어떻게 사용할 수 있습니까?

ansible_distributionLubuntu 22.04에서 다음 플레이북을 사용하여 추적을 시도했습니다 .

---
- hosts: all
  gather_facts: yes
  become: false
  tasks:
  - name: Distribution
    debug: msg="{{ ansible_distribution }}"
  - name: Distribution version
    debug: msg="{{ ansible_distribution_version}}"
  - name: Distribution major version
    debug: msg="{{ ansible_distribution_major_version }}"

하지만 내가 얻은 것은 Ubuntu( ansible_distribution내 작업에 대해) 충분히 구체적이지 않은 것입니다.

TASK [Distribution] ************************************************************
ok: [127.0.0.1] => {
    "msg": "Ubuntu"
}
...

일반적으로 특정 Linux 버전(예: Lubuntu)의 이름은 어떻게 얻나요?

- 추가 정보 -

Lubuntu에는 다음이 있습니다.

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.1 LTS"

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.1 LTS
Release:        22.04
Codename:       jammy

답변1

식별 기준 없음우분투 스타일. 구성을 검색할 수 있습니다. 바라보다터미널에서 어떤 인식된 버전을 실행하고 있는지 알 수 있나요?. 예를 들어,

shell> cat /var/log/installer/media-info 
Xubuntu 20.04 LTS "Focal Fossa" - Release amd64 (20200423)

앤서블은 그렇지 않습니다.사실 수집우분투 스타일에 대해서. 스스로 알아내야 합니다. 예를 들어,

- hosts: localhost

  vars:

    my_flavor: "{{ media_info.stdout.split()|first }}"

  tasks:

    - command: cat /var/log/installer/media-info
      register: media_info
    - debug:
        var: my_flavor

주어진

  my_flavor: Xubuntu

답변2

당신은 그것을 사용할 수 있습니다ansible_distribution_release

다음 명령을 실행하면 호스트에서 사용 가능한 사실을 쉽게 볼 수 있습니다.

ansible all -m setup -a "filter=ansible_distribution*"

"ansible_facts": {
        "ansible_distribution": "Ubuntu",
        "ansible_distribution_file_parsed": true,
        "ansible_distribution_file_path": "/etc/os-release",
        "ansible_distribution_file_variety": "Debian",
        "ansible_distribution_major_version": "22",
        "ansible_distribution_release": "jammy",
        "ansible_distribution_version": "22.04",
        "discovered_interpreter_python": "/usr/bin/python3"
    },

관련 정보