Ansible Betriebssystem ermitteln

6677
ford prefect

Als Teil meines Implementierungsskripts möchte ich prüfen, auf welches Betriebssystem ich mich verteile. Ich habe es verwendet ansible localhost -m setupund wie sie in der Dokumentation sagen, wird viel ausgegeben. Gibt es eine Möglichkeit, auf die Ubuntu-Distribution zuzugreifen, die ich verwende? Idealerweise möchte ich herausfinden, ob die Box Trusty oder Precise verwendet

6
Was ist mit lsb_release? Xen2050 vor 8 Jahren 0
"cat / etc / * release" verwende ich für jedes Linux-System. qasdfdsaq vor 8 Jahren 0
@ Xen2050 In diesem Fall ist es meiner Meinung nach sinnvoller, die eingebaute Funktionalität von ansible zu verwenden, die wahrscheinlich das nennt, was Sie beide nennen, um die Tatsache festzulegen ford prefect vor 8 Jahren 0

1 Antwort auf die Frage

14
Deltik

ansible_distribution_release

Die Tatsache heißt ansible_distribution_release. Wenn Sie Ubuntu 14.04 ausführen, würde die Tatsache " vertrauenswürdig " lauten .

Zwei weitere Beispielwerte: ansible_distribution_releasewäre " xenial " für Ubuntu 16.04 und " genau " für Ubuntu 12.04.

ansible_distribution_version

Sie können auch die Tatsache betrachten ansible_distribution_version. Für Ubuntu 14.04 sehen Sie " 14.04 ".

Zwei weitere Beispielwerte: ansible_distribution_versionwäre " 16.04 " für Ubuntu 16.04 und " 12.04 " für Ubuntu 12.04.

Hier ist eine Beispielaufgabe, die Sie in ein Playbook legen könnten, um das build-essentialPaket nur unter Ubuntu 14.04 zu installieren :

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