{"id":280,"date":"2021-05-19T08:00:00","date_gmt":"2021-05-19T06:00:00","guid":{"rendered":"https:\/\/pascal-korz.de\/blog\/?p=280"},"modified":"2021-04-18T22:33:46","modified_gmt":"2021-04-18T20:33:46","slug":"ansible-playbooks-einfache-software-verteilung-und-updates","status":"publish","type":"post","link":"https:\/\/pascal-korz.de\/blog\/2021\/05\/19\/ansible-playbooks-einfache-software-verteilung-und-updates\/","title":{"rendered":"Ansible-Playbooks: Einfache Software-Verteilung und Updates"},"content":{"rendered":"\n<p>Mit Ansible ist es sehr einfach, auf den verwalteten Rechnern Software zu verteilen. Vorbei sind die Zeiten, in denen Applikationen &#8222;gepusht&#8220; und dann abgewartet wurde, ob sie auch wirklich &#8222;angekommen&#8220; sind.<\/p>\n\n\n\n<div class=\"wp-block-group has-green-background-color has-background\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<p>Diese Anleitung steht f\u00fcr sich allein, kn\u00fcpft aber an folgende Beitr\u00e4ge an:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/pascal-korz.de\/blog\/2018\/12\/08\/freeipa-installation-eines-domain-controllers\/\" data-type=\"post\" data-id=\"130\" target=\"_blank\" rel=\"noreferrer noopener\">FreeIPA: Installation eines Domain Controllers<\/a><\/li><li><a rel=\"noreferrer noopener\" href=\"https:\/\/pascal-korz.de\/blog\/2021\/05\/12\/ansible-in-einer-freeipa-domaene-einrichten\/\" target=\"_blank\">Ansible in einer FreeIPA-Dom\u00e4ne einrichten<\/a><\/li><\/ul>\n<\/div><\/div>\n\n\n\n<p>Das folgende Playbook f\u00fcr Linux-Systeme mit dem yum-Paketmanager stellt zum Beispiel sicher, dass auf allen Maschinen der Texteditor und die neueste in den Paketquellen verf\u00fcgbare Version des Dateimanagers Midnight Commander installiert sind:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>---\n- hosts: all\n  tasks:\n  - name: Install text editor nano.\n    yum:\n      name: nano\n      state: present\n  - name: Install Midnight Commander.\n    yum:\n      name: mc\n      state: latest\n...<\/code><\/pre>\n\n\n\n<p>F\u00fcr Linux-Distributionen mit APT-Paketmanager wie Ubuntu oder Debian sieht das Playbook wie folgt aus:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>---\n- hosts: all\n  tasks:\n  - name: Install text editor nano.\n    apt:\n      name: nano\n      state: present\n  - name: Install Midnight Commander.\n    apt:\n      name: mc\n      state: latest\n...<\/code><\/pre>\n\n\n\n<p>Mit Blick auf beide Playbooks ahnt man schon, dass auch Software-Updates (inklusive Betriebssystem-Updates) mit Ansible trivial sind: Das Paar <code>state: latest<\/code> sorgt daf\u00fcr, dass die neueste in den Paketquellen verf\u00fcgbare Version der Software auf der Maschine installiert wird, wenn sie nicht bereits installiert ist. Auch die Installation einer bestimmten Version ist m\u00f6glich, indem man den genauen Paketnamen bei <code>name<\/code> angibt, zum Beispiel <code>nano-2.3.1-10.el7.x86_64<\/code>.<\/p>\n\n\n\n<p>Das ist nat\u00fcrlich eine sehr vereinfachte Form von gesteuerten Software-Installationen und Updates, wie sie aber letztlich komplizierter auch mit anderen bekannten Software-Deployment-Tools bewerkstelligt werden. Ansible besticht hier durch seine Einfachkeit, bietet aber auch komplexere M\u00f6glichkeiten, die den Rahmen dieses Beitrags sprengen w\u00fcrden.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mit Ansible ist es sehr einfach, auf den verwalteten Rechnern Software zu verteilen. Vorbei sind die Zeiten, in denen Applikationen &#8222;gepusht&#8220; und dann abgewartet wurde, ob sie auch wirklich &#8222;angekommen&#8220; sind. Diese Anleitung steht f\u00fcr sich allein, kn\u00fcpft aber an folgende Beitr\u00e4ge an: FreeIPA: Installation eines Domain Controllers Ansible in einer FreeIPA-Dom\u00e4ne einrichten Das folgende&hellip; <a class=\"more-link\" href=\"https:\/\/pascal-korz.de\/blog\/2021\/05\/19\/ansible-playbooks-einfache-software-verteilung-und-updates\/\"><span class=\"screen-reader-text\">Ansible-Playbooks: Einfache Software-Verteilung und Updates<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":6,"featured_media":468,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15,8],"tags":[102],"class_list":["post-280","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ansible","category-linux","tag-artikelreihe-testumgebung","entry"],"_links":{"self":[{"href":"https:\/\/pascal-korz.de\/blog\/wp-json\/wp\/v2\/posts\/280","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pascal-korz.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pascal-korz.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pascal-korz.de\/blog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/pascal-korz.de\/blog\/wp-json\/wp\/v2\/comments?post=280"}],"version-history":[{"count":4,"href":"https:\/\/pascal-korz.de\/blog\/wp-json\/wp\/v2\/posts\/280\/revisions"}],"predecessor-version":[{"id":472,"href":"https:\/\/pascal-korz.de\/blog\/wp-json\/wp\/v2\/posts\/280\/revisions\/472"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/pascal-korz.de\/blog\/wp-json\/wp\/v2\/media\/468"}],"wp:attachment":[{"href":"https:\/\/pascal-korz.de\/blog\/wp-json\/wp\/v2\/media?parent=280"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pascal-korz.de\/blog\/wp-json\/wp\/v2\/categories?post=280"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pascal-korz.de\/blog\/wp-json\/wp\/v2\/tags?post=280"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}