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
識別基準なしUbuntuスタイル。構成を検索できます。バラより端末で認識されているバージョンを実行していることがわかりますか?。例えば、
shell> cat /var/log/installer/media-info
Xubuntu 20.04 LTS "Focal Fossa" - Release amd64 (20200423)
アンサーブルはそうではありません。事実の収集Ubuntuスタイルについて。自分で見つけなければなりません。例えば、
- 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"
},