Benutzer-Werkzeuge

Webseiten-Werkzeuge


software:controller:vzlogger:installation_cpp-version

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
software:controller:vzlogger:installation_cpp-version [2019/05/28 22:03] zugschlussoftware:controller:vzlogger:installation_cpp-version [2019/09/16 19:19] – vzlogger unter anderem Benutzer laufen lassen joekokker
Zeile 6: Zeile 6:
 Unser Repository: https://github.com/volkszaehler/vzlogger\\ Unser Repository: https://github.com/volkszaehler/vzlogger\\
  
-Derzeit ist vzlogger und (auf manchen Plattformen) ein paar der Bibliotheken (Libraries) nur als Quellcode verfügbar. Diese müssen vor gebrauch kompiliert (übersetzt) werden.+Derzeit ist vzlogger und (auf manchen Plattformen) ein paar der Bibliotheken (Libraries) nur als Quellcode verfügbar. Diese müssen vor gebrauch kompiliert (übersetzt) werden. 
  
 Dies macht man praktischerweise in einem Verzeichnis, in dem dein "normaler" Nutzer Schreibrechte hat. Zum Beispiel dein Home-Verzeichnis: Dies macht man praktischerweise in einem Verzeichnis, in dem dein "normaler" Nutzer Schreibrechte hat. Zum Beispiel dein Home-Verzeichnis:
Zeile 33: Zeile 33:
   * libsasl2-dev   * libsasl2-dev
   * libuuid1   * libuuid1
-  * libsml (for sml meters)+  * libsml (für sml meters)
   * libmicrohttpd-dev >= 0.4.6 (for builtin "local" webserver)   * libmicrohttpd-dev >= 0.4.6 (for builtin "local" webserver)
   * libltdl >=0.8.0 (for OMS)   * libltdl >=0.8.0 (for OMS)
Zeile 85: Zeile 85:
 <note warning>Nur für geübte User! Wer wenig Erfahrung hat sollte den [[software:controller:vzlogger:installation_cpp-version#build_per_script|Build per Script]] machen.</note> <note warning>Nur für geübte User! Wer wenig Erfahrung hat sollte den [[software:controller:vzlogger:installation_cpp-version#build_per_script|Build per Script]] machen.</note>
  
-=== Building vzlogger ===+=== Building libsml === 
 +Debian bietet zwar ein Paket libsml-dev, das basiert aber leider auf veraltetem, nicht mehr gepflegtem Code. 
 +<code> 
 +git clone https://github.com/volkszaehler/libsml.git 
 +cd libsml 
 +sudo make 
 +</code> 
 +Libsml bietet kein 'make install' Vorgabe.
  
 +Man macht das manuell in dem man die folgenden Dateien und Verzeichnisse kopiert:
 +<code>
 +sudo cp sml/lib/libsml.* /usr/lib/
 +sudo cp -R sml/include/* /usr/include/
 +sudo cp sml.pc /usr/lib/pkgconfig/
 +</code>
 +
 +Zurück zum Ausgangsverzeichnis: <code>cd ..</code>
 +
 +=== Building vzlogger ===
 <code> <code>
 git clone https://github.com/volkszaehler/vzlogger.git git clone https://github.com/volkszaehler/vzlogger.git
Zeile 144: Zeile 161:
 Systemd dient dazu Hintergrunddienste einzurichten und zu verwalten. 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.+Das Installationsscript fragt ob es ein "systemd unit file" für dich installieren soll. Falls dein System systemd nutzt (ab Debian "Jessie") solltest du mit yes (ja) bestätigen.
  
 Falls du es selbst kopieren oder editieren willst findest du ein Beispiel unter: Falls du es selbst kopieren oder editieren willst findest du ein Beispiel unter:
Zeile 168: Zeile 185:
 sudo systemctl enable vzlogger sudo systemctl enable vzlogger
 </code> </code>
 +
 +
 +====== vzlogger als anderer Benutzer (z.B.: pi) ausführen ======
 +
 +=== Elevated privileges für vzlogger binary setzen ===
 +
 +Als User führt man folgenden Befehl aus, um ausreichend Rechte zum Ausführen des Programms zu erhalten:
 +<code>
 +sudo setcap 'cap_sys_nice=eip' /usr/local/bin/vzlogger
 +</code>
 +
 +=== Systemd Startscript anpassen ===
 +
 +Nun muss nur noch im Systemd Startscript (siehe anderer Paragraph) der User, mit welchem vzlogger ausgeführt werden soll, hinzugefügt bzw. geändert werden.
 +
 +Unter der Kategorie [Service] fügt man eine weitere Zeile hinzu. Für den User pi lautet es zum Beispiel:
 +
 +<code>
 +User=pi
 +</code>
 +
 +Nun muss der Service nur neu gestartet werden und vzlogger läuft unter dem angegebenden Benutzer:
 +
 +<code>
 +sudo systemctl daemon-reload
 +</code>
 +
 +=== Verwendung ===
 +
 +Das Betreiben von vzlogger unter einem anderen Benutzer als root ist vor allem bei der Verwendung vom Protokol "exec" von Bedeutung. vzlogger muss nicht für die Verwendung neu kompiliert werden. Aufrufe von "exec" werden nicht von root sondern vom verwendeten User gemacht.
  
  
software/controller/vzlogger/installation_cpp-version.txt · Zuletzt geändert: 2024/02/04 11:25 von jau