Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision | ||
centos:ansible:ffmuc-rpb4-ol [17.02.2021 15:57. ] – [Kopieren des Ansible-Playbooks] ansible-playbook-ffmuc-offloader-auf_basis_raspberry-4b.v5.tar.gz django | centos:ansible:ffmuc-rpb4-ol [07.04.2022 18:58. ] – [Kopieren des Raspbian Images auf die microSD-Karte] django | ||
---|---|---|---|
Zeile 11: | Zeile 11: | ||
====== Inhalt ====== | ====== Inhalt ====== | ||
+ | |||
+ | <WRAP center round alert 30%> | ||
+ | **ACHTUNG: | ||
+ | </ | ||
+ | |||
+ | |||
<WRAP center round tip 90%> | <WRAP center round tip 90%> | ||
Das Kapitel hier ist in folgende Abschnitte strukturiert. | Das Kapitel hier ist in folgende Abschnitte strukturiert. | ||
Zeile 66: | Zeile 72: | ||
Grundlegende Informationen zu **[[https:// | Grundlegende Informationen zu **[[https:// | ||
- | ==== Installation von Ansible ==== | + | ==== Installation von Ansible |
Je nach verwendeter Systemumgebung installieren wir nun das vom Paketmaintainer zur Verfügung gestellte | Je nach verwendeter Systemumgebung installieren wir nun das vom Paketmaintainer zur Verfügung gestellte | ||
- | * RPM basierende Systeme: < | + | * RPM basierende Systeme: < |
- | * DEB basierende Systeme: < | + | * DEB basierende Systeme: < |
==== Einrichten der eigenen Ansible-Umgebung ==== | ==== Einrichten der eigenen Ansible-Umgebung ==== | ||
+ | === Ansible Arbeitsverzeichnis === | ||
+ | Für unsere Ansible-Aufgaben (Playbooks) legen wir uns nun im Home-Verzeichnis unseres Admin-Users ein zugehöriges Verzeichnis an. | ||
+ | $ mkdir ~/ansible | ||
+ | |||
+ | /* | ||
=== Verzeichnis-Struktur === | === Verzeichnis-Struktur === | ||
- | /* | ||
- | Für unseren Admininstrationsuser legen wir uns zu erst einmal die passende Orderstruktur im Homeverzeichnis an. | ||
- | $ mkdir -p ~/ | ||
- | |||
- | Hieraus ergibt sich folgende Struktur: | ||
- | < | ||
- | ├── inventory | ||
- | └── playbooks | ||
- | └── templates | ||
- | └── Raspbian</ | ||
- | |||
- | :GO: | ||
- | */ | ||
- | |||
Gemäß **[[http:// | Gemäß **[[http:// | ||
Zeile 146: | Zeile 144: | ||
~/ | ~/ | ||
+ | */ | ||
=== Ansible-Konfigurationsdatei === | === Ansible-Konfigurationsdatei === | ||
/* | /* | ||
Zeile 236: | Zeile 235: | ||
Beim Parameter **'' | Beim Parameter **'' | ||
+ | ==== Klonen des GIT-Repositories (Ansible-Playbook) ==== | ||
+ | |||
+ | $ cd ~/ansible | ||
+ | $ git clone https:// | ||
+ | Somit ergibt sich folgende Verzeichnis- und Dateistruktur: | ||
+ | < | ||
+ | ├── filter_plugins | ||
+ | │ └── main.yml | ||
+ | ├── inventories | ||
+ | │ ├── production | ||
+ | │ │ └── hosts.yml | ||
+ | │ └── staging | ||
+ | │ | ||
+ | ├── library | ||
+ | │ └── main.yml | ||
+ | ├── LICENSE | ||
+ | ├── module_utils | ||
+ | │ └── main.yml | ||
+ | ├── README.md | ||
+ | ├── roles | ||
+ | │ ├── basic | ||
+ | │ │ ├── defaults | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── files | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── handlers | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── meta | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── tasks | ||
+ | │ │ │ ├── hostname.yml | ||
+ | │ │ │ ├── hosts.yml | ||
+ | │ │ │ ├── main.yml | ||
+ | │ │ │ ├── reboot.yml | ||
+ | │ │ │ ├── rfkill.yml | ||
+ | │ │ │ ├── update.yml | ||
+ | │ │ │ └── usercomment.yml | ||
+ | │ │ ├── templates | ||
+ | │ │ │ ├── hosts.j2 | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ └── vars | ||
+ | │ │ | ||
+ | │ ├── batman | ||
+ | │ │ ├── defaults | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── files | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── handlers | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── meta | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── tasks | ||
+ | │ │ │ ├── backport.yml | ||
+ | │ │ │ ├── batmanstart.yml | ||
+ | │ │ │ ├── compile.yml | ||
+ | │ │ │ ├── install.yml | ||
+ | │ │ │ ├── interfaceconfigure.yml | ||
+ | │ │ │ ├── main.yml | ||
+ | │ │ │ ├── modulloads.yml | ||
+ | │ │ │ ├── reboot.yml | ||
+ | │ │ │ └── utilsinstall.yml | ||
+ | │ │ ├── templates | ||
+ | │ │ │ ├── batman-adv.module.j2 | ||
+ | │ │ │ ├── dkms.j2 | ||
+ | │ │ │ ├── interfaces.j2 | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ └── vars | ||
+ | │ │ | ||
+ | │ ├── client-mesh | ||
+ | │ │ ├── defaults | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── files | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── handlers | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── meta | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── tasks | ||
+ | │ │ │ ├── batmanmitwifi.yml | ||
+ | │ │ │ ├── batmanohnewifi.yml | ||
+ | │ │ │ ├── clientohnemesh.yml | ||
+ | │ │ │ ├── getvxlanid.yml | ||
+ | │ │ │ ├── main.yml | ||
+ | │ │ │ ├── meshohneclient.yml | ||
+ | │ │ │ └── meshundclient.yml | ||
+ | │ │ ├── templates | ||
+ | │ │ │ ├── interfaces_client_ohne_mesh.j2 | ||
+ | │ │ │ ├── interfaces_mesh_mit_client.j2 | ||
+ | │ │ │ ├── interfaces_mesh_ohne_client.j2 | ||
+ | │ │ │ ├── main.yml | ||
+ | │ │ │ ├── rclocal_both.j2 | ||
+ | │ │ │ └── rclocal_vxlan.j2 | ||
+ | │ │ └── vars | ||
+ | │ │ | ||
+ | │ ├── common | ||
+ | │ │ ├── defaults | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── files | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── handlers | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── meta | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── tasks | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── templates | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ └── vars | ||
+ | │ │ | ||
+ | │ ├── ext-respondd | ||
+ | │ │ ├── defaults | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── files | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── handlers | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── meta | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── tasks | ||
+ | │ │ │ ├── aliasgenerate.yml | ||
+ | │ │ │ ├── configgenerate.yml | ||
+ | │ │ │ ├── copyconfig.yml | ||
+ | │ │ │ ├── gitclone.yml | ||
+ | │ │ │ ├── gitinstall.yml | ||
+ | │ │ │ ├── main.yml | ||
+ | │ │ │ └── servicestartup.yml | ||
+ | │ │ ├── templates | ||
+ | │ │ │ ├── ext-respondd_alias.json.j2 | ||
+ | │ │ │ ├── ext-respondd_config.json.j2 | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ └── vars | ||
+ | │ │ | ||
+ | │ ├── fastd | ||
+ | │ │ ├── defaults | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── files | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── handlers | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── meta | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── tasks | ||
+ | │ │ │ ├── directorygenerate.yml | ||
+ | │ │ │ ├── fastdconfigure.yml | ||
+ | │ │ │ ├── fastdgetsocket.yml | ||
+ | │ │ │ ├── fastdinstall.yml | ||
+ | │ │ │ ├── fastdkeygen.yml | ||
+ | │ │ │ ├── fastdsecretkeyget.yml | ||
+ | │ │ │ ├── fastdstartup.yml | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── templates | ||
+ | │ │ │ ├── fastd.j2 | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ └── vars | ||
+ | │ │ | ||
+ | │ ├── final | ||
+ | │ │ ├── defaults | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── files | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── handlers | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── meta | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── tasks | ||
+ | │ │ │ ├── main.yml | ||
+ | │ │ │ └── reboot.yml | ||
+ | │ │ ├── templates | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ └── vars | ||
+ | │ │ | ||
+ | │ ├── hostapd | ||
+ | │ │ ├── defaults | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── files | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── handlers | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── meta | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── tasks | ||
+ | │ │ │ ├── configure.yml | ||
+ | │ │ │ ├── genconfig.yml | ||
+ | │ │ │ ├── install.yml | ||
+ | │ │ │ ├── main.yml | ||
+ | │ │ │ ├── servicestartup.yml | ||
+ | │ │ │ └── wlanbridging.yml | ||
+ | │ │ ├── templates | ||
+ | │ │ │ ├── hostapd.j2 | ||
+ | │ │ │ ├── main.yml | ||
+ | │ │ │ └── rclocal_wifi.j2 | ||
+ | │ │ └── vars | ||
+ | │ │ | ||
+ | │ ├── kvm_hostgen | ||
+ | │ │ ├── defaults | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── files | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── handlers | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── meta | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── tasks | ||
+ | │ │ │ ├── generate.yml | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── templates | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ └── vars | ||
+ | │ │ | ||
+ | │ ├── kvm-new | ||
+ | │ │ ├── defaults | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── files | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── handlers | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── meta | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── tasks | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── templates | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ └── vars | ||
+ | │ │ | ||
+ | │ ├── oled | ||
+ | │ │ ├── defaults | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── files | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── handlers | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── meta | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── tasks | ||
+ | │ │ │ ├── adafruitclone.yml | ||
+ | │ │ │ ├── adafruitconfig.yml | ||
+ | │ │ │ ├── i2c_arm.yml | ||
+ | │ │ │ ├── i2c-bcm2708.yml | ||
+ | │ │ │ ├── i2c-dev.yml | ||
+ | │ │ │ ├── main.yml | ||
+ | │ │ │ ├── packages.yml | ||
+ | │ │ │ ├── reboot.yml | ||
+ | │ │ │ ├── scriptclone.yml | ||
+ | │ │ │ ├── scriptconfig.yml | ||
+ | │ │ │ ├── scriptstartup.yml | ||
+ | │ │ │ └── scriptstart.yml | ||
+ | │ │ ├── templates | ||
+ | │ │ │ ├── bandwidth.j2 | ||
+ | │ │ │ ├── config.j2 | ||
+ | │ │ │ ├── main.yml | ||
+ | │ │ │ └── oled-bandwidth.j2 | ||
+ | │ │ └── vars | ||
+ | │ │ | ||
+ | │ ├── vxlan | ||
+ | │ │ ├── defaults | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── files | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── handlers | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── meta | ||
+ | │ │ │ └── main.yml | ||
+ | │ │ ├── tasks | ||
+ | │ │ │ ├── configure.yml | ||
+ | │ │ │ ├── main.yml | ||
+ | │ │ │ └── vxlanstart.yml | ||
+ | │ │ ├── templates | ||
+ | │ │ │ ├── main.yml | ||
+ | │ │ │ ├── systemd-service-file.j2 | ||
+ | │ │ │ └── vxlan-init.j2 | ||
+ | │ │ └── vars | ||
+ | │ │ | ||
+ | │ └── wireguard | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | └── wireguard-offloader.yml | ||
+ | </ | ||
==== Kopieren des Ansible-Playbooks ==== | ==== Kopieren des Ansible-Playbooks ==== | ||
- | Nun können wir uns " | + | Nun können wir uns " |
- | * **{{: | + | * **{{: |
+ | * // | ||
* // | * // | ||
* // | * // | ||
Zeile 245: | Zeile 547: | ||
$ wget \ | $ wget \ | ||
- | | + | |
-O ansible-playbook-ffmuc-offloader-auf_basis_raspberry-4b.tar.gz | -O ansible-playbook-ffmuc-offloader-auf_basis_raspberry-4b.tar.gz | ||
Zeile 2099: | Zeile 2401: | ||
==== Download des auf Debian Buster basierenden Raspbian ==== | ==== Download des auf Debian Buster basierenden Raspbian ==== | ||
- | /* | ||
- | Nachdem es aktuell((Stand: | ||
- | Eine Anleitung zur manuellen Installation findet man auf der **[[https:// | + | Nachdem es aktuell((Stand: |
- | + | ||
- | $ wget https:// | + | |
- | + | ||
- | Bevor wir nun das Archiv entpacken überprüfen wir noch die Integrität der heruntergeladenen Datei. Hierzu berechnen wir erst einmal die **SHA256**-Prüfsumme der Datei **raspbian_lite_latest**. | + | |
- | $ sha256sum raspbian_lite_latest | + | |
- | + | ||
- | 12ae6e17bf95b6ba83beca61e7394e7411b45eba7e6a520f434b0748ea7370e8 | + | |
- | + | ||
- | Die Zeichenfolge überprüfen wir nun mit den Angaben auf der Seite: https:// | + | |
- | {{ : | + | |
- | + | ||
- | + | ||
- | Da sich beide SHA-Werte **__nicht__** unterscheiden können wir das herunter geladene ZIP-Archiv nun entpacken. | + | |
- | $ unzip raspbian_lite_latest | + | |
- | + | ||
- | < | + | |
- | inflating: 2020-02-13-raspbian-buster-lite.img | + | |
- | </ | + | |
- | + | ||
- | :GO: | + | |
- | */ | + | |
- | + | ||
- | Nachdem es aktuell((Stand: | + | |
Eine Anleitung zur manuellen Installation findet man auf der **[[https:// | Eine Anleitung zur manuellen Installation findet man auf der **[[https:// | ||
- | $ https:// | + | |
Bevor wir nun das Archiv entpacken überprüfen wir noch die Integrität der heruntergeladenen Datei. Hierzu berechnen wir erst einmal die **SHA256**-Prüfsumme der Datei **raspbian_lite_latest**. | Bevor wir nun das Archiv entpacken überprüfen wir noch die Integrität der heruntergeladenen Datei. Hierzu berechnen wir erst einmal die **SHA256**-Prüfsumme der Datei **raspbian_lite_latest**. | ||
- | $ sha256sum | + | $ sha256sum |
+ | |||
+ | 2022-01-28-raspios-bullseye-arm64-lite.zip: OK | ||
- | | + | Da der SHA256-Prüfsummencheck positiv erfolgreich war und mit einem **OK** bestätigt wurde, können wir nun das Archiv entpacken. |
+ | | ||
- | Die Zeichenfolge überprüfen wir nun mit den Angaben auf der Seite: https://www.raspberrypi.org/ | + | < |
- | {{ :centos: | + | |
- | Da sich beide SHA-Werte **__nicht__** unterscheiden können wir das herunter geladene ZIP-Archiv nun entpacken. | ||
- | $ unzip 2021-01-11-raspios-buster-armhf-lite.zip | ||
- | |||
- | < | ||
- | inflating: 2021-01-11-raspios-buster-armhf-lite.img | ||
- | </ | ||
==== Kopieren des Raspbian Images auf die microSD-Karte ==== | ==== Kopieren des Raspbian Images auf die microSD-Karte ==== | ||
- | /* | ||
- | Nun können wir das Image auf die MicroSD Karte, die wir später in den Raspberry 4B stecken kopieren. Wir werfen also am besten einmal einen Blick in das syslog unseres Arbeitsrechners und erkennen so das Device unserer Speicherkarte. | ||
- | # tail -f / | ||
- | |||
- | < | ||
- | Feb 16 21:47:29 T410 kernel: usb 1-1.2: New USB device found, idVendor=1908, | ||
- | Feb 16 21:47:29 T410 kernel: usb 1-1.2: New USB device strings: Mfr=0, Product=0, SerialNumber=0 | ||
- | Feb 16 21:47:29 T410 kernel: usb-storage 1-1.2:1.0: USB Mass Storage device detected | ||
- | Feb 16 21:47:29 T410 kernel: scsi host4: usb-storage 1-1.2:1.0 | ||
- | Feb 16 21:47:29 T410 mtp-probe[38884]: | ||
- | Feb 16 21:47:29 T410 mtp-probe[38884]: | ||
- | Feb 16 21:47:29 T410 mtp-probe[38887]: | ||
- | Feb 16 21:47:29 T410 mtp-probe[38887]: | ||
- | Feb 16 21:47:30 T410 kernel: scsi 4:0:0:0: Direct-Access | ||
- | Feb 16 21:47:30 T410 kernel: sd 4:0:0:0: Attached scsi generic sg2 type 0 | ||
- | Feb 16 21:47:30 T410 kernel: sd 4:0:0:0: [sdb] 62333952 512-byte logical blocks: (31.9 GB/29.7 GiB) | ||
- | Feb 16 21:47:30 T410 kernel: sd 4:0:0:0: [sdb] Write Protect is off | ||
- | Feb 16 21:47:30 T410 kernel: sd 4:0:0:0: [sdb] No Caching mode page found | ||
- | Feb 16 21:47:30 T410 kernel: sd 4:0:0:0: [sdb] Assuming drive cache: write through | ||
- | Feb 16 21:47:30 T410 kernel: sdb: sdb1 sdb2 < sdb5 > | ||
- | Feb 16 21:47:30 T410 kernel: sd 4:0:0:0: [sdb] Attached SCSI removable disk | ||
- | Feb 16 21:47:31 T410 kernel: EXT4-fs (sdb5): recovery complete | ||
- | Feb 16 21:47:31 T410 kernel: EXT4-fs (sdb5): mounted filesystem with ordered data mode. Opts: (null) | ||
- | Feb 16 21:47:31 T410 kernel: ext4 filesystem being mounted at / | ||
- | Feb 16 21:47:31 T410 journal[1042]: | ||
- | |||
- | In dem gezeigtem Fall handelt es sich also um die Gerätedatei **''/ | ||
- | |||
- | # dd if=~/ | ||
- | |||
- | Da wir später weder Tastatur noch Monitor an unseren Raspberry 4B anstecken wollen, diesen demnach im **headless**-Mode betreiben wollen und werden, legen wir noch eine Datei **''/ | ||
- | # touch / | ||
- | |||
- | Anschließend können wir nach einem unmounten des Gerätes **''/ | ||
- | |||
- | :GO: | ||
- | */ | ||
- | |||
- | |||
Nun können wir das Image auf die MicroSD Karte, die wir später in den Raspberry 4B stecken kopieren. Wir werfen also am besten einmal einen Blick in das syslog unseres Arbeitsrechners und erkennen so das Device unserer Speicherkarte. | Nun können wir das Image auf die MicroSD Karte, die wir später in den Raspberry 4B stecken kopieren. Wir werfen also am besten einmal einen Blick in das syslog unseres Arbeitsrechners und erkennen so das Device unserer Speicherkarte. | ||
< | < | ||
Zeile 2203: | Zeile 2438: | ||
In dem gezeigtem Fall handelt es sich also um die Gerätedatei **''/ | In dem gezeigtem Fall handelt es sich also um die Gerätedatei **''/ | ||
- | < | + | < |
+ | < | ||
Da wir später weder Tastatur noch Monitor an unseren Raspberry 4B anstecken wollen, diesen demnach im **headless**-Mode betreiben wollen und werden, legen wir noch eine Datei **''/ | Da wir später weder Tastatur noch Monitor an unseren Raspberry 4B anstecken wollen, diesen demnach im **headless**-Mode betreiben wollen und werden, legen wir noch eine Datei **''/ | ||
< | < | ||
- | Anschließend | + | Anschliessend |
==== Ändern des Default-Passwortes und kopieren des SSH-Public-Keys auf den Raspberry 4 ==== | ==== Ändern des Default-Passwortes und kopieren des SSH-Public-Keys auf den Raspberry 4 ==== | ||
Zeile 2303: | Zeile 2539: | ||
=== Playbook Lauf === | === Playbook Lauf === | ||
Nachdem wir die Informationen in dem Ansible-Playbook hinterlegt haben, können wir wie gewohnt das Ansible-Scriptes ausführen. | Nachdem wir die Informationen in dem Ansible-Playbook hinterlegt haben, können wir wie gewohnt das Ansible-Scriptes ausführen. | ||
- | $ ansible-playbook ~/ansible/playbooks/ | + | $ ansible-playbook ~/ |
< | < |