私は単にすべてのサーバーでubuntuのバージョンを確認しようとしています。 この質問に基づいて ansibleにはansible_distribution_version
しかし、このプレイブックでは、ubuntuバージョン、つまりubuntu 14.04、16.04などを印刷する方法を示していません。
一度に1つずつ実行できます
---
- hosts: localhost
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 }}"
結果を見る:
PLAY [localhost] ***********************************************************************************************************************************************************
TASK [Gathering Facts] *****************************************************************************************************************************************************
ok: [localhost]
TASK [Distribution] ********************************************************************************************************************************************************
ok: [localhost] => {
"msg": "Ubuntu"
}
TASK [Distribution version] ************************************************************************************************************************************************
ok: [localhost] => {
"msg": "18.04"
}
TASK [Distribution major version] ******************************************************************************************************************************************
ok: [localhost] => {
"msg": "18"
}
PLAY RECAP *****************************************************************************************************************************************************************
localhost : ok=4 changed=0 unreachable=0 failed=0
または、より高度な構成反復ファクトを使用できます。
- hosts: localhost
gather_facts: yes
become: false
tasks:
- name: System details
debug: msg="{{ item }}"
with_items:
- "{{ ansible_distribution }}"
- "{{ ansible_distribution_version }}"
- "{{ ansible_distribution_major_version }}"
そしてよりコンパクトな結果:
PLAY [localhost] ***********************************************************************************************************************************************************
TASK [Gathering Facts] *****************************************************************************************************************************************************
ok: [localhost]
TASK [System details] ******************************************************************************************************************************************************
ok: [localhost] => (item=Ubuntu) => {
"msg": "Ubuntu"
}
ok: [localhost] => (item=18.04) => {
"msg": "18.04"
}
ok: [localhost] => (item=18) => {
"msg": "18"
}
PLAY RECAP *****************************************************************************************************************************************************************
localhost : ok=2 changed=0 unreachable=0 failed=0
どちらの場合も、Shell
またはcommand
モジュールの代わりにファクトを使用して情報を取得することをお勧めします。