#!/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