damit das Ausführen von Linux-Shell-Skripten auf dem Topf mit AcadeRC ein wenig verständlicher wird, mache ich hier mal einen neuen Thread dafür auf.
Eigentlich ist das Thema in der Dokumentation und im Hauptthread schon einigermaßen beschrieben, ich fasse die wesentlichen Punkte hier noch einmal zusammen und zitiere zunächst (mit leichten [Modifikationen]):
Code: Alles auswählen
Im [AcadeRC-]Filebrowser kann mit der AR-Taste die gerade selektierte .sh-Datei ausgeführt werden.
Da solche Skriptdateien reinen Text (Linuxkommandos) enthalten, kann ihr
Inhalt jederzeit mit der Ok-Taste inspiziert werden. Nach dessen Ausführung wird
die Ausgabe der enthaltenen Kommandos in einer ".sh (Output)"-Datei abgespeichert
und automatisch angezeigt. Diese Ausgabedateien bleiben erhalten, bis man sie löscht.
Befinden sich in ProgramFiles/Settings/AcadeRC die Dateien autostart.sh bzw.
autostop.sh, so werden diese beim Starten bzw. Beenden des TAPs automatisch
ausgeführt, auch dabei kommt die Ausgabe in die jeweiligen Output-Dateien.
Seit v4.88 werden [b]mit der internen Update-Funktion[/b] (s. Menü) einige vorgefertigte,
allgemein nützliche Skriptdateien mitgeliefert und in einem AcadeRC-Unterverzeichnis
[Downloads] abgelegt. Darunter sind auch 2 Dateien autostart.sh und autostop.sh, die es möglich
machen, mehrere Skriptdateien in den [AcadeRC-]Unterverzeichnissen Autostart bzw. Autostop
auszuführen. Diese Aktionen müssen in jedem Fall vom Benutzer selbst veranlasst werden [durch Verschieben].
Unter den vorgefertigten Skriptdateien befinden sich u.a.:
- rec-rename.sh um Aufnahmedateien (z.B. in lost+found) umzubenennen
- smbmount.sh um Samba-Freigaben zu mounten (für Autostart)
- telnet.sh um den telnet-Dienst zu starten (für Autostart)
- df-mounted.sh um die gerade gemounteten Dateisysteme anzuzeigen
- ps-processes.sh um die aktuell laufenden Linux-Prozesse anzuzeigen
- ls-progfiles.sh um ein (rekursives) Listing von /ProgFiles zu zeigen
1. manuell ein Skript ausführen
2. automatisch beim Start und/oder Stop des TAPs
3. auch mehrere hintereinander im Verzeichnis .../AcadeRC/Autostart bzw. -stop
Die Abarbeitung jeglicher (auch automatischer) Skripte erfolgt ohne Unterbrechung durch andere TAPs.
Zur Übung könntet Ihr jetzt z.B. das mitgelieferte Skript "df-mounted.sh" manuell ausführen, es zeigt die gerade gemounteten Dateisysteme an.
Nun zum Thema Samba-Freigaben mounten:
Das vorgefertigte Skript smbmount.sh kann direkt (mit nur 1 Zeile Anpassung) verwendet werden:
Code: Alles auswählen
#################################################################################################
# #
# Script zum Mounten von CIFS/SMB-Freigaben #
# ========================================= #
# (Forum: https://forum.tms-taps.net/viewtopic.php?p=1059687#p1059687 ) #
# #
# Voraussetzung: jkIT's cifs.ko und mount.cifs nach /ProgramFiles kopieren! #
# (Quelle: http://tms-taps.net/files/samba/TMS-cifs-kernel-module.zip auspacken) #
# #
# DANKE an jkIT für die erfolgreiche Compilierung von cifs.ko und mount.cifs! #
# #
#################################################################################################
MODUL=/mnt/hd/ProgramFiles/cifs.ko # s.o.
MOUNT=/mnt/hd/ProgramFiles/mount.cifs # s.o.
BUSYBOX=/mnt/hd/ProgramFiles/busybox # kam mit TapToDate
MOUNTPT=/mnt/hd/DataFiles/Fritzbox # <== ggfs. anpassen!
mkdir -p $MOUNTPT # erstellen des Mountpoints (falls noch nicht)
chmod +x $MOUNT # mount.cifs ausführbar machen (falls noch nicht)
$BUSYBOX insmod $MODUL # cifs.ko laden (falls noch nicht)
$BUSYBOX mountpoint $MOUNTPT && exit # Mountpoint bereits gemountet
$MOUNT //192.168.1.1/topf $MOUNTPT -o rw,username=abc,password=xyz # <== SHARE-ANPASSUNG !!!
df # alle gemounteten Partitionen anzeigen
#################################################################################################
# #
# Hinweis: Das Share und seine Dateien dürfen nicht schreibgeschützt sein, #
# sonst kann die Topf-FW sie nicht öffnen (zum Abspielen etc.)! #
# #
# Dieses Script wird (nach der SHARE-ANPASSUNG, s.o.) von AcadeRC beim Start automatisch #
# ausgeführt, wenn es nach "/ProgramFiles/Settings/AcadeRC/autostart.sh" (Datei) kopiert wird. #
# Seine Ausgaben werden in "/ProgramFiles/Settings/AcadeRC/autostart.sh (Output)" gespeichert. #
# #
#################################################################################################
1. AcadeRC muß im ProgramFiles/Autostart-Verzeichnis liegen
2. smbmount.sh muß als ProgramFiles/Settings/AcadeRC/autostart.sh umbenannt sein
(oder in ein Verzeichnis .../AcadeRC/Autostart kopiert und autostart.sh original belassen sein)
Wenn ein anderes Autostart-TAP ein bereits gemountetes Share braucht, muß AcadeRC natürlich vor diesem anderen TAP gestartet werden (also alphabetisch vor ihm liegen).
AcadeRC kann auch ohne Probleme das 1. Autostart-TAP sein (eigentlich der Normalfall).
Falls (nach einigem Probieren) noch irgendwas unklar ist: Bitte gern hier Eure Fragen
posten, ich werde mich darum kümmern!
Viel Spaß mit AcadeRC,
Acade