Ubuntu의 변형인 "Lubuntu"와 같은 Linux의 특정 버전을 감지하기 위해 ansible을 어떻게 사용할 수 있습니까?
ansible_distribution
Lubuntu 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"
},