[Beta] Traccar - GPS Trackingserver

QTip

Super-Moderator
Teammitglied
Mitglied seit
04. Sep 2008
Beiträge
2.341
Punkte für Reaktionen
14
Punkte
84
Hi QTip,

das habe ich als Antwort zum $path:
Rich (BBCode):
/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin

passe ich den Code entsprechend an:
Rich (BBCode):
lookjava="$(/usr/bin/which java | /bin/sed -e s/bin.*$//)"

ist die Variable nach wie vor leer.
Ja, weil which $PATH für die Suche benutzt und der ist hier nicht gelistet. (z.B. /var/packages/JavaManager/target/Java/bin) Du könntest z.B. das folgende benutzen
/usr/bin/find /volume1/@appstore -path "*Java/bin" nur musst dafür vorher schon das volume von Java kennen. Das eingebaute Synology find ist nicht so mächtig, da fehlen leider einige Optionen.

@Qtip, im Moment nutze ich bei der installation
Rich (BBCode):
${SYNOPKG_PKGDEST}
für den installpfad, sollte ich das ändern?
Nein, nur wenn du ausserhalb der Installroutine das volume(x) benötigst, dann kannst das mit der genannten Codezeile tun.
 

stridahd

Benutzer
Mitglied seit
06. Okt 2013
Beiträge
6
Punkte für Reaktionen
0
Punkte
0
Installation von dem PPC-Paket hat wunderbar geklappt. Ich musste auch nichts mehr anpassen um Traccar zu starten - DANKE!

Allerdings bekomme ich keine Verbindung mit der Traccar-App. Port 5005, den ich bei der Installation für Android angehackt habe, ist bei der DSM auch nicht aktiv.
Wenn ich in der App den port auf 7777 vom Web-Interface ändere, bekomme ich zwar eine Verbindung+Positionsupdate im Log der App, aber auf dem Server passiert nichts und in der Datenbank ist kein Eintrag zu finden.
 

1sthandy

Benutzer
Mitglied seit
27. Feb 2011
Beiträge
245
Punkte für Reaktionen
0
Punkte
16
Hi, vielen Dank für die Rückmeldung.

in der Androidapp muss der Port auf 55005 geändert werden. Da von der Synology die unteren Ports für andere zwecke verwendet werden, wurde allen Ports auf dem Traccarinterface eine "5" vorrangestellt.

Du musst also den Port 55005 auf die Synology durchnatten, oder auf der Firewall von Port 5005 auf Port 55005 zur Synology weiterleiten.
 

1sthandy

Benutzer
Mitglied seit
27. Feb 2011
Beiträge
245
Punkte für Reaktionen
0
Punkte
16
Danke für die Rückmeldung.

Die Downloadlinks von gestern mit den ppc und x86 Packeten wurden entfernt. Ich werde die kommenden Versionen dann über das Repo zur Verfügung stellen.
 

Fraggle

Benutzer
Mitglied seit
15. Mrz 2009
Beiträge
493
Punkte für Reaktionen
6
Punkte
18
Na, wenn einem geholfen wird, sollte man sich auch zurückmelden.

Weißt Du etwas über den gpx Export?
 

1sthandy

Benutzer
Mitglied seit
27. Feb 2011
Beiträge
245
Punkte für Reaktionen
0
Punkte
16
@Fraggle wie sieht bei Dir der Pfad zum java aus?

Zum export kann ich nicht sehr viel sagen, traccar ist ja noch im Aufbau.

Das habe ich gefunden

Ich habe an Traccar selbst keine Aktie, ich habe lediglich ein paar Scripte und die Ports für die Installation angepasst und die GUI geschrieben.

Wünsche und Fragen zum Programm können bei traccar direkt beim Entwickler gestellt werden.


PS: Meine Wünsche wurden auch nach hinten gestellt :eek:
 

Fraggle

Benutzer
Mitglied seit
15. Mrz 2009
Beiträge
493
Punkte für Reaktionen
6
Punkte
18
Der Pfad zu Java ist bei mir:
set.JAVA_HOME=/volume1/@appstore/java6/jre

In Bezug auf Atom basierenden NAS gibt es auch noch kein Java7.

Besten Dank für den anderen Link, dann muß ich noch ein wenig warten.
 

1sthandy

Benutzer
Mitglied seit
27. Feb 2011
Beiträge
245
Punkte für Reaktionen
0
Punkte
16
update auf Version: 2.4-009 repo: cphub.net


für arm Geräte:
Java wird gesucht in /volume1/@appstore/java7/jre
Traccar wird installiert in /volume1/@appstore/traccar

für ppc Geräte:
Java wird gesucht in /volume1/@appstore/java7/jre
Traccar wird installiert in /volume1/@appstore/traccar

Für x86 Geräte:
Java wird gesucht in /volume1/@appstore/java6/jre
Traccar wird installiert in /volume1/@appstore/traccar


Falls Ihr auf Volume2 installiert, müssen in der /conf/wrapper.conf 2 Zeilen angepasst werden.

Zeile 46 zum Javapfad
Zeile 79 zur traccar.cfg

alle anderen Pfade sollten automatisch richtig gesetzt sein.

über ein Feedback würde ich mich freuen.

Bitte beachtet, dass ich vor allen Traccarports eine "5" vorrangestellt habe.
Ports im Bereich 5000-5999 sind für Synologydienste vorgesehen.
In der Androidapp muss also Port 55005 und nicht Port 5005 angegeben werden.

Eventuell dauert es noch etwas, bis die Packete freigegeben werden.
Vielen Dank an Matthieu schonmal an dieser Stelle.
 

QTip

Super-Moderator
Teammitglied
Mitglied seit
04. Sep 2008
Beiträge
2.341
Punkte für Reaktionen
14
Punkte
84
Wenn man das Paket "Java Manager" von Synology benutzt, dann lautet der Pfad zu Java übrigens /var/packages/JavaManager/target/Java/bin. Ich glaube das gibt es aber nur für x86 Geräte.
Wieso benutzt du nicht generell /var/packages/<paketname>/target als Pre-Pfad für Java und die Config, dann umgehst du das Problem mit /volume(x).

/var/packages/<paketname>/target ist ein Symlink auf /volume(x)/@appstore/<paketname>
 

1sthandy

Benutzer
Mitglied seit
27. Feb 2011
Beiträge
245
Punkte für Reaktionen
0
Punkte
16
Hi, ja das ist in der Tat für die config schon ganz gut.

Beim java gibt es wohl noch ganz schön viele verschiedene Pfade.

die wrapper conf für java sieht so aus:

Rich (BBCode):
#********************************************************************
# Wrapper Java Properties
#********************************************************************
# Java Application
#  Locate the java binary on the system PATH:
#wrapper.java.command=java
#  Specify a specific java binary:
set.JAVA_HOME=/volume1/@appstore/java7/jre
wrapper.java.command=%JAVA_HOME%/bin/java

normalerweise sollte das
Rich (BBCode):
wrapper.java.command=java
zum Ziel führen.

Das funktioniert aber nur, wenn ich über ssh als root traccar starte und nicht über die gui.
Über die Gui wird java nicht gefunden.

Im Moment setze ich den Pfad daher "per Hand".

Wer oder was bin ich, wenn über die gui etwas gestartet wird? der angemeldete Benutzer? oder ist das das System?
 

QTip

Super-Moderator
Teammitglied
Mitglied seit
04. Sep 2008
Beiträge
2.341
Punkte für Reaktionen
14
Punkte
84

1sthandy

Benutzer
Mitglied seit
27. Feb 2011
Beiträge
245
Punkte für Reaktionen
0
Punkte
16

Eigentlich nicht

Aber Du meintest sicher diesen Beitrag:
absolute Pfadangaben zu den Befehlen benutzen, das Environment der GUI ist, wie bei CRON auch, nicht identisch mit admin oder root auf der Shell. Zum Spass kannst dir ja mal $PATH per GUI in eine Datei schreiben.

Ich werd am Wochenende mir das einmal etwas näher anschauen.
 

QTip

Super-Moderator
Teammitglied
Mitglied seit
04. Sep 2008
Beiträge
2.341
Punkte für Reaktionen
14
Punkte
84
Nein, ich meinte das hier:
Hi QTip,

das habe ich als Antwort zum $path:
Rich (BBCode):
/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin

passe ich den Code entsprechend an:
Rich (BBCode):
lookjava="$(/usr/bin/which java | /bin/sed -e s/bin.*$//)"

ist die Variable nach wie vor leer.
Ja, weil which $PATH für die Suche benutzt und der ist hier nicht gelistet. (z.B. /var/packages/JavaManager/target/Java/bin) Du könntest z.B. das folgende benutzen
/usr/bin/find /volume1/@appstore -path "*Java/bin" nur musst dafür vorher schon das volume von Java kennen. Das eingebaute Synology find ist nicht so mächtig, da fehlen leider einige Optionen.
 

1sthandy

Benutzer
Mitglied seit
27. Feb 2011
Beiträge
245
Punkte für Reaktionen
0
Punkte
16
@Qtip kannst du mir mal den kompletten pfad zum java über den JavaManager geben

ist das
Rich (BBCode):
/var/packages/JavaManager/target/Java/bin/java
?

Wie kann ich auswählen, auf welches Volume ich installiere? Kommt vor dem Installieren eine Abfrage, die erst erscheint, wenn man mehr als 1 Volume hat?

Ich komme mit dem auslesen des java nicht weiter, ich habe mir jetzt so geholfen
ich prüfe, ob java in dem vorgegebenen Pfad ist und wenn ja pushe ich die nötigen Infos in meine Konfigdatei.
Rich (BBCode):
if [ -f "/volume1/@appstore/java6/jre/bin/java" ] ; then
die Abfrage mache ich natürlich für java 7 genauso, ebenso für Volume 1 / 2.
Das funktioniert zumindest erstmal, auch wenn das sicherlich noch nicht das gelbe vom Ei ist.

@stridahd danke für die Rückmeldung
 

QTip

Super-Moderator
Teammitglied
Mitglied seit
04. Sep 2008
Beiträge
2.341
Punkte für Reaktionen
14
Punkte
84
@Qtip kannst du mir mal den kompletten pfad zum java über den JavaManager geben

ist das
Rich (BBCode):
/var/packages/JavaManager/target/Java/bin/java
?
Ja

Wie kann ich auswählen, auf welches Volume ich installiere? Kommt vor dem Installieren eine Abfrage, die erst erscheint, wenn man mehr als 1 Volume hat?
Ja, da kommt eine Abfrage, wenn mehr als 1 volume existiert. Bei Quickinstall weiss ich es allerdings nicht, da gibt es weniger Abfragen. Aber ich glaube das zumindest beim 1. Mal eine Abfrage für das volume kommt, bei einem Update logischerweise dann nicht mehr, denn das volume ist dann ja bekannt.

Ich komme mit dem auslesen des java nicht weiter, ich habe mir jetzt so geholfen
ich prüfe, ob java in dem vorgegebenen Pfad ist und wenn ja pushe ich die nötigen Infos in meine Konfigdatei.
Rich (BBCode):
if [ -f "/volume1/@appstore/java6/jre/bin/java" ] ; then
die Abfrage mache ich natürlich für java 7 genauso, ebenso für Volume 1 / 2.
Das funktioniert zumindest erstmal, auch wenn das sicherlich noch nicht das gelbe vom Ei ist.
Das ist soweit bestimmt ausreichend, wenn es allerdings irgendwann mal einen neuen Ort für Java gibt, dann musst den erst hinzufügen. Aber wie du schon schreibst, nicht das gelbe vom Ei, evtl. fällt mir noch eine komfortabele Lösung ein die für alle Javaorte gleichermaßen greift.

*Edit*
habe etwas gefunden das du benutzen kannst und es funktioniert mit dem Synology find, check das mal bei dir im Script:
Rich (BBCode):
/usr/bin/find /var/packages/ -follow -iname "java" -path "*/bin/*" 2>/dev/null | grep -v "jre"
Erklärung:
/usr/bin/find /var/packages/ -follow -iname "java" 2>/dev/null
suche in /var/packages/ nach "java" (Case insensitive), Pfad enthält "*/bin/*", folge symbolischen Links, sende Fehlermeldungen nach /dev/null
grep -v "jre"
benutze nicht das Ergebnis mit "jre" im Text​


als Rückgabe gabs bei mir auf der 1512+ /var/packages/JavaManager/target/Java/bin/java
und bei der 211j /var/packages/java/target/bin/java

Wenn du dann immer noch den Pfad mit /volume(x)/@appstore bevorzugst, kannst danach z.B. ein
Rich (BBCode):
readlink -f /var/packages/JavaManager/target/Java/bin/java
durchführen und bekommst ein
Rich (BBCode):
/volume1/@appstore/JavaManager/Java/bin/java
zurück
 
Zuletzt bearbeitet:

1sthandy

Benutzer
Mitglied seit
27. Feb 2011
Beiträge
245
Punkte für Reaktionen
0
Punkte
16
@QTip

Bingo das isses!

Rich (BBCode):
/usr/bin/find /var/packages/ -follow -iname "java" -path "*/bin/*" 2>/dev/null

Nutze den Code etwas abgewandelt und trage jetzt den javapath bis zum java ein.

Vielen Vielen Dank dafür.

Habe soeben eine neue Version hochgeladen und den Beta Status aufgehoben.
 

QTip

Super-Moderator
Teammitglied
Mitglied seit
04. Sep 2008
Beiträge
2.341
Punkte für Reaktionen
14
Punkte
84
nix zu danken.
Habe mir deinen geänderten Code angesehen und bemerkt, dass du das grep hinten weggelassen hast. Ohne dieses grep findet er aber bei mir auch einen Pfad mit .../jre/bin/java, als Ergebnis gibt es dann das hier:
Rich (BBCode):
/var/packages/JavaManager/target/Java/bin/java /var/packages/JavaManager/target/Java/jre/bin/java
Weiss nicht ob es stört, wenn 2 Pfade in der Variable wrapper.java.command enthalten sind.
 

1sthandy

Benutzer
Mitglied seit
27. Feb 2011
Beiträge
245
Punkte für Reaktionen
0
Punkte
16
genau, weil ich dachte, dass der JavaManager nur einen Pfad ohne jre besitzt.

Wo liegt denn jetzt die java -Datei, die ich zum starten nehmen kann?

Rich (BBCode):
/jre/bin/java
oder
Rich (BBCode):
/bin/java

Ansonsten mach ich das mit Deinem grep Befehl, dann sollte es ja auch funktionieren.

Den JavaManager gibt es nur für x86 Geräte?
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat