NEWS
Diskussion zum neuen Installation-Fixer
-
@bahnuhr nein leider nicht, da ich mangels multi host nicht nachvollziehen kann was genau schief geht. Welche Ausgabe bringt systemctl status iobroker nach iobroker start/stop jeweils?
-
Ja, das mit dem systemctl klappt.
Aber das "einfachere" halt nicht. -
@AlCalzone Hi, ich kenn mich leider mit GitHub Push Pull noch nicht so aus deshalb schreib ich es hier. Diesen Abschnitt im Installation-Fixer und Installer könnte man noch etwas erweitern dann erkennt er automatisch ob die capability CAP_NET_ADMIN gesetzt ist (getestet mit Debian):
Aktuell:
if running_in_docker; then setcap 'cap_net_bind_service,cap_net_raw+eip' $(eval readlink -f `which node`) echo "${yellow}Docker detected!" echo "If you have any adapters that need the CAP_NET_ADMIN capability," echo "you need to start the docker container with the option --cap-add=NET_ADMIN" echo "and manually add that capability to node${normal}" else $cmdline 'cap_net_admin,cap_net_bind_service,cap_net_raw+eip' $(eval readlink -f `which node`) fi
Erweitert:
if running_in_docker; then capabilities=$(grep ^CapBnd /proc/$$/status) if [[ $(capsh --decode=${capabilities:(-16)}) == *"cap_net_admin"* ]]; then $cmdline 'cap_net_admin,cap_net_bind_service,cap_net_raw+eip' $(eval readlink -f `which node`) else setcap 'cap_net_bind_service,cap_net_raw+eip' $(eval readlink -f `which node`) echo "${yellow}Docker detected!" echo "If you have any adapters that need the CAP_NET_ADMIN capability," echo "you need to start the docker container with the option --cap-add=NET_ADMIN" echo "and manually add that capability to node${normal}" fi else $cmdline 'cap_net_admin,cap_net_bind_service,cap_net_raw+eip' $(eval readlink -f `which node`) fi
-
Cool, danke. Ich nehm es auf.
-
Ich hatte immer ein Problem... IOBroker fing immer nach einigen Tagen an rum zu spinnen. Dies führte zum wahllosen automatischen restart von Adaptern.
Ich habe Wochenlang keine Lösung gefunden.
Einmal der fixer drüber laufen lassen und... tadaaaa.... seit 3 Woche rennt er durch
Danke an alle beteiligten!
-
HILFE!
hab den Fix durchgeführt, da mein BackitUp nicht mehr ging. Jetzt geht die Admin Oberfläche unter IP:8081 nicht mehr, wird nicht gefunden. Unter IP:8082 ist nur noch VIS und Editor aufgeführt, Admin fehlt. Was kann ich tun?
EDIT: Habe den Prozess Admin selbst gestartet mit
iobroker start admin
Man kommt jedoch nur noch über IP:8082 auf die Admin Oberfläche.Wie kann ich diese beiden Sachen beheben?
-
kann es sein, dass mit dem fixer bestimmte exec() befehle nicht mehr richtig funktionieren, da sie nicht mehr unter root laufen ?
was kann ich dagegen tun ?
-
@liv-in-sky was genau brauchst du denn?
-
hi
ich habe ein sript, welches mir alle processe anzeigt in einer tabelle - für vis
letztlich führt ein script einen exec() befehl mit smem aus und formatiert eine html tabelle - früher wurden mir alle processe angezeigt - ich konnte nach iobroker filtern usw. - jetzt komnmt nur das, was du im bild siehst
das sind die befehle, die jetzt nicht mehr anzeigen können, für was sie eigendlich gedacht waren:
- processe, die swappen
for proc in /proc/*; do cat $proc/smaps 2>/dev/null | awk '/Swap/{swap+=$2}END{print swap"\t'`readlink $proc/exe`'"}'; done | sort -n -r | awk '$1 > 0 {print "<tr><td class=\"getprocessswap1\" >"$1"kB  </td><td>"$2"</td></tr>"}'
- alle linux processe
smem -nkrt --sort=pss | awk '{print "<tr><td class=\"getprocessswap\">"$(NF-3)"    </td>", "<td class=\"getprocessmem\">"$(NF-1)" </td>", "<td class=\"getprocessmem\">"$(NF-2)"   </td>", "<td>"$1"   </td>", "<td>"$2"</td>","<td>" $3"</td></tr>"}' | sed '1i <table>' | sed '$a</table><p>PSS: Speicher mit anderen Shared --- USS: Speicher nur Process</p>'
-
@apollon77
hier noch die übersicht mit und ohne fixer:mit fixer-script
das problem ist so: der iobroker user sendet den exec() mit smem - dieser bringt dann folgendes zurück: nur die prozesse, die er angeschoben hat - aber trotz fixer ist der iobroker als root gestartet (da mit root installiert) - er zeigt also nicht mal die iobroker-dienste an ! sichtbar auf bild - der user ist "1001"
ohne fixer : smem wird über root ausgeführt - dieser zeigt alle dienste an! user ist "0"
hier das bild ohne fixer -
@liv-in-sky Ich habe hier jemand anderem beschrieben, wie er
scp
für seine Zwecke erlauben kann:
https://forum.iobroker.net/topic/9405/offen-root-rechte-für-exec/32Das kannst du sicher adaptieren, um die Befehle hinzuzufügen, die für dich relevant sind.
Am besten postest du hier noch die Liste der fehlenden Befehle, vielleicht kann man den ein oder anderen auch standardmäßig erlauben. -
hi @AlCalzone
mittlerweile habe ich wieder das system ohne fixer script am laufen - ich habe aber mal das ganze unter einem anderen user getestet - das hat funktioniert
vielen dank für diese info
mein system hat aber eh ein seltsames verhalten (letztes mal wolte ich den admin adapter updaten (über den admin) - danach ging der admin nicht mehr - dann nochmals über die console - ging dann wieder aber dafür funktionierte der sonoff und tr-064 adapter nicht mehr - auch der linux-dgram mußte in eine bestimmtes verzeichnis (ich glaube es war: /node_modules/winston) installiert werden, da sonst npm rebuild abbrach, ...)
ich bin daher eh am überlegen ob ich das ganze mal neu installiere - Stabilostick beschreibt dies als weg -c bei der node installation (Reset aller Module in node_modules)( https://forum.iobroker.net/topic/22867/how-to-node-js-für-iobroker-richtig-updaten/2?page=1 )
sollte ich dies machen, werde ich auch nochmal über das fixer script nachdenken - bei gelegenheit werde ich via proxmox die vm mit dem fixer nochmal laden und deinen vorschlag dort nochmal testen - wird sicher auch dort funktioniereneine liste mit befehlen, kann ich dir leider nicht geben, da ich nicht weiß, was ich sonst noch so abfragen werde. der smem befehl muss eh installiert werden und deshalb macht es vielleicht keinen sinn, den standardmäßig zu zulassen.
bei diesem befehl musste ich etwas tricksen , mit sudo bekomm ich das nicht hin
for proc in /proc/*; do cat $proc/smaps 2>/dev/null | awk '/Swap/{swap+=$2}END{print swap"\t'`readlink $proc/exe`'"}'; done | sort -n -r | awk '$1 > 0 {print "<tr><td class=\"getprocessswap1\" >"$1"kB  </td><td>"$2"</td></tr>"}'
hab die for schleife in ein bashscript gepackt und rufe das mit sudo auf
sudo swapfind | sort -n -r | awk '$1 >= 0 {print "<tr><td class=\"getprocessswap1\" >"$1"kB  </td><td>"$2"</td></tr>"}'
-
@liv-in-sky sagte in Diskussion zum neuen Installation-Fixer:
hab die for schleife in ein bashscript gepackt und rufe das mit sudo auf
Das wäre auch der einfachste Weg, mehrere Befehle auszuführen. Ein Bash-Skript anlegen und dessen Aufruf in der sudoers-Datei erlauben.
-
@AlCalzone genau so habe ich es gemacht
nochmals danke - ich lade gerade die vm mit dem fixer. werd es dort nochmal testen und bescheid geben
sollte man dies nicht auch in den fixer thread integrieren ? als warnung/info oder so
https://forum.iobroker.net/topic/20211/iobroker-installation-fixer-beta-verfügbar
-
@AlCalzone hab die vm geladen - müßte dort nicht ein eintrag für iobroker im sudoers file ?
ich dacht eder fixer macht das ?
habe es gefunden - vergiß die frage !
-
also der befehl kann genutzt werden mit dem fixer script
man muss aber "sudo -u root smem ....." angeben, sonst sieht man nur die processe , die iobroker startet - ich wollte ja eine übersicht von allen processen
der zweite funktioniert auch "sudo -u root swapfind | sort -n -r | awk..... "hab das hinzugefügt (sudoers.d)- (werd ich später noch in eigene files schreiben )
-
@liv-in-sky wäre es nicht für andere User hilfreicher die vollständigen Kommandos hinzuschreiben und nicht nur Fragmente?!
-
@BBTown die befehle sind alle ausgeschrieben (2 mal) weiter oben -
es geht ja eigentlich nicht um meine speziellen befehle sondern wie man das alles integriert, fasls man befehle nutzt, die nicht standardmäßig im fixer integriert sind
bei mir geht es um smem und ein eigenes bashscript (swapfind)
falls dich die befehle und das eigentliche script interessieren - gibt es hier - muss ich aber noch an den fixer angleichen
/verbessern, da ich vergessen habe, das andere nicht unbedingt mit dem root user arbeiten - ich weiß auch noch nicht, ob das script nach einem angleich an den fixer für user ohne fixer noch laufen
https://forum.iobroker.net/topic/22845/vorlage-script-prozess-und-swap-html-tabelle-für-vis-nur-linux -
Diese Meldung behebt der Fixer nicht.
iobroker 2019-07-10 07:13:23.970 info find: ‘/tmp/ssh-3sdiMFS296YP’: Keine Berechtigung iobroker 2019-07-10 07:13:23.970 info find: ‘/tmp/systemd-private-4e509010d4d44af58ac4c1ad9e34db2e-systemd-resolved.service-XelPq9’: Keine Berechtigung iobroker 2019-07-10 07:13:23.970 info find: ‘/tmp/systemd-private-4e509010d4d44af58ac4c1ad9e34db2e-rtkit-daemon.service-4aQkSv’: Keine Berechtigung iobroker 2019-07-10 07:13:23.970 info find: ‘/tmp/systemd-private-4e509010d4d44af58ac4c1ad9e34db2e-bolt.service-Otu0ss’: Keine Berechtigung iobroker 2019-07-10 07:13:23.970 info find: ‘/tmp/systemd-private-4e509010d4d44af58ac4c1ad9e34db2e-ModemManager.service-GN9IPN’: Keine Berechtigung iobroker 2019-07-10 07:13:23.970 info find: ‘/tmp/systemd-private-4e509010d4d44af58ac4c1ad9e34db2e-systemd-timesyncd.service-RTcHvY’: Keine Berechtigung iobroker 2019-07-10 07:13:23.970 info find: ‘/tmp/systemd-private-4e509010d4d44af58ac4c1ad9e34db2e-colord.service-JiykIr’: Keine Berechtigungfind: ‘/tmp/systemd-private-4e509010d4d44af58ac4c1ad9e34db2e-fwupd.service-KlI2uG’: Keine Berech
-
@bergjet Wo kommt das her? Z-Wave-Installation? Das kann dann getrost ignoriert werden, weil iobroker auf diese Pfade tatsächlich nicht zugreifen soll/muss.