Dies ist eine alte Version des Dokuments!
This manual is also available in english.
Unser Repository: https://github.com/volkszaehler/vzlogger
Derzeit sind vzlogger und ein paar der Bibliotheken (Libraries) nur als Quellcode verfügbar. Diese müssen vor gebrauch kompiliert (übersetzt) werden. Wechsle in ein Verzeichnis in dem dein Nutzer Schreibrechte hat. Zum Beispiel dein Home-Verzeichnis:
cd ~
Für eine erfolgreiche Kompilierung des vzlogger werden, neben gcc (4.7 oder neuer) und glibc, auch diese Libraries benötigt:
Für Distributionen die auf Debian „Jessie“ oder „Stretch“ basieren können die meisten dieser Abhängigkeiten folgendermaßen installiert werden: (eventuell erstmal „apt-get update“ als root ausführen)
sudo apt-get install build-essential git-core cmake pkg-config subversion libcurl4-openssl-dev libgnutls28-dev libsasl2-dev uuid-dev libtool libssl-dev libgcrypt20-dev libmicrohttpd-dev libltdl-dev libjson-c-dev libleptonica-dev libmosquitto-dev libunistring-dev dh-autoreconf
Für Debian „Wheezy“:
sudo apt-get install build-essential git-core cmake pkg-config subversion libcurl3-dev libgnutls-dev libsasl2-dev uuid-dev libtool libmicrohttpd-dev libcurl4-openssl-dev libssl-dev libltdl-dev libleptonica-dev libunistring-dev dh-autoreconf
Vzlogger bietet ein Shellscript für Download, Übersetzung und Installation der Module die nur als Quellen verfügbar sind.
git clone https://github.com/volkszaehler/vzlogger.git cd vzlogger ./install.sh
Das Script bietet auch die Möglichkeit nur einzelne Module zu übersetzen. Details dazu findet man als Kommentar im Script.
Nun sollte vzlogger vollends als Systemdienst eingerichtet werden. Details dazu weiter unten.
Falls der vzlogger aktualisiert werden soll ist wie folgt vorzugehen:
sudo systemctl stop vzlogger cd vzlogger git pull ./install.sh vzlogger sudo systemctl start vzlogger
Die zugrundeliegenden SML Bibliothek kann (vorher) aktualisiert werden indem:
cd vzlogger/libs/libsml git pull cd ../.. ./install.sh libsml
Falls das Script nicht zu den Gegenheiten passt nachfolgend die einzelnen Schritte.
Libjson sollte direkt aus den Quellen übersetzt werden.
git clone -b json-c-0.12 https://github.com/json-c/json-c cd json-c sh autogen.sh ./configure make sudo make install
Zurück zum Ausgangsverzeichnis:
cd ..
git clone https://github.com/volkszaehler/libsml.git cd libsml sudo make
Libsml bietet kein 'make install' Vorgabe.
Man macht das manuell in dem man die folgenden Dateien und Verzeichnisse kopiert:
sudo cp sml/lib/libsml.* /usr/lib/ sudo cp -R sml/include/* /usr/include/ sudo cp sml.pc /usr/lib/pkgconfig/
Zurück zum Ausgangsverzeichnis:
cd ..
git clone https://github.com/volkszaehler/vzlogger.git cd vzlogger mkdir build cd build cmake .. make sudo make install
Falls es Probleme mit libsml gibt statt nur „cmake ..“ versuchen:
cmake .. -DSML_HOME=/path/to/libsml
Zurück zum Ausgangsverzeichnis:
cd ../..
OMS erfordert openssl und libmbus >=0.8.0 z.B. von https://github.com/rscada/libmbus.git
git clone https://github.com/rscada/libmbus.git cd libmbus ./build.sh sudo make install
Zurück zum Ausgangsverzeichnis:
cd ..
Nun sollte vzlogger als Systemdienst eingerichtet werden. Details dazu weiter unten.
Falls der vzlogger aktualisiert werden soll ist wie folgt vorzugehen:
cd vzlogger git pull cd build cmake -DBUILD_TEST=off .. make sudo systemctl stop vzlogger sudo make install sudo systemctl start vzlogger
Systemd dient dazu Hintergrunddienste einzurichten und zu verwalten.
Das Installationsscript fragt ob es ein „systemd unit file“ für dich installieren soll. Falls dein System systemd nutzt (Debian „Jessie“) solltest du mit yes (ja) bestätigen.
Falls du es selbst kopieren oder editieren willst findest du ein Beispiel unter: ./etc/vzlogger.service
sudo cp ./etc/vzlogger.service /etc/systemd/system/vzlogger.service
Den vzlogger kann man dann mit dem üblichen systemctl Kommando starten, stoppen und prüfen:
sudo systemctl start vzlogger systemctl status vzlogger sudo systemctl stop vzlogger
Wenn der vzlogger zufriedenstellend läuft und bei jedem boot als Hintergrunddienst gestartet werden soll:
sudo systemctl enable vzlogger
Um ein Debian Paket zu erzeugen:
cpack -G DEB
cmake -DCMAKE_TOOLCHAIN_FILE=/path/to/toolchainfile /path/to/vzlogger_sources