{"id":2552,"date":"2020-08-10T07:00:00","date_gmt":"2020-08-10T05:00:00","guid":{"rendered":"https:\/\/www.my-it-brain.de\/wordpress\/?p=2552"},"modified":"2021-02-26T08:36:11","modified_gmt":"2021-02-26T07:36:11","slug":"software-pakete-mit-ansible-installieren","status":"publish","type":"post","link":"https:\/\/www.my-it-brain.de\/wordpress\/software-pakete-mit-ansible-installieren\/","title":{"rendered":"Software-Pakete mit Ansible installieren"},"content":{"rendered":"\n<p>In diesem sehr kurzen Beitrag m\u00f6chte ich euch zeigen, wie ihr mit Ansible einen definierten Satz an Software-Paketen auf euren Linux-Hosts installieren k\u00f6nnt. Dies ist z.B. dann n\u00fctzlich, wenn ihr bei der Provisionierung neuer Systeme sicherstellen m\u00f6chtet, dass ein bestimmter Satz an Paketen vorhanden ist.<\/p>\n\n\n\n<p>Nat\u00fcrlich kann man diese Aufgabe auch auf verschiedenen anderen Wegen l\u00f6sen. Dies ist halt der Ansible-Weg. ;-)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>---\n- hosts: all\n  tasks:\n  - name: Install package baseline\n    yum:\n      name:\n        - bind-utils\n        - net-tools\n        - chrony\n        - ed\n        - yum-utils\n        - vim-enhanced\n        - man-pages\n        - strace\n        - lsof\n        - tcpdump\n        - setroubleshoot-server\n        - setroubleshoot\n        - bash-completion\n      state: latest\n      update_cache: yes<\/code><\/pre>\n\n\n\n<p>Das obige Playbook zeigt ein einfaches Beispiel, wie auf einem RHEL\/CentOS 7 System eine Liste von Paketen installiert werden kann. Dazu wird das Ansible-Modul <a rel=\"noreferrer noopener\" href=\"https:\/\/docs.ansible.com\/ansible\/2.9\/modules\/yum_module.html\" target=\"_blank\">yum<\/a> verwendet. Der Parameter &#8217;state&#8216; gibt an, dass immer die jeweils akutellste Version eines Pakets installiert werden soll. Mit &#8218;update_cache&#8216; wird definiert, dass der lokale Cache aktualisiert wird, bevor ein Paket zur Installation ausgew\u00e4hlt wird.<\/p>\n\n\n\n<p>F\u00fcr auf Debian\/Ubuntu basierende Systeme gibt es das Modul <a href=\"https:\/\/docs.ansible.com\/ansible\/2.9\/modules\/apt_module.html\">apt<\/a>. F\u00fcr Fedora und RHEL\/CentOS ab Version 8 nutzt man das Modul <a href=\"https:\/\/docs.ansible.com\/ansible\/2.9\/modules\/dnf_module.html\">dnf<\/a>.<\/p>\n\n\n\n<p>Dar\u00fcber hinaus gibt es noch das generische Modul <a href=\"https:\/\/docs.ansible.com\/ansible\/2.9\/modules\/package_module.html\">package<\/a>. Bei diesem ist jedoch zu beachten, dass die unterschiedlichen Paketmanager wie YUM und APT zum Teil unterschiedliche Paketnamen verwenden. Da &#8218;package&#8216; diese nicht automatisch \u00fcbersetzt ist eine Verwendung \u00fcber verschiedene Distributionen hinweg nicht ohne weiteres m\u00f6glich. Daher empfinde ich dieses Modul als nutzlos.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In diesem sehr kurzen Beitrag m\u00f6chte ich euch zeigen, wie ihr mit Ansible einen definierten Satz an Software-Paketen auf euren Linux-Hosts installieren k\u00f6nnt. Dies ist z.B. dann n\u00fctzlich, wenn ihr bei der Provisionierung neuer Systeme sicherstellen m\u00f6chtet, dass ein bestimmter Satz an Paketen vorhanden ist. Nat\u00fcrlich kann man diese Aufgabe auch auf verschiedenen anderen Wegen<span class=\"continue-reading\"> <a href=\"https:\/\/www.my-it-brain.de\/wordpress\/software-pakete-mit-ansible-installieren\/\">[Weiterlesen&#8230;]<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_metis_text_type":"","_metis_text_length":0,"_post_count":0,"footnotes":""},"categories":[532],"tags":[410,591,592,590,430,305,397],"class_list":["post-2552","post","type-post","status-publish","format-standard","hentry","category-ansible","tag-ansible","tag-apt","tag-dnf","tag-module","tag-osbn","tag-planet","tag-yum"],"_links":{"self":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts\/2552","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/comments?post=2552"}],"version-history":[{"count":6,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts\/2552\/revisions"}],"predecessor-version":[{"id":2785,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts\/2552\/revisions\/2785"}],"wp:attachment":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/media?parent=2552"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/categories?post=2552"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/tags?post=2552"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}