Ubuntu

如何使用ansible來檢測Linux的具體風味?

  • October 12, 2022

如何使用 ansible 來檢測 Linux 的特定風格,例如“Lubuntu”——Ubuntu 的變體?

在 Lubuntu 22.04 上,我嘗試ansible_distribution使用以下劇本進行跟踪:

---
- 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 }}"

但我得到Ubuntuansible_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

沒有辨識Ubuntu 風格的標準。您可以搜尋配置。請參閱是否有可能知道我正在使用終端執行哪種公認的風味?. 例如,

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

Ansible 不會收集有關 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

引用自:https://unix.stackexchange.com/questions/720614