Browse Source

README.md: Code Block "install.sh" hinzufügen

Tobias Müller 6 years ago
parent
commit
0c1817cca6
1 changed files with 187 additions and 0 deletions
  1. 187 0
      README.md

+ 187 - 0
README.md

@@ -75,7 +75,194 @@ WantedBy=multi-user.target
 
 ### install.sh
 
+```bash
+    #!/bin/bash
+    #
+    # Autor: Tobias Müller
+    # Beschreibung: Dieses Skript installiert den "Internet_over_USB" Service.
+    #		Der Service wird automatisch bei jedem Neustart des
+    #		BeagleBone Black ausgeführt und ermöglicht den Aufbau einer
+    #		Internetverbindung über den USB-Host-Anschluss des BeagleBone
+    #		Black. Das Install-Sktipt muss mit Root-Rechten gestartet
+    #		werden.
+    #
+    #		Sollte sich der Speicherort der "Internet_over_USB.service"
+    #		Datei ändern, muss dieses Skript erneut gestartet werden.
+    #		Dabei muss sich das "install.sh" Skript im selben Ordner
+    #		befinden, wie die "Internet_over_USB.service" Datei.
+
+    # Bash-Fenster leeren
+    clear
+
+    # Kontrolle ob Skript mit Root-Rechten gestartet wurde, ansonsten wird
+    # das Skript mit einem Hinweis beendet
+    if [ $(id -u) != 0 ]; then
+       echo ""
+       echo "Das Skript muss mit Root-Rechten gestartet werden!"
+       echo ""
+       exit -1
+
+    fi
+
+    # Willkommenstext mit Abfrage, ob die Installation gestartet werden soll
+    echo ""
+    echo "Willkommen zur Installation des \"Internet_over_USB\"-Services."
+    echo "Möchten Sie die Installation starten (ja/nein)?"
+    read answer
+
+    while [ "$answer" != "ja" ]; do
+
+       if [ "$answer" == "nein" ]; then
+          echo ""
+          echo "Beende das Installations-Skript."
+          echo ""
+          unset answer
+          exit 0
+
+       else
+          echo ""
+          echo "Ich habe Sie nicht verstanden."
+          echo "Möchten Sie die Installation starten (ja/nein)?"
+          read answer
+
+       fi
+
+    done
+
+    # Servicename
+    service_name="Internet_over_USB.service"
+
+    # Aktueller Pfad
+    service_path="`pwd`"
+
+    # Kontrolle, ob Service-Datei im selben Verzeichnis wie "install.sh"-Skript
+    if [ -e "$service_path/$service_name" ]; then
+       echo ""
+       echo "Die \"Internet_over_USB.service\"-Datei wurde gefunden."
+
+    else
+       echo ""
+       echo "Die \"Internet_over_USB.service\"-Datei wurde nicht gefunden."
+       echo "Beende das Installations-Skript."
+       echo ""
+       unset answer
+       unset service_path
+       unset service_name
+       exit -1
+
+    fi
+
+    # systemd Speicherort für Bibliotheken
+    systemd_lib="/lib/systemd/system"
+
+    # systemd Speicherort Ausführdateien
+    systemd_run="/etc/systemd/system/multi-user.target.wants"
+
+    # Erstelle/Update symbolischen Link von der Systemd-Bibliothek zur Service-Datei
+    if [ -e "$systemd_lib/$servie_name" ]; then
+       echo ""
+       echo "Update der symbolischen Verknüpfung von der Service-Datei:"
+       echo "\"$service_path/$service_name\","
+       echo "zur Systemd-Bibliothek:"
+       echo "\"$systemd_lib/$service_name\"."
+       ln -sfn "$service_path/$service_name" "$systemd_lib/$service_name"
+
+    else
+       echo ""
+       echo "Erstelle eine symbolische Verknüpfung von der Service-Datei:"
+       echo "\"$service_path/$service_name\","
+       echo "zur Systemd-Bibliothek:"
+       echo "\"$systemd_lib/$service_name\"."
+       ln -s "$service_path/$service_name" "$systemd_lib/$service_name"
+
+    fi
+
+    # Erstelle/Update symbolischen Link vom Systemd-Speicherort für Konfigurations- und 
+    # Informationsdateien zur Service-Datei
+    if [ -e "$systemd_lib/$servie_name" ]; then
+       echo ""
+       echo "Update der symbolischen Verknüpfung von der Service-Datei:"
+       echo "\"$service_path/$service_name\","
+       echo "zum Systemd-Speicherort für Konfigurations- und Informationsdateien:"
+       echo "\"$systemd_run/$service_name\"."
+       ln -sfn "$service_path/$service_name" "$systemd_run/$service_name"
+
+    else
+       echo ""
+       echo "Erstelle eine symbolische Verknüpfung von der Service-Datei:"
+       echo "\"$service_path/$service_name\","
+       echo "zum Systemd-Speicherort für Konfigurations- und Informationsdateien:"
+       echo "\"$systemd_run/$service_name\"."
+       ln -s "$service_path/$service_name" "$systemd_run/$service_name"
+
+    fi
+
+    # Systemd-Daemon-Prozess neustarten
+    echo ""
+    echo "Starte den Systemd-Deamon-Prozess neu."
+    systemctl daemon-reload
+
+    # Aktiviere den Autostart für den "Internet_over_USB"-Service
+    echo "Aktiviere den Autostart für den \"Internet_over_USB\"-Service."
+    systemctl enable Internet_over_USB
+
+    # Starte den "Internet_over_USB"-Service
+    echo ""
+    echo "Möchten Sie den BeagleBone Black neustarten, um den Service:"
+    echo "\"Internet_over_USB\", zu aktivieren (ja/nein)?"
+    read answer
+
+    while [ "$answer" != "nein" ]; do
+
+       if [ "$answer" == "ja" ]; then
+          # Installationsabschluss
+          echo ""
+          echo "Die Serviceinstallation ist abgeschlossen."
+          echo "Beende das Installations-Skript."
+          echo ""
+          echo "Starte den BeagleBone Black neu."
+          echo ""
+
+          # Variablen löschen
+          unset systemd_lib
+          unset systemd_run
+          unset service_name
+          unset service_path
+          unset answer
+
+          # Warte 5s
+          sleep 5
+
+          # Starte BeagleBone neu
+          reboot
+
+       else
+          echo ""
+          echo "Ich habe Sie nicht verstanden."
+          echo "Möchten Sie die Installation starten (ja/nein)?"
+          read answer
+
+       fi
+
+    done
+
+    # Installationsabschluss
+    echo ""
+    echo "Die Serviceinstallation ist abgeschlossen."
+    echo "Beende das Installations-Skript."
+    echo ""
+
+    # Variablen löschen
+    unset systemd_lib
+    unset systemd_run
+    unset service_name
+    unset service_path
+    unset answer
+
+    # Beende Installer
+    exit 0
 
+```
 
 <div id='Einstellungen'/>