Ansible Определить операционную систему

6516
ford prefect

Как часть моего сценария развертывания, я хочу проверить, в какой операционной системе я развертываюсь. Я использовал ansible localhost -m setupи, как говорится в документации, это выводит много. Есть ли способ, которым я могу просто получить доступ к дистрибутиву Ubuntu, который я использую? В идеале я хочу узнать, работает ли на коробке надежный или точный

6
Как насчет lsb_release? Xen2050 8 лет назад 0
`cat / etc / * release` - это то, что я использую для любой системы Linux. qasdfdsaq 8 лет назад 0
@ Xen2050 В этом случае я думаю, что имеет смысл использовать встроенную функциональность ansible, которая, вероятно, вызывает то, что вы оба упоминаете, чтобы установить факт ford prefect 8 лет назад 0

1 ответ на вопрос

14
Deltik

ansible_distribution_release

The fact is called ansible_distribution_release. If you are running Ubuntu 14.04, the fact would read "trusty".

Two other example values: ansible_distribution_release would be "xenial" for Ubuntu 16.04 and "precise" for Ubuntu 12.04.

ansible_distribution_version

You can also look at the fact ansible_distribution_version. For Ubuntu 14.04, you would see "14.04".

Two other example values: ansible_distribution_version would be "16.04" for Ubuntu 16.04 and "12.04" for Ubuntu 12.04.

Here is an example task that you could put into a playbook to install the build-essential package only on Ubuntu 14.04:

- name: Install build-essential for Ubuntu 14.04 only apt: name=build-essential state=present when: ansible_distribution_version == "14.04" 

Похожие вопросы