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