NEWS
[HowTo] USV: NUT Server auf SBC installieren
-
Anstatt meines Befehle aus dem letzten Post?
-
@David-G Nee, ergänzend.
-
Last login: Thu Nov 5 19:12:24 2020 from 192.168.99.55 pi@iobroker:~ $ systemctl get-default graphical.target pi@iobroker:~ $ sudo apt install nut Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig nut ist schon die neueste Version (2.7.4-8). 0 aktualisiert, 0 neu installiert, 0 zu entfernen und 5 nicht aktualisiert. pi@iobroker:~ $
-
sudo systemctl set-default multi-user.target sudo apt update sudo apt dist-upgrade sudo reboot
-
@David-G
Und eigentlich muss man jetzt wohl nur noch zwei Dateien mit Leben füllen:sudo nano /etc/nut/ups.conf sudo nano /etc/nut/nut.conf
Da muss aber ggf. jemand anderes mit einer USV weiterhelfen, das kann ich hier nicht mehr nachstellen.
-
Die Dateien hatte ich ja bereits befüllt.
Musste sogar noch eine mehr sein glaube ich.
Eigentlich haben die Befehle von oben doch nichts überschrieben oder?Jetzt ist alles durch und neugestartet.
Alles genau beim alten.
Die Ausgabe bei allen Befehlen von dir ist identisch.Nachdem ich die beidem Befehle zum starten manuell absetze klappt es.
-
@David-G Was steht denn in den beiden Dateien nun drin?
-
Benutzer für den Zugriff auf den Service und was für ein USB Treiber.
Das war es eigentlich.
Bin jetzt noch was weiter gekommen.
Wenn ich den Service sroppe und wieder starte läuft er.Scheinbar ist das Netzwerk noch nicht da, wenn er den Service laden möchte.
So scheint es hier zu sein.
reddit.com
Am Ende der Diskussion kommen sie zu dem Schluss mit dem Netzwerk. Aber keine Lösung.EDIT:
Weiter oben in dem Status vom Dienst steht ein Fehler mit "listen". So bin ich auf den Forenbeitrag gekommen.
Meine Fehlermeldung ist zwar minimal anders, jedoch hilft auch der Neustart vom Dienst.Man müsste ihn verzögert starten können.
EDIT 2:
Müsste ich den Service hier sehen?Last login: Thu Nov 5 20:40:24 2020 from 192.168.99.55 pi@iobroker:~ $ cd /etc/systemd/system pi@iobroker:/etc/systemd/system $ ls autologin@.service bluetooth.target.wants dbus-fi.w1.wpa_supplicant1.service dbus-org.bluez.service dbus-org.freedesktop.Avahi.service dbus-org.freedesktop.timesync1.service default.target dhcpcd5.service display-manager.service getty.target.wants getty@tty1.service.d graphical.target.wants halt.target.wants multi-user.target.wants mysqld.service mysql.service network-online.target.wants poweroff.target.wants rc-local.service.d reboot.target.wants remote-fs.target.wants sockets.target.wants sshd.service sysinit.target.wants syslog.service timers.target.wants pi@iobroker:/etc/systemd/system $
-
-
Wo finde ich die Datei denn?
Unter systemd/system finde ich nichts. -
@Thomas-Braun
Die Datei/etc/systemd/system/multi-user.target.wants/nut-server.service
sollte so aussehen:[Unit] Description=Network UPS Tools - power devices information server After=local-fs.target network.target nut-driver.service # We don't Require drivers to be successfully started! This would be # a change of behavior compared to init SysV, and could prevent from # accessing successfully started, at least to audit a system. Wants=nut-driver.service Before=nut-monitor.service [Service] ExecStart=/sbin/upsd Type=forking [Install] WantedBy=multi-user.target
Die Zeile
After=local-fs.target network.target nut-driver.service
sorgt dafür, dass der nut-server erst gestartet wird, wenn die drei genannten targets bzw. services bereits laufen. -
@David-G
In dem Link
https://www.kepstin.ca/blog/networkupstoolsnutandsystemd/schreibt der noch, das sein System das USB-System zu langsam startet und das nut darauf warten soll. Dafür schreibt der sich eine udev-Regel.
Now for the fun bit; handling starting up the nut driver for the USB UPS automatically once it’s been probed by the kernel. Ideally, we want to make this independent of things like which USB port it happens to be plugged into—this means creating a device file symlink with an appropriate stable name. Lets see what we have available…
Wenn deine USV per USB dran ist würde ich das mal versuchen.
Jedenfalls schreibt der am Ende:And now my UPS drivers reliably start, even when my computer can boot faster than USB can probe.
-
Die drei targets bzw. Dienste standen schon in der Datei.
Langsam finde ich das alles komisch.
Hab grad nochwas gefunden.
Wenn man nochExecStartPre=/bin/sleep 30
mit in den Service einträgt.
Und siehe da.
ES KLAPPT. DER SERVICE STARTET.@Thomas-Braun
Dank dir für die krasse Hilfe.
Das obwohl du den Kram garnicht nutzest.
Dein Lösungsansatz war es. Hab dann nur zufällig noch diesen Ansatz gesehen beim googlen.EDIT:
Grad das mit dem USB gesehen was du gefunden hast.
Das umgehe ich dann scheinbar mit den 30sek auf einen anderen Weg. -
@David-G
Oder so...
Gibt halt viele Wege nach Rom.Jetzt kannst du das ja fein zusammenfassen und @klassisch kann mal schauen, was er damit dann macht.
-
Werde ich machen.
Vermutlich kann er dann das mit der local.rc ganz raus nehmen weil der Service automatisch gestartet wird.
Und falls jemand Probleme hat diese 30sek einbauen.
In Kurzform.
Bevor ich was falsches schreibe. -
@David-G
Ja.
Zum ersten Teil wie man den nut-Server aufsetzt und konfigurieren muss kann ich nichts sagen, aber der Part mit der rc.local ist 'falsch' für ein systemd-befeuertes System. Das muss dann so gemacht werden wie wir das hier zusammengebastelt haben.Hast du mal getestet, ob das ganze Konstrukt auch bei einem Neustart so von alleine auf die Beine kommt?
-
Ja, hab ich.
Hab 3 mal einen reboot gemacht.
Mit einem shutdown teste ich es morgen mal noch.
Mein Rasparry ist ziemlich vergraben im Schrank, buddel ich dann morgen aus, um ihn dann wider einzuschalten zu können. -
@David-G Das darf keinen Unterschied machen.
-
Hey,
zusammen mit @Thomas-Braun (mehr Thomas^^), konnten wir mein Problem lösen.
Es gab 2 Ursachen.
-
Dienste über die local.rc zu starten ist nicht mehr die gängige Art und macht wohl öfters Probleme (so wie bei mir). Stattdessen wird systemd verwendet. Dort trägt sich NUT auch selber ein (Es wird eine Datei mit sämtlichen Informationen angelegt (Für mich zum vorstellen so ähnlich wie eine Verknüpfung im Autostartordner von Windows, nur viel umfangreicher.))
-
Mein Rasparry hat nicht alle nötigen Treiber geladen bzw. Geräte verbunden bevor der NUT Dienst startet.
Deshalb starte ich den Dienst jetzt verzögert. Dafür hab ich eine Zeile in der oben erwähnten Datei eingefügt.
Zum Öffnen der Datei:
sudo nano /etc/systemd/system/multi-user.target.wants/nut-server.service
Dort muss unter der Zeile [Service]
ExecStartPre=/bin/sleep 30
eingegeben werden. So wird der Dienst 30sek später gestartet. Weniger tut es vermutlich auch.
Dann am besten in der remote.rc die beiden eingefügten Zeilen wieder entfernen.
Ich hoffe das hilft anderen Usern mit dem selben Problem weiter.
Evtl. kannst du auf diesen Post verweisen, für User die auch Probleme haben.
Oder selber nochmal zusammenfassen. -
-
Herzlichen Dank Euch beiden! Klasse Arbeit! Habe den EIngangspost angepaßt. Könnte Ihr mal drüber schauen, ob es so paßt?