Benutzer-Werkzeuge

Webseiten-Werkzeuge


wiki:ems:dscollectord

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
wiki:ems:dscollectord [2015/02/11 09:37]
ingof
wiki:ems:dscollectord [2016/05/24 18:42] (aktuell)
ingof
Zeile 1: Zeile 1:
 ====== Collectord für Synology Diskstation ====== ====== Collectord für Synology Diskstation ======
 +
 +<WRAP left round important 60%>
 +Die Installation nach dieser Anleitung habe ich nie fertigstellen können.
 +Die Installation in einem Docker-Container war bei mir erfolgreich. Die Anleitung folgt noch...
 +</WRAP>
  
 ==== Generelles ==== ==== Generelles ====
Zeile 14: Zeile 19:
  
 __Software:__\\ __Software:__\\
-IPKG\\ +SSH-Client für den Computer\\
-vi\\ +
-GCC-Compiler\\ +
-collectord Quelltext\\ +
-Notwendige Bibliotheken\\ +
-cmake\\ +
-mySQL Connector C++\\ +
- +
-Leider sind meine Linux-Kenntnisse nicht allzu groß. Deswegen ist hier erst mein mein aktueller Stand der Kompilierung zu finden. Diese ANleitung soll auch für Anfänger funktionieren die nicht erst noch nach Grundlagen googlen müssen.+
  
 Zur Kompilierung ist eine SSH/Telnet Terminal Verbindung notwendig. Diese Terminal Verbindung muss erst auf der Diskstation über DSM aktiviert freigeschaltet werden. Da die SSH-Verbindung verschlüsselt ist sollte diese Vorgezogen werden. Bei Telnet wird das Passwort unverschlüsselt übertragen und sollte nur im eigenen Netz ohne Internet-Verbindung verwendet werden. Zur Kompilierung ist eine SSH/Telnet Terminal Verbindung notwendig. Diese Terminal Verbindung muss erst auf der Diskstation über DSM aktiviert freigeschaltet werden. Da die SSH-Verbindung verschlüsselt ist sollte diese Vorgezogen werden. Bei Telnet wird das Passwort unverschlüsselt übertragen und sollte nur im eigenen Netz ohne Internet-Verbindung verwendet werden.
  
-Für die SSH-Verbindung nehme ich TeraTerm. Auf meinen Diskstation läuft DSM 5.1. Das Vorgehen sollte auf älteren Versionen aber genauso funktionieren.+Für die SSH-Verbindung nehme ich TeraTerm. Auf meinen Diskstation läuft DSM 5.1. Das Vorgehen sollte auf älteren Versionen so, oder ähnlich funktionieren.
  
 ==== IPKG Installation ==== ==== IPKG Installation ====
-Für die Installation gibt es von Synology ein Deutsches Wiki: +Für die Installation gibt es von Synology ein [[http://www.synology-wiki.de/index.php/IPKG|IPKG-Wiki]].
-[[http://www.synology-wiki.de/index.php/IPKG|IPKG-Wiki]]+
  
-Dieser Anleitung bis zum editieren von /root/.profile folgen.+Dieser Anleitung folgen.
  
-Statt den Pfad auszukommentieren sollte dieser nur noch erweitert werden. Am Ende noch :/opt/bin:/opt/sbin anhängen. Diese Änderung ist notwendig damit IPKG, und die andere Software,auch ohne den absoluten Pfad gestartet werden kann.+Bei mir hat das auskommentieren der Pfadangaben in **/root/.profile** nicht geholfen. 
 +Statt die beiden Zeilen für den Pfad mit **#** auszukommentieren muss dieser nur noch erweitert werden. Am Ende noch :/opt/bin:/opt/sbin anhängen. Diese Änderung ist notwendig damit IPKG, und die andere Software,auch ohne den absoluten Pfad gestartet werden kann.
  
 ==== Editieren mit vi ==== ==== Editieren mit vi ====
Zeile 41: Zeile 38:
 ''vi /root/.profile''\\ ''vi /root/.profile''\\
  
-mit den Pfeiltasten zur Einfügepösition gehen und ''i''  drücken um in den Einfügemodus zu gelangen. Jetzt kann der PATH erweitert werden. +mit den Pfeiltasten zur Einfügeposition gehen und ''i''  drücken um in den Einfügemodus zu gelangen. Jetzt kann der PATH erweitert werden.\\ 
- +Nach der Erweiterung keine Eingabetaste drücken.\\ 
-Nach der Erweiterung keine Eingabetaste drücken. +Zurück in den Befehlsmodus von vi kommt man mit der **Escape**-Taste.\\
- +
-Zurück in den Befehlsmodus von vi kommt man mit der **Escape**-Taste. +
 Um die Änderungen zu speichern und vi ohne Nachfrage zu verlassen folgendes eingeben: Um die Änderungen zu speichern und vi ohne Nachfrage zu verlassen folgendes eingeben:
 '':wq!''\\ '':wq!''\\
Zeile 56: Zeile 50:
 ''ipkg update''\\ ''ipkg update''\\
  
-==== GCC Installation ==== +==== GCC und Bibliotheken installieren ====
- +
-''ipkg install gcc''\\ +
- +
-==== Optware-Devel Installation ==== +
-Das sind notwendige zusatzprogramme die zum kompilieren benötigt werden. +
- +
-''ipkg install optware-devel''\\ +
- +
-==== Boost-Bibliothek ==== +
-Zum kompilieren wird ein Teil der Boost-Bibliothek benötigt.+
  
 '' ''
 +ipkg install gcc\\
 +ipkg install git\\
 +ipkg install optware-devel\\
 ipkg install boost-iostreams\\ ipkg install boost-iostreams\\
 ipkg install boost-dev\\ ipkg install boost-dev\\
Zeile 74: Zeile 61:
 ipkg install boost-system\\ ipkg install boost-system\\
 ipkg install boost-date-time\\ ipkg install boost-date-time\\
 +ipkg install ncurses ncurses-dev\\
 +''\\
 +Aus https://code.google.com/p/google-authenticator/issues/detail?id=364 :\\
 +''
 +rm /opt/arm-none-linux-gnueabi/lib/libdl.so\\
 +ln -s /lib/libdl.so.2 /opt/arm-none-linux-gnueabi/lib/libdl.so\\
 '' ''
 +
  
 ==== Quelltexte ==== ==== Quelltexte ====
- +<del>Ich habe ein Fork von Danny-Baumanns [[https://github.com/maniac103/Quelltext]] erstellt. Vermutlich müssen kleine Änderungen am Import des mySQL-Connector gemacht werden. Falls es läuft kann das vielleicht von Danny in seinen Master-Branch eingefügt werden.
-Ich habe ein Fork von Danny-Baumanns Quelltext erstellt. Vermutlich müssen kleine Änderungen am Import des mySQL-Connector gemacht werden. Falls es läuft kann das vielleicht von Danny in seinen Master-Branch eingefügt werden.+
 \\ \\
-[[https://github.com/ingof/ems-collector|collectord]]\\+[[https://github.com/ingof/ems-collector|collectord]]\\</del>
  
  
-Leider gibt es noch kein IPKG-Paket für die mySQL-Connector-C++ Bibliothek und diese muss auch kompiliert werden. Hier bitte Source Code auswählen und den Sourcecode herunterladen. Es ist auch möglich über den unteren Link den Sourcecode herunter zu laden ohne sich registrieren zu lassen. +==== CMake  ====
-\\ +
-[[http://dev.mysql.com/downloads/connector/cpp/|mySQL connector]]\\+
  
-==== CMake aus Quellcode installieren ==== +Auf [[http://www.cmake.org/download/|CMake Download-Seite]] könnte es eine neuere Version von Cmake geben. Dann einfach die Versionnummern in den folgenden Befehlen anpassen:
- +
-Das Beispiel habe ich im Internet gefunden. Auf der [[http://www.cmake.org/download/|CMake Download-Seite]] könnte es eine neuere Version von Cmake geben. Dann einfach die Versionnummern in den folgenden Befehlen anpassen:+
  
 '' ''
-wget %%http://www.cmake.org/files/v3.1/cmake-3.1.2.tar.gz%%\\ +cd /volume1/@tmp\\ 
-tar xvf cmake-3.1.2.tar.gz\\ +wget %%http://www.cmake.org/files/v3.1/cmake-3.1.0-1-src.tar.bz2%%\\ 
-cd cmake-3.1.2\\ +tar jxf cmake-3.1.0-1-src.tar.bz2\\ 
-./bootstrap\\  +./cmake-3.1.0-1.sh prep\\ 
-make\\  +./cmake-3.1.0-1.sh conf\\ 
-make install\\  +./cmake-3.1.0-1.sh build\\ 
-cd ..\\ +cd cmake-3.1.0/.build/\\ 
-rm -cmake-2.8.10\\ +bin/cpack -G STGZ''\\ 
-rm cmake-2.8.10.tar.gz\\+<wrap lo>Erstellt selbstentpackendes Archiv cmake-3.1.0-Linux-<ARCH>.sh</wrap>\\ 
 +''./cmake-3.1.0-Linux-*.sh --prefix=/opt''\\ 
 +  * Lizenztext-Anzeige mit "q" abbrechen und mit "y" quittieren\\ 
 +  * Do you want to include the subdirectory cmake-3.1.0-Linux-armv5tel? 
 +    Saying no will install in: "/opt" [Yn]:**n**\\ 
 + 
 +Die Installation von cmake ist nun abgeschlossen.  
 + 
 + 
 +==== MariaDB Client Library for C ==== 
 + 
 +Leider habe ich keine Möglichkeit gefunden den die Datei über wget auf die Diskstation zu bekommen. Um an die **MariaDB Client Library for C** muss man sich erst auf [[https://mariadb.com/|https://mariadb-com]] registrieren. 
 +Jetzt kann man über >Produkt >Connector & Plugins den Sourcecode herunterladen. Diese am besten im public-share auf der Diskstation ablegen. Spätestesns mit der IPKG-Installation aus dem Wiki wurde der angelegt. 
 '' ''
 +cp /volume1/public/mariadb_client-2.0.0-src.tar.gz /volume1/@tmp/
 +cd /volume1/@tmp\\
 +tar zxf mariadb_client-2.0.0-src.tar.gz\\
 +cd mariadb_client-2.0.0-src\\
 +mkdir build\\
 +cd build\\
 +cmake ..\\
 +make all''\\
  
-==== Sourcecode auf die Diskstation kopieren ==== 
  
-vermutlich gibt es auch eine einfacher Möglichkeit mit wget. Ich habe bisher den Quelltext über einen PC heruntergeladen und über Netzwerk auf die Diskstation in den public-Ordner kopiert. Wenn der nicht existiert muss erst ein Share public über DSM erstellt werden.+==== collectord  ====
  
-Da der collectord hinterher wohlin /opt/bin gehört habe ich dort erst mal einen unterordner erstellt und dann die Quelltext von public in diesen Ornder kopiert.\\ +''cd /volume1/@tmp\\ 
-''cp /volume1/public/ /opt/bin/ems-colector-master''\\+git clone %%https://github.com/ingof/ems-collector.git%%\\ 
 +cd ems-collector/collector\\ 
 +make\\ 
 +cp -a collectord /opt/bin\\ 
 +cd /root''\\
  
-Diese Bibliothek ist im Moment mein aktuelles Problem für das ich bisher keine Lösung habeBeim Quelltext sind Cmake Scripte vorhanden. Diese sind für das CrossCompileDie Makefiles sind nicht vorhanden. Daher ist so kein einfaches kompilieren über make möglich.+Hier gibt es jetzt allerdings die letzte Hürde. 
 +Der GCC für die Diskstations ist zu alt und kennt die Option **-std=c++0x** nicht. 
 +Der GCC-Compiler unterstützt das erst ab Version 4.7.
  
-Vermutlich könnte dass der entscheidende Link sein um die Bibliothek zu kompilieren:+Mir ist bisher keine Möglichkeit bekannt dieses Problem zu umgehen.
  
  
-[[http://www.markus-raab.org/Howtos/Programmieren/dynamische%20Bibliotheken|Dynamische Bibliotheken kompilieren]]+==== Aufräumen =====
  
 +''rm -rf /volume1/@tmp/cmake-3.1* /volume1/@tmp/mariadb_client-*''\\
 +Löschen des Git-Verzeichnisses "ems-collector" ganz nach Gusto:\\
 +''rm -rf /volume1/@tmp/ems-collector''\\
  
-==== mySQL Connector Bibliotheken installieren ==== 
-die kompilierten Bibliotheken müssen noch installiert werden. 
-der Link zum Bibliotheken kompilieren scheint dafür auch hilfreich zu sein. 
  
-==== collectord kompilieren ====+==== Konfiguration collectord ====
  
-Wenn die Bibliotheken des mySQL-Connectors kompiliert und installiert wurden sind alle Vorraussetzungen erfüllt um endlich den collectord zu kompilieren.+identisch mit Raspberry
  
-Dazu bitte in den richtigen Ordner mit dem zu kompilierenden Quelltext gehen. 
  
-''cd /opt/bin/ems-collector-master''\\+==== Autostart collectord ====
  
-und das compilieren starten+..... in Arbeit .....
  
-''make all''\\ 
  
-Bei mir gibt es natürlich massenhaft Fehlermeldungen. Viele davon liegen an der fehlenden Bibliothek des mySQL Connector 
  
  
wiki/ems/dscollectord.1423643828.txt.gz · Zuletzt geändert: 2015/12/30 21:00 (Externe Bearbeitung)