Browse Source

Hinzufügen des Install-Skriptes für den Systemd-Service

Tobias Müller, B. Eng 6 years ago
parent
commit
5a081a48d5
1 changed files with 99 additions and 0 deletions
  1. 99 0
      install.sh

+ 99 - 0
install.sh

@@ -0,0 +1,99 @@
+#!/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 "Update symbolische Verknüpfung von der Systemd-Bibliothek zur Service-Datei."
+   ln -sfn "$service_path/$service_name" "$systemd_lib/$service_name"
+else
+   echo "Erstelle symbolische Verknüpfung von der Systemd-Bibliothek zur Service-Datei."
+   ln -s "$service_path/$service_name" "$systemd_lib/$service_name"
+fi
+
+# Erstelle/Update symbolischen Link vom Systemd-Ausführspeicherort zur Service-Datei
+if [ -e "$systemd_lib/$servie_name" ]; then
+   echo "Update symbolische Verknüpfung vom Systemd-Ausführspeicherort zur Service-Datei."
+   ln -sfn "$service_path/$service_name" "$systemd_run/$service_name"
+else
+   echo "Erstelle symbolische Verknüpfung vom Systemd-Ausführspeicherort zur Service-Datei."
+   ln -s "$service_path/$service_name" "$systemd_run/$service_name"
+fi
+
+# Variablen löschen
+unset systemd_lib
+unset systemd_run
+unset service_name
+unset service_path
+unset answer