centos:ansible:ffmuc-rpb4-ol

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
centos:ansible:ffmuc-rpb4-ol [05.09.2020 17:02. ] – [Ansible-Konfigurationsdatei] djangocentos:ansible:ffmuc-rpb4-ol [05.09.2020 19:39. ] – [Kopieren des Raspbian Images auf die microSD-Karte] django
Zeile 69: Zeile 69:
 Je nach verwendeter Systemumgebung installieren wir nun das vom Paketmaintainer zur Verfügung gestellte  **RPM** bzw. **DEB** Paket. Im Falle von RedHat basierenden Systemen wie **[[https://www.centos.org/|CentOS]]** oder **[[https://getfedora.org/|Fedora]]** benutzen wir das Paketverwaltungswerkzeug **YUM/DNF** oder im Falle von **[[https://www.debian.org/|Debian]]** und **[[https://ubuntu.com/|Ubuntu]]** das Werkzeug **APT**. Je nach verwendeter Systemumgebung installieren wir nun das vom Paketmaintainer zur Verfügung gestellte  **RPM** bzw. **DEB** Paket. Im Falle von RedHat basierenden Systemen wie **[[https://www.centos.org/|CentOS]]** oder **[[https://getfedora.org/|Fedora]]** benutzen wir das Paketverwaltungswerkzeug **YUM/DNF** oder im Falle von **[[https://www.debian.org/|Debian]]** und **[[https://ubuntu.com/|Ubuntu]]** das Werkzeug **APT**.
    * RPM basierende Systeme: <code> # dnf install ansible</code> bzw. <code> # yum install ansible</code>    * RPM basierende Systeme: <code> # dnf install ansible</code> bzw. <code> # yum install ansible</code>
-   * DEB basierende Systeme: <code> # apt install ansible</code>+   * DEB basierende Systeme: <code>apt install ansible</code> bzw. als eigeloggter User via **''sudo''** mit <code> $ sudo apt install ansible</code>
  
 ==== Einrichten der eigenen Ansible-Umgebung ==== ==== Einrichten der eigenen Ansible-Umgebung ====
Zeile 210: Zeile 210:
  
   raspberry-ansible   raspberry-ansible
 +
 +:GO:
 +
 +/*
 +Ähnlich wie bereits auch schon die Konfigurationsdatei zu Ansible wird auch die Datei zur Hostdefinition sehr überschaubar bleiben.
 +Auch hier kopieren wir uns die Vorlagedatei in unser Homeverzeichnis an Ort und Stelle.
 +   $ cp /etc/ansible/hosts ~/ansible/inventories/production/
 +
 +Dort tragen wir den Namen ein, wie wir unseren Host später im Playbook ansprechen wollen. In diesem Konfigurationsbeispiel nutzen wir hier den Namen **''raspberry-ansible''**.
 +   $ vim ~/ansible/inventories/production/hosts
 +
 +Somit ergibt sich auch hier eine sehr üersichtliche Konfigurationsdatei.
 +   $ egrep -v '(^.*#|^$)' ~/ansible/inventories/production/hosts
 +
 +  raspberry-ansible
 +
 +*/
 +
 +
  
 === SSH Konfigurationsdatei === === SSH Konfigurationsdatei ===
Zeile 1690: Zeile 1709:
    $ wget https://downloads.raspberrypi.org/raspbian_lite_latest    $ wget https://downloads.raspberrypi.org/raspbian_lite_latest
  
-Bevor wir nun das Archiv entpacken überprüfen wir noch die Integrität der heruntergeladenen Datei. Heirzu 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 raspbian_lite_latest    $ sha256sum raspbian_lite_latest
  
Zeile 1705: Zeile 1724:
 </code> </code>
  
 +:GO:
 +
 +/*
 +Nachdem es aktuell((Stand: September 2020)) noch kein fertiges Gluon Image für das **[[https://www.raspberrypi.org/products/raspberry-pi-4-model-b/|Raspberry PI 4B]]** gibt, holen wir uns nun das aktuelle **Raspberry Pi OS** (früher unter dem Namen //Raspbian// bekannt) auf unseren Rechner. Dies hat mitunter auch noch den Charme, dass wir bei Bedarf alle normalen Anwendungen wie Webserver, Chatserver oder z.B. den Unifi-Controller einfach installieren können. 
 +
 +Eine Anleitung zur manuellen Installation findet man auf der **[[https://www.raspberrypi.org/documentation/installation/installing-images/README.md|offiziellen Raspbian Seite]]**. 
 +
 +   $ wget https://downloads.raspberrypi.org/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 raspios_lite_armhf_latest
 +
 +  4522df4a29f9aac4b0166fbfee9f599dab55a997c855702bfe35329c13334668  raspios_lite_armhf_latest
 +
 +Die Zeichenfolge überprüfen wir nun mit den Angaben auf der Seite: https://www.raspberrypi.org/downloads/raspbian/
 +
 +{{ :centos:ansible:raspberry-pi-os.png?nolink&625 |Bild: Bildschirmhardcopy der Seite www.raspberrypi.org/downloads/raspberry-pi-os/ (Stand: 05.09.2020)}}
 +
 +Da sich beide SHA-Werte **__nicht__** unterscheiden können wir das herunter geladene ZIP-Archiv nun entpacken.   
 +   $ unzip raspios_lite_armhf_latest
 +
 +<code>Archive:  raspios_lite_armhf_latest
 +  inflating: 2020-08-20-raspios-buster-armhf-lite.img
 +</code>
 +
 +*/
 ==== 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. 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 1738: Zeile 1783:
    # touch /run/media/django/boot/ssh    # touch /run/media/django/boot/ssh
  
-Anschließend könne wir nach einem unmounten des Gerätes **''/dev/sdb''** die Micro-SD-Karte in den Kartenslot des Raspberry 4B stecken und den Kleinstcomputer mit dem Netzwerk und dem zugehörigen Netzteil verbinden und starten.+Anschließend können wir nach einem unmounten des Gerätes **''/dev/sdb''** die Micro-SD-Karte in den Kartenslot des Raspberry 4B stecken und den Kleinstcomputer mit dem Netzwerk und dem zugehörigen Netzteil verbinden und starten.
  
 +: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.
 +<code> # tail -f /var/log/messages</code> bzw. <code> $ sudo tail -f /var/log/syslog</code>
 +
 +<code>Sep  5 21:10:57 Djangos-ThinkPad-X230 kernel: [12795.867603] mmc0: new high speed SDHC card at address aaaa
 +Sep  5 21:10:57 Djangos-ThinkPad-X230 kernel: [12795.868313] mmcblk0: mmc0:aaaa SC16G 14.8 GiB 
 +Sep  5 21:10:57 Djangos-ThinkPad-X230 kernel: [12795.871017]  mmcblk0: p1 p2
 +Sep  5 21:10:58 Djangos-ThinkPad-X230 kernel: [12796.199093] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
 +Sep  5 21:10:58 Djangos-ThinkPad-X230 systemd[1]: Finished Clean the /media/django/boot mount point.
 +Sep  5 21:10:58 Djangos-ThinkPad-X230 udisksd[976]: Mounted /dev/mmcblk0p1 at /media/django/boot on behalf of uid 1001
 +Sep  5 21:10:58 Djangos-ThinkPad-X230 kernel: [12796.302402] EXT4-fs (mmcblk0p2): recovery complete
 +Sep  5 21:10:58 Djangos-ThinkPad-X230 kernel: [12796.303545] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
 +Sep  5 21:10:58 Djangos-ThinkPad-X230 systemd[1]: Finished Clean the /media/django/rootfs mount point.
 +Sep  5 21:10:58 Djangos-ThinkPad-X230 udisksd[976]: Mounted /dev/mmcblk0p2 at /media/django/rootfs on behalf of uid 1001
 +Sep  5 21:11:09 Djangos-ThinkPad-X230 gnome-terminal-[8119]: g_menu_insert_item: assertion 'G_IS_MENU_ITEM (item)' failed</code>
 +
 +In dem gezeigtem Fall handelt es sich also um die Gerätedatei **''/dev/mmcblk0p2''**. Wir wissen also wie wir nun die zuvor heruntergeladene **[[#download_des_auf_debian_buster_basierenden_raspbian|Debian Buster Image-Datei]]** auf die MicroSD-Karte kopieren müssen. In der Regel hat der "normale Nutzer" keine Rechte um diese Gerätedatei anzusprechen, wir müssen also als Benutzer **root** oder mir den Rechten des Benutzers **root** die  Gerätedatei **''/dev/mmcblk0p2''** in diesem Konfigurationsbeispiel ansprechen.
 +
 +<code> # dd if=~/2020-02-13-raspbian-buster-lite.img of=/dev/mmcblk0p2  bs=4M status=progress conv=fsync</code> bzw. <code> $ sudo dd if=/home/django/Freifunk/2020-08-20-raspios-buster-armhf-lite.img of=/dev/mmcblk0p2 bs=4M status=progress conv=fsync</code>
 +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 **''/boot/ssh''** auf der SD-Karte ab. Nach dem erneuten Anstecken der MicroSD-Karte wir der Speicher in der Regel im Verzeichnis **''/run/media/''** gemountet. Zum Anlagen der betreffenden Datei  **''ssh''** in dem Verzeichnis reicht also folgender Aufruf:
 +   # touch /run/media/django/boot/ssh
 +
 +Anschließend können wir nach einem unmounten des Gerätes **''/dev/sdb''** die Micro-SD-Karte in den Kartenslot des Raspberry 4B stecken und den Kleinstcomputer mit dem Netzwerk und dem zugehörigen Netzteil verbinden und starten.
 +
 +*/
 ==== Ä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 ====
 <WRAP center round important 80%> <WRAP center round important 80%>