da fehlt noch einiges:
zunächst mal apt install pkg-config
Wenn wir wissen was alles fehlt ergänze ich es im README, diese Stelle hab ich dort schon seit einigen Versionen nicht mehr aktualisiert.
Es gibt 4.961 Antworten in diesem Thema, welches 1.493.556 mal aufgerufen wurde. Der letzte Beitrag () ist von ranseyer.
da fehlt noch einiges:
zunächst mal apt install pkg-config
Wenn wir wissen was alles fehlt ergänze ich es im README, diese Stelle hab ich dort schon seit einigen Versionen nicht mehr aktualisiert.
Ja das hab ich alles, mit Ausnahme des erwähnten "Es heißt dass "libmariadbclient-dev" nicht verfügbar ist und durch "libmariadb-dev-compat" und "libmariadb-dev" ersetzt wurde. Diese beiden habe ich dann installiert."
Das bauen der "libwebsockets" hat nach deiner Anleitung weiter oben auch geklappt.
Was fange ich mit "pkg-config" an? Installiert isses jetzt.
dann wieder make ... und Meldungen posten
make clean all
root@debian:/usr/src/linux-p4d# make clean all
rm -f */*.o *.o core* *~ */*~ lib/t *.jpg
rm -f p4d dbchart p4 p4d-0.7.6.tgz
rm -f com2
g++ -c -I/usr/include/libxml2 -ggdb -O0 -pthread -fPIC -std=c++17 -Wall -Wreturn-type -Wformat -pedantic -Wunused-variable -Wunused-label -Wunused-value -Wunused-function -Wno-long-long -Wno-unused-parameter -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -Wno-psabi -I/usr/include/mariadb -I/usr/include/mariadb/mysql -D_GNU_SOURCE -DTARGET='"p4d"' -DLOG_PREFIX='""' -DUSEUUID -DUSEMD5 -DUSELIBXML -DUSELIBARCHIVE -DUSEJSON -DUSEGUNZIP -DUSEDB -DBIN_PATH='"/usr/local/bin"' -D_GNU_SOURCE -DTARGET='"p4d"' -DDEAMON=P4d -DGIT_REV='"a95ad25"' -o lib/db.o lib/db.c
g++ -c -I/usr/include/libxml2 -ggdb -O0 -pthread -fPIC -std=c++17 -Wall -Wreturn-type -Wformat -pedantic -Wunused-variable -Wunused-label -Wunused-value -Wunused-function -Wno-long-long -Wno-unused-parameter -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -Wno-psabi -I/usr/include/mariadb -I/usr/include/mariadb/mysql -D_GNU_SOURCE -DTARGET='"p4d"' -DLOG_PREFIX='""' -DUSEUUID -DUSEMD5 -DUSELIBXML -DUSELIBARCHIVE -DUSEJSON -DUSEGUNZIP -DUSEDB -DBIN_PATH='"/usr/local/bin"' -D_GNU_SOURCE -DTARGET='"p4d"' -DDEAMON=P4d -DGIT_REV='"a95ad25"' -o lib/dbdict.o lib/dbdict.c
g++ -c -I/usr/include/libxml2 -ggdb -O0 -pthread -fPIC -std=c++17 -Wall -Wreturn-type -Wformat -pedantic -Wunused-variable -Wunused-label -Wunused-value -Wunused-function -Wno-long-long -Wno-unused-parameter -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -Wno-psabi -I/usr/include/mariadb -I/usr/include/mariadb/mysql -D_GNU_SOURCE -DTARGET='"p4d"' -DLOG_PREFIX='""' -DUSEUUID -DUSEMD5 -DUSELIBXML -DUSELIBARCHIVE -DUSEJSON -DUSEGUNZIP -DUSEDB -DBIN_PATH='"/usr/local/bin"' -D_GNU_SOURCE -DTARGET='"p4d"' -DDEAMON=P4d -DGIT_REV='"a95ad25"' -o lib/common.o lib/common.c
g++ -c -I/usr/include/libxml2 -ggdb -O0 -pthread -fPIC -std=c++17 -Wall -Wreturn-type -Wformat -pedantic -Wunused-variable -Wunused-label -Wunused-value -Wunused-function -Wno-long-long -Wno-unused-parameter -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -Wno-psabi -I/usr/include/mariadb -I/usr/include/mariadb/mysql -D_GNU_SOURCE -DTARGET='"p4d"' -DLOG_PREFIX='""' -DUSEUUID -DUSEMD5 -DUSELIBXML -DUSELIBARCHIVE -DUSEJSON -DUSEGUNZIP -DUSEDB -DBIN_PATH='"/usr/local/bin"' -D_GNU_SOURCE -DTARGET='"p4d"' -DDEAMON=P4d -DGIT_REV='"a95ad25"' -o lib/serial.o lib/serial.c
g++ -c -I/usr/include/libxml2 -ggdb -O0 -pthread -fPIC -std=c++17 -Wall -Wreturn-type -Wformat -pedantic -Wunused-variable -Wunused-label -Wunused-value -Wunused-function -Wno-long-long -Wno-unused-parameter -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -Wno-psabi -I/usr/include/mariadb -I/usr/include/mariadb/mysql -D_GNU_SOURCE -DTARGET='"p4d"' -DLOG_PREFIX='""' -DUSEUUID -DUSEMD5 -DUSELIBXML -DUSELIBARCHIVE -DUSEJSON -DUSEGUNZIP -DUSEDB -DBIN_PATH='"/usr/local/bin"' -D_GNU_SOURCE -DTARGET='"p4d"' -DDEAMON=P4d -DGIT_REV='"a95ad25"' -o lib/thread.o lib/thread.c
g++ -c -I/usr/include/libxml2 -ggdb -O0 -pthread -fPIC -std=c++17 -Wall -Wreturn-type -Wformat -pedantic -Wunused-variable -Wunused-label -Wunused-value -Wunused-function -Wno-long-long -Wno-unused-parameter -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -Wno-psabi -I/usr/include/mariadb -I/usr/include/mariadb/mysql -D_GNU_SOURCE -DTARGET='"p4d"' -DLOG_PREFIX='""' -DUSEUUID -DUSEMD5 -DUSELIBXML -DUSELIBARCHIVE -DUSEJSON -DUSEGUNZIP -DUSEDB -DBIN_PATH='"/usr/local/bin"' -D_GNU_SOURCE -DTARGET='"p4d"' -DDEAMON=P4d -DGIT_REV='"a95ad25"' -o lib/curl.o lib/curl.c
g++ -c -I/usr/include/libxml2 -ggdb -O0 -pthread -fPIC -std=c++17 -Wall -Wreturn-type -Wformat -pedantic -Wunused-variable -Wunused-label -Wunused-value -Wunused-function -Wno-long-long -Wno-unused-parameter -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -Wno-psabi -I/usr/include/mariadb -I/usr/include/mariadb/mysql -D_GNU_SOURCE -DTARGET='"p4d"' -DLOG_PREFIX='""' -DUSEUUID -DUSEMD5 -DUSELIBXML -DUSELIBARCHIVE -DUSEJSON -DUSEGUNZIP -DUSEDB -DBIN_PATH='"/usr/local/bin"' -D_GNU_SOURCE -DTARGET='"p4d"' -DDEAMON=P4d -DGIT_REV='"a95ad25"' -o lib/json.o lib/json.c
g++ -c -I/usr/include/libxml2 -ggdb -O0 -pthread -fPIC -std=c++17 -Wall -Wreturn-type -Wformat -pedantic -Wunused-variable -Wunused-label -Wunused-value -Wunused-function -Wno-long-long -Wno-unused-parameter -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -Wno-psabi -I/usr/include/mariadb -I/usr/include/mariadb/mysql -D_GNU_SOURCE -DTARGET='"p4d"' -DLOG_PREFIX='""' -DUSEUUID -DUSEMD5 -DUSELIBXML -DUSELIBARCHIVE -DUSEJSON -DUSEGUNZIP -DUSEDB -DBIN_PATH='"/usr/local/bin"' -D_GNU_SOURCE -DTARGET='"p4d"' -DDEAMON=P4d -DGIT_REV='"a95ad25"' -o lib/mqtt.o lib/mqtt.c
g++ -c -I/usr/include/libxml2 -ggdb -O0 -pthread -fPIC -std=c++17 -Wall -Wreturn-type -Wformat -pedantic -Wunused-variable -Wunused-label -Wunused-value -Wunused-function -Wno-long-long -Wno-unused-parameter -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -Wno-psabi -I/usr/include/mariadb -I/usr/include/mariadb/mysql -D_GNU_SOURCE -DTARGET='"p4d"' -DLOG_PREFIX='""' -DUSEUUID -DUSEMD5 -DUSELIBXML -DUSELIBARCHIVE -DUSEJSON -DUSEGUNZIP -DUSEDB -DBIN_PATH='"/usr/local/bin"' -D_GNU_SOURCE -DTARGET='"p4d"' -DDEAMON=P4d -DGIT_REV='"a95ad25"' -o lib/mqtt_c.o lib/mqtt_c.c
g++ -c -I/usr/include/libxml2 -ggdb -O0 -pthread -fPIC -std=c++17 -Wall -Wreturn-type -Wformat -pedantic -Wunused-variable -Wunused-label -Wunused-value -Wunused-function -Wno-long-long -Wno-unused-parameter -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -Wno-psabi -I/usr/include/mariadb -I/usr/include/mariadb/mysql -D_GNU_SOURCE -DTARGET='"p4d"' -DLOG_PREFIX='""' -DUSEUUID -DUSEMD5 -DUSELIBXML -DUSELIBARCHIVE -DUSEJSON -DUSEGUNZIP -DUSEDB -DBIN_PATH='"/usr/local/bin"' -D_GNU_SOURCE -DTARGET='"p4d"' -DDEAMON=P4d -DGIT_REV='"a95ad25"' -o lib/mqtt_pal.o lib/mqtt_pal.c
g++ -c -I/usr/include/libxml2 -ggdb -O0 -pthread -fPIC -std=c++17 -Wall -Wreturn-type -Wformat -pedantic -Wunused-variable -Wunused-label -Wunused-value -Wunused-function -Wno-long-long -Wno-unused-parameter -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -Wno-psabi -I/usr/include/mariadb -I/usr/include/mariadb/mysql -D_GNU_SOURCE -DTARGET='"p4d"' -DLOG_PREFIX='""' -DUSEUUID -DUSEMD5 -DUSELIBXML -DUSELIBARCHIVE -DUSEJSON -DUSEGUNZIP -DUSEDB -DBIN_PATH='"/usr/local/bin"' -D_GNU_SOURCE -DTARGET='"p4d"' -DDEAMON=P4d -DGIT_REV='"a95ad25"' -o main.o main.c
g++ -c -I/usr/include/libxml2 -ggdb -O0 -pthread -fPIC -std=c++17 -Wall -Wreturn-type -Wformat -pedantic -Wunused-variable -Wunused-label -Wunused-value -Wunused-function -Wno-long-long -Wno-unused-parameter -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -Wno-psabi -I/usr/include/mariadb -I/usr/include/mariadb/mysql -D_GNU_SOURCE -DTARGET='"p4d"' -DLOG_PREFIX='""' -DUSEUUID -DUSEMD5 -DUSELIBXML -DUSELIBARCHIVE -DUSEJSON -DUSEGUNZIP -DUSEDB -DBIN_PATH='"/usr/local/bin"' -D_GNU_SOURCE -DTARGET='"p4d"' -DDEAMON=P4d -DGIT_REV='"a95ad25"' -o p4io.o p4io.c
g++ -c -I/usr/include/libxml2 -ggdb -O0 -pthread -fPIC -std=c++17 -Wall -Wreturn-type -Wformat -pedantic -Wunused-variable -Wunused-label -Wunused-value -Wunused-function -Wno-long-long -Wno-unused-parameter -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -Wno-psabi -I/usr/include/mariadb -I/usr/include/mariadb/mysql -D_GNU_SOURCE -DTARGET='"p4d"' -DLOG_PREFIX='""' -DUSEUUID -DUSEMD5 -DUSELIBXML -DUSELIBARCHIVE -DUSEJSON -DUSEGUNZIP -DUSEDB -DBIN_PATH='"/usr/local/bin"' -D_GNU_SOURCE -DTARGET='"p4d"' -DDEAMON=P4d -DGIT_REV='"a95ad25"' -o service.o service.c
g++ -c -I/usr/include/libxml2 -ggdb -O0 -pthread -fPIC -std=c++17 -Wall -Wreturn-type -Wformat -pedantic -Wunused-variable -Wunused-label -Wunused-value -Wunused-function -Wno-long-long -Wno-unused-parameter -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -Wno-psabi -I/usr/include/mariadb -I/usr/include/mariadb/mysql -D_GNU_SOURCE -DTARGET='"p4d"' -DLOG_PREFIX='""' -DUSEUUID -DUSEMD5 -DUSELIBXML -DUSELIBARCHIVE -DUSEJSON -DUSEGUNZIP -DUSEDB -DBIN_PATH='"/usr/local/bin"' -D_GNU_SOURCE -DTARGET='"p4d"' -DDEAMON=P4d -DGIT_REV='"a95ad25"' -o w1.o w1.c
g++ -c -I/usr/include/libxml2 -ggdb -O0 -pthread -fPIC -std=c++17 -Wall -Wreturn-type -Wformat -pedantic -Wunused-variable -Wunused-label -Wunused-value -Wunused-function -Wno-long-long -Wno-unused-parameter -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -Wno-psabi -I/usr/include/mariadb -I/usr/include/mariadb/mysql -D_GNU_SOURCE -DTARGET='"p4d"' -DLOG_PREFIX='""' -DUSEUUID -DUSEMD5 -DUSELIBXML -DUSELIBARCHIVE -DUSEJSON -DUSEGUNZIP -DUSEDB -DBIN_PATH='"/usr/local/bin"' -D_GNU_SOURCE -DTARGET='"p4d"' -DDEAMON=P4d -DGIT_REV='"a95ad25"' -o hass.o hass.c
g++ -c -I/usr/include/libxml2 -ggdb -O0 -pthread -fPIC -std=c++17 -Wall -Wreturn-type -Wformat -pedantic -Wunused-variable -Wunused-label -Wunused-value -Wunused-function -Wno-long-long -Wno-unused-parameter -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -Wno-psabi -I/usr/include/mariadb -I/usr/include/mariadb/mysql -D_GNU_SOURCE -DTARGET='"p4d"' -DLOG_PREFIX='""' -DUSEUUID -DUSEMD5 -DUSELIBXML -DUSELIBARCHIVE -DUSEJSON -DUSEGUNZIP -DUSEDB -DBIN_PATH='"/usr/local/bin"' -D_GNU_SOURCE -DTARGET='"p4d"' -DDEAMON=P4d -DGIT_REV='"a95ad25"' -o websock.o websock.c
g++ -c -I/usr/include/libxml2 -ggdb -O0 -pthread -fPIC -std=c++17 -Wall -Wreturn-type -Wformat -pedantic -Wunused-variable -Wunused-label -Wunused-value -Wunused-function -Wno-long-long -Wno-unused-parameter -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -Wno-psabi -I/usr/include/mariadb -I/usr/include/mariadb/mysql -D_GNU_SOURCE -DTARGET='"p4d"' -DLOG_PREFIX='""' -DUSEUUID -DUSEMD5 -DUSELIBXML -DUSELIBARCHIVE -DUSEJSON -DUSEGUNZIP -DUSEDB -DBIN_PATH='"/usr/local/bin"' -D_GNU_SOURCE -DTARGET='"p4d"' -DDEAMON=P4d -DGIT_REV='"a95ad25"' -o wsactions.o wsactions.c
g++ -c -I/usr/include/libxml2 -ggdb -O0 -pthread -fPIC -std=c++17 -Wall -Wreturn-type -Wformat -pedantic -Wunused-variable -Wunused-label -Wunused-value -Wunused-function -Wno-long-long -Wno-unused-parameter -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -Wno-psabi -I/usr/include/mariadb -I/usr/include/mariadb/mysql -D_GNU_SOURCE -DTARGET='"p4d"' -DLOG_PREFIX='""' -DUSEUUID -DUSEMD5 -DUSELIBXML -DUSELIBARCHIVE -DUSEJSON -DUSEGUNZIP -DUSEDB -DBIN_PATH='"/usr/local/bin"' -D_GNU_SOURCE -DTARGET='"p4d"' -DDEAMON=P4d -DGIT_REV='"a95ad25"' -o p4d.o p4d.c
g++ lib/db.o lib/dbdict.o lib/common.o lib/serial.o lib/thread.o lib/curl.o lib/json.o lib/mqtt.o lib/mqtt_c.o lib/mqtt_pal.o main.o p4io.o service.o w1.o hass.o websock.o wsactions.o p4d.o -lxml2 -L/usr/local/lib -l:libwebsockets.a -ljansson -lssl -lz -L/usr/lib/x86_64-linux-gnu/ -lmariadb -lrt -lcrypto -lcurl -lpthread -luuid -o p4d
g++ -c -I/usr/include/libxml2 -ggdb -O0 -pthread -fPIC -std=c++17 -Wall -Wreturn-type -Wformat -pedantic -Wunused-variable -Wunused-label -Wunused-value -Wunused-function -Wno-long-long -Wno-unused-parameter -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -Wno-psabi -I/usr/include/mariadb -I/usr/include/mariadb/mysql -D_GNU_SOURCE -DTARGET='"p4d"' -DLOG_PREFIX='""' -DUSEUUID -DUSEMD5 -DUSELIBXML -DUSELIBARCHIVE -DUSEJSON -DUSEGUNZIP -DUSEDB -DBIN_PATH='"/usr/local/bin"' -D_GNU_SOURCE -DTARGET='"p4d"' -DDEAMON=P4d -DGIT_REV='"a95ad25"' -o p4cmd.o p4cmd.c
g++ p4cmd.o p4io.o lib/serial.o service.o w1.o lib/common.o -lxml2 -L/usr/local/lib -l:libwebsockets.a -ljansson -lssl -lz -L/usr/lib/x86_64-linux-gnu/ -lmariadb -lrt -lcrypto -lcurl -lpthread -luuid -o p4
g++ -c -I/usr/include/libxml2 -ggdb -O0 -pthread -fPIC -std=c++17 -Wall -Wreturn-type -Wformat -pedantic -Wunused-variable -Wunused-label -Wunused-value -Wunused-function -Wno-long-long -Wno-unused-parameter -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -Wno-psabi -I/usr/include/mariadb -I/usr/include/mariadb/mysql -D_GNU_SOURCE -DTARGET='"p4d"' -DLOG_PREFIX='""' -DUSEUUID -DUSEMD5 -DUSELIBXML -DUSELIBARCHIVE -DUSEJSON -DUSEGUNZIP -DUSEDB -DBIN_PATH='"/usr/local/bin"' -D_GNU_SOURCE -DTARGET='"p4d"' -DDEAMON=P4d -DGIT_REV='"a95ad25"' -o chart.o chart.c
g++ lib/db.o lib/dbdict.o lib/common.o lib/serial.o lib/thread.o lib/curl.o lib/json.o chart.o -lxml2 -L/usr/local/lib -l:libwebsockets.a -ljansson -lssl -lz -L/usr/lib/x86_64-linux-gnu/ -lmariadb -lrt -lcrypto -lcurl -lpthread -luuid -o dbchart
Alles anzeigen
make install
root@debian:/usr/src/linux-p4d# make install
if ! test -d /etc/p4d; then \
mkdir -p /etc/p4d; \
mkdir -p /etc/p4d/scripts.d; \
chmod a+rx /etc/p4d; \
fi
if ! test -f /etc/p4d/p4d.conf; then \
install --mode=644 -D ./configs/p4d.conf /etc/p4d/; \
fi
mkdir -p /etc/rsyslog.d
mkdir -p /etc/logrotate.d
install --mode=644 -D ./configs/p4d.dat /etc/p4d/;
if ! test -d /usr/local/bin; then \
mkdir -p "/usr/local/bin"; \
chmod a+rx /usr/local/bin; \
fi
install -D ./scripts/p4d-* /usr/local/bin/
install --mode=755 -D p4d /usr/local/bin
install --mode=755 -D p4 /usr/local/bin
make install-systemd
make[1]: Verzeichnis „/usr/src/linux-p4d“ wird betreten
cat contrib/p4d.service | sed s:"<BINDEST>":"/usr/local/bin":g | sed s:"<AFTER>":"":g | install --mode=644 -C -D /dev/stdin /etc/systemd/system/p4d.service
chmod a+r /etc/systemd/system/p4d.service
systemctl daemon-reload
systemctl enable p4d
Created symlink /etc/systemd/system/multi-user.target.wants/p4d.service → /etc/systemd/system/p4d.service.
make[1]: Verzeichnis „/usr/src/linux-p4d“ wird verlassen
(cd htdocs; make install)
make[1]: Verzeichnis „/usr/src/linux-p4d/htdocs“ wird betreten
if ! test -d /var/lib/p4; then \
mkdir -p "/var/lib/p4"; \
chmod a+rx "/var/lib/p4"; \
fi
if test -f "/var/lib/p4/stylesheet.css"; then \
cp -Pp "/var/lib/p4/stylesheet.css" "/var/lib/p4/stylesheet.css.save"; \
fi
cp -r ./* /var/lib/p4/
if test -f "/var/lib/p4/stylesheet.css.save"; then \
cp -Pp "/var/lib/p4/stylesheet.css.save" "/var/lib/p4/stylesheet.css"; \
fi
chmod -R a+r "/var/lib/p4"; \
chown -R www-data:www-data "/var/lib/p4"
make[1]: Verzeichnis „/usr/src/linux-p4d/htdocs“ wird verlassen
Alles anzeigen
schaut gut aus
Das heißt jetzt was? Du kannst in der Anleitung was anpassen? Was macht das "pkg-config"?
mit pkg-config frage ich bei make ab wie libs heißen, welche header dazu gehören etc.
Ja ich hab das Readme angepasst. Kommt dann mal mit der nächsten Änderung ins git. Ist ja nicht dringend bei die kompiliert es ja nun
Klingt interessant, denke ich, wenn man davon was versteht.
Riesen Dank auf jeden Fall. Der deamon läuft nun ohne Fehlereinträge im syslog.
Webinterface ist erreichbar und Datenaufzeichnung sollte laufen.
Hat sich auch optisch einiges getan. Hut ab!
Ich muss mich leider nochmal melden.
Vorab: auch funktionell hat sich einiges getan. Respekt! Echt grandios geworden der p4d.
Nun aber die eigentliche Frage:
Ich hatte heute Nacht zwei Stromausfälle, und hab eben gemerkt dass der p4d nicht automatisch mit debian startet.
Muss ich das über cron oder so selbst einrichten oder sollte der p4d eigentlich automatisch starten und ich hab noch irgendwo nen Fehler gemacht?
Ja soweit klar.
Wenn ich den p4d mit "systemctl enable p4d" starte läuft er. Wenn der Server hochfährt, wird p4d nicht automatisch mit gestartet. Das ist was ich meine.
Schick mal die Status Ausgabe
Das war der Status heute morgen nach den Stromausfällen:
root@debian:/# systemctl status p4d
● p4d.service - Deamon to capture data of the P4 pellet heating
Loaded: loaded (/etc/systemd/system/p4d.service; enabled; vendor preset: e>
Active: failed (Result: exit-code) since Sat 2021-06-05 10:41:11 CEST; 3mi>
Process: 517 ExecStart=/usr/local/bin/p4d (code=exited, status=0/SUCCESS)
Main PID: 518 (code=exited, status=1/FAILURE)
CPU: 54ms
Jun 05 10:41:11 debian systemd[1]: p4d.service: Failed with result 'exit-code'.
Jun 05 10:41:11 debian systemd[1]: p4d.service: Scheduled restart job, restart >
Jun 05 10:41:11 debian systemd[1]: Stopped Deamon to capture data of the P4 pel>
Jun 05 10:41:11 debian systemd[1]: p4d.service: Start request repeated too quic>
Jun 05 10:41:11 debian systemd[1]: p4d.service: Failed with result 'exit-code'.
Jun 05 10:41:11 debian systemd[1]: Failed to start Deamon to capture data of th>
Alles anzeigen
Das der Status nach dem manuellen Start mit systemctl start p4d:
root@debian:/# systemctl status p4d
● p4d.service - Deamon to capture data of the P4 pellet heating
Loaded: loaded (/etc/systemd/system/p4d.service; enabled; vendor preset: e>
Active: active (running) since Sat 2021-06-05 10:44:47 CEST; 2s ago
Process: 616 ExecStart=/usr/local/bin/p4d (code=exited, status=0/SUCCESS)
Main PID: 617 (p4d)
Tasks: 2 (limit: 2303)
Memory: 2.8M
CPU: 139ms
CGroup: /system.slice/p4d.service
└─617 /usr/local/bin/p4d
Jun 05 10:44:47 debian p4d[617]: Loaded (1) states [:5]
Jun 05 10:44:47 debian p4d[617]: Info: No sensor script '/etc/p4d/script-sensor>
Jun 05 10:44:47 debian p4d[617]: Info: No One-Wire sensors found, path '/sys/bu>
Jun 05 10:44:47 debian p4d[617]: WebSocket Listener at port (1111) established
Jun 05 10:44:47 debian p4d[617]: using libwebsocket version '4.2.99-v4.2.0-47-g>
Jun 05 10:44:47 debian p4d[617]: Scheduled aggregation for '06.06.2021 01:00:00>
Jun 05 10:44:47 debian p4d[617]: :: started syncThread
Jun 05 10:44:47 debian p4d[617]: Time drift is -7196 seconds
Jun 05 10:44:47 debian p4d[617]: Time drift is -7196 seconds, syncing now
Jun 05 10:44:47 debian p4d[617]: Time sync succeeded
Alles anzeigen
Und das hier der Status nach systemctl enable p4d
root@debian:/# systemctl status p4d
● p4d.service - Deamon to capture data of the P4 pellet heating
Loaded: loaded (/etc/systemd/system/p4d.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2021-06-05 10:44:47 CEST; 1h 7min ago
Main PID: 617 (p4d)
Tasks: 2 (limit: 2303)
Memory: 4.9M
CPU: 31.165s
CGroup: /system.slice/p4d.service
└─617 /usr/local/bin/p4d
Jun 05 11:49:57 debian p4d[617]: Updating error list
Jun 05 11:49:59 debian p4d[617]: Updating error list done in 1622ms
Jun 05 11:50:58 debian p4d[617]: Processed 37 samples, state is 'Feuer Aus'
Jun 05 11:50:58 debian p4d[617]: client 0xffffffffffffffff not found! [{"event": "all", "object": []}]
Jun 05 11:50:58 debian p4d[617]: Updating error list
Jun 05 11:50:59 debian p4d[617]: Updating error list done in 1709ms
Jun 05 11:51:58 debian p4d[617]: Processed 37 samples, state is 'Feuer Aus'
Jun 05 11:51:58 debian p4d[617]: client 0xffffffffffffffff not found! [{"event": "all", "object": []}]
Jun 05 11:51:58 debian p4d[617]: Updating error list
Jun 05 11:51:59 debian p4d[617]: Updating error list done in 1701ms
Alles anzeigen
Eventuell hast Du das gleiche Problem, was ich anfangs auch hatte. Der p4d startet zu früh und kann sich nicht zur MariaDB verbinden, weil die noch nicht läuft. Deshalb habe ich bei mir "/etc/systemd/system/p4d.service" bearbeitet und die MariaDB als Bedingung eingetragen.
vorher:
After = network.target
nachher:
After = network.target mariadb.service
Das Problem sollte aber in "/var/log/p4d.log" ersichtlich sein. Da stehen dann beim Starten Fehlermeldungen, daß er die Datenbank nicht erreichen kann. Nach ein paar Versuchen gibt der p4d auf.
Super Tipp.
Laut log startet der p4d, aber bekommt wie du sagst keine Verbindung zur Datenbank.
Ich werd mariadb.service hinzu fügen. Dann sollte es laufen.
Besten Dank.
Hallo
Leider ist mir meine SD kaputt gegangen komme aber auf die defekte Sd noch mit Ubuntu drauf...
Kann ich irgendwie meine Einstellungen config von p4d von der alten SD runterladen und verwenden und auf die neue SD kopieren in den Ordner p4d?
Welche Daten wäre den das genau???
Leider habe ich kein Backup der alten SD gemacht zu meiner Schande.....
Ich habe letztens meinen Server neu aufgesetzt und dabei einfach die Datenbanken von der alten Festplatte auf die neue SSD kopiert.
Unter "/etc/p4d" liegen ein paar Konfigurationsdateien und eventuell das Zertifikat + private Key für den HTTPS Service des p4d. Diese solltest Du übertragen, wenn Du sie nicht neu erstellen willst.
Die Datenbanken der MariaDB befinden sich in "/var/lib/mysql". Du könntest damit folgendes tun:
service p4d stop
service mariadb stop
mv /var/lib/mysql /var/lib/mysql.old
Dann kopierst Du den alten "mysql" Ordner nach "/var/lib". Anschließend mußt Du noch den Eigentümer prüfen. "mysql" und alle Dateien und Ordner darin müssen dem Benutzer/Gruppe "mysql" gehören.
chown -R mysql:mysql /var/lib/mysql
Dann kannst Du die MariaDB und p4d wieder starten und alle Einstellungen und historischen Daten sollten vorhanden sein, auch eventuell eingerichtete Benutzer für den Zugriff auf die Datenbanken.
Hallo,
Frage zu einem Problem.
Ich habe bisher immer einen USB-Seriell-Konverter mit Prolific PL2303 Chipsatz genutzt.
Heute habe ich einen USB-Seriell-Konverter mit FTDI FT232RL Chipsatz erhalten
Der alte Konverter wurde abgesteckt.
Danach wurde der neue Konverter angesteckt.
Der alte Konverter verbindet sich als ttyUSB0.
Der neue Konverter verbindet sich als ttyUSB1.
Ist es möglich, dass sich auch der neue Konverter als ttyUSB0 verbindet?
Wenn ja, wie macht man das?
Gruß
meute
Die ttyUSB Einträge werden dynamisch erzeugt, soweit ich weiß. Wenn Du den alten Adapter abgezogen und dann gleich den neuen angesteckt hast, dann kann es sein, daß der alte Eintrag noch nicht gelöscht war und somit der neue Adapter eine neue ID bekommen hat. Ein Reboot sollte das beheben.
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!