NEWS
IoBroker.js-controller 0.15.3
-
Hatten wir nicht schon mal woanders diskutiert, dass in manchen Distributionen sudo nicht exakt das gleiche ist, wie ein Anmelden als root. Ich glaube, bei ubuntu war das so.
-
Hallo Zusammen,
ich brauche dringend Hilfe.
Auch bei mir ging das update gründlich schief
ioBroker ist nicht mehr erreichbar
Leider habe ich den Log nach der Installation aus dem GIT nicht mehr aber ein:
C:\iobroker>iobroker start
brachte nur noch:
C:\iobroker>node node_modules/iobroker.js-controller/iobroker.js start module.js:471 throw err; ^ Error: Cannot find module 'C:\iobroker\node_modules\iobroker.js-controller\iobro ker.js' at Function.Module._resolveFilename (module.js:469:15) at Function.Module._load (module.js:417:25) at Module.runMain (module.js:604:10) at run (bootstrap_node.js:394:7) at startup (bootstrap_node.js:149:9) at bootstrap_node.js:509:3
Also versuchte ich:
C:\iobroker>npm install iobroker.js-controller
mit folgendem Ergebnis:
! ````
C:\iobroker>npm install iobroker.js-controller
npm WARN deprecated node-uuid@1.4.7: use uuid module instead
npm WARN prefer global node-gyp@3.4.0 should be installed with -g
! > ursa@0.9.4 install C:\iobroker\node_modules\ursa
node-gyp rebuild
! C:\iobroker\node_modules\ursa>if not defined npm_config_node_gyp (node "C:\Progr
am Files\nodejs\node_modules\npm\bin\node-gyp-bin\....\node_modules\node-gyp\b
in\node-gyp.js" rebuild ) else (node "" rebuild )
Die Projekte in dieser Projektmappe werden nacheinander erstellt. Um eine parall
ele Erstellung zu ermöglichen, müssen Sie den Schalter "/m" hinzufügen.
ursaNative.cc
win_delay_load_hook.cc
..\src\ursaNative.cc(157): warning C4244: 'argument': conversion from 'ssize_t'
to 'int', possible loss of data [C:\iobroker\node_modules\ursa\build\ursaNativ
e.vcxproj]
..\src\ursaNative.cc(172): warning C4244: 'argument': conversion from 'ssize_t'
to 'int', possible loss of data [C:\iobroker\node_modules\ursa\build\ursaNativ
e.vcxproj]
..\src\ursaNative.cc(378): warning C4267: 'initializing': conversion from 'size
_t' to 'int', possible loss of data [C:\iobroker\node_modules\ursa\build\ursaNa
tive.vcxproj]
..\src\ursaNative.cc(379): warning C4267: 'initializing': conversion from 'size
_t' to 'int', possible loss of data [C:\iobroker\node_modules\ursa\build\ursaNa
tive.vcxproj]
..\src\ursaNative.cc(686): warning C4267: 'argument': conversion from 'size_t'
to 'int', possible loss of data [C:\iobroker\node_modules\ursa\build\ursaNative
.vcxproj]
..\src\ursaNative.cc(734): warning C4267: 'argument': conversion from 'size_t'
to 'int', possible loss of data [C:\iobroker\node_modules\ursa\build\ursaNative
.vcxproj]
..\src\ursaNative.cc(779): warning C4267: 'argument': conversion from 'size_t'
to 'int', possible loss of data [C:\iobroker\node_modules\ursa\build\ursaNative
.vcxproj]
..\src\ursaNative.cc(826): warning C4267: 'argument': conversion from 'size_t'
to 'int', possible loss of data [C:\iobroker\node_modules\ursa\build\ursaNative
.vcxproj]
..\src\ursaNative.cc(945): warning C4267: 'argument': conversion from 'size_t'
to 'unsigned int', possible loss of data [C:\iobroker\node_modules\ursa\build\u
rsaNative.vcxproj]
..\src\ursaNative.cc(1003): warning C4267: 'argument': conversion from 'size_t'
to 'unsigned int', possible loss of data [C:\iobroker\node_modules\ursa\build
ursaNative.vcxproj]
LINK : fatal error LNK1181: cannot open input file 'C:\OpenSSL-Win64\lib\libeay
32.lib' [C:\iobroker\node_modules\ursa\build\ursaNative.vcxproj]
gyp ERR! build error
gyp ERR! stack Error:C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe
fail
ed with exit code: 1
gyp ERR! stack at ChildProcess.onExit (C:\Program Files\nodejs\node_modules
npm\node_modules\node-gyp\lib\build.js:276:23)
gyp ERR! stack at emitTwo (events.js:106:13)
gyp ERR! stack at ChildProcess.emit (events.js:191:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_proces
s.js:215:12)
gyp ERR! System Windows_NT 6.3.9600
gyp ERR! command "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodej
s\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" "rebuild"
gyp ERR! cwd C:\iobroker\node_modules\ursa
gyp ERR! node -v v6.9.2
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok
! > unix-dgram@0.2.3 install C:\iobroker\node_modules\unix-dgram
node-gyp rebuild
! C:\iobroker\node_modules\unix-dgram>if not defined npm_config_node_gyp (node "C:
\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\....\node_modules\node
-gyp\bin\node-gyp.js" rebuild ) else (node "" rebuild )
Die Projekte in dieser Projektmappe werden nacheinander erstellt. Um eine parall
ele Erstellung zu ermöglichen, müssen Sie den Schalter "/m" hinzufügen.
unix_dgram.cc
win_delay_load_hook.cc
..\src\unix_dgram.cc(9): fatal error C1083: Cannot open include file: 'unistd.h
': No such file or directory [C:\iobroker\node_modules\unix-dgram\build\unix_dg
ram.vcxproj]
gyp ERR! build error
gyp ERR! stack Error:C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe
fail
ed with exit code: 1
gyp ERR! stack at ChildProcess.onExit (C:\Program Files\nodejs\node_modules
npm\node_modules\node-gyp\lib\build.js:276:23)
gyp ERR! stack at emitTwo (events.js:106:13)
gyp ERR! stack at ChildProcess.emit (events.js:191:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_proces
s.js:215:12)
gyp ERR! System Windows_NT 6.3.9600
gyp ERR! command "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodej
s\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" "rebuild"
gyp ERR! cwd C:\iobroker\node_modules\unix-dgram
gyp ERR! node -v v6.9.2
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok
! > iobroker.js-controller@0.15.3 install C:\iobroker\node_modules\iobroker.js-con
troller
node lib/setup.js setup first
! iobroker.core@0.1.0 C:\iobroker
-- iobroker.js-controller@0.15.3 +-- letsencrypt@2.1.8 |
-- le-acme-core@2.0.9
+-- npm@2.15.11
| +-- abbrev@1.0.9
| +-- ansi@0.3.1
| +-- ansicolors@0.3.2
| +-- ansistyles@0.1.3
| +-- archy@1.0.0
| +-- async-some@1.0.2
| +-- char-spinner@1.0.1
| +-- chmodr@1.0.2
| +-- chownr@1.0.1
| +-- cmd-shim@2.0.2
| +-- columnify@1.5.4
| |-- wcwidth@1.0.1 | |
-- defaults@1.0.3
| |-- clone@1.0.2 | +-- config-chain@1.1.11 | |
-- proto-list@1.2.4
| +-- dezalgo@1.0.3
| |-- asap@2.0.5 | +-- editor@1.0.0 | +-- fs-vacuum@1.2.9 | +-- fs-write-stream-atomic@1.0.8 | |
-- iferr@0.1.5
| +-- fstream-npm@1.1.1
| |-- fstream-ignore@1.0.5 | +-- github-url-from-git@1.4.0 | +-- github-url-from-username-repo@1.0.2 | +-- glob@7.0.6 | +-- imurmurhash@0.1.4 | +-- ini@1.3.4 | +-- init-package-json@1.9.4 | | +-- glob@6.0.4 | |
-- promzard@0.3.0
| +-- lockfile@1.0.3
| +-- lru-cache@4.0.2
| | +-- pseudomap@1.0.2
| |-- yallist@2.0.0 | +-- node-gyp@3.4.0 | |
-- path-array@1.0.1
| |-- array-index@1.0.0 | |
-- es6-symbol@3.1.0
| | +-- d@0.1.1
| |-- es5-ext@0.10.12 | |
-- es6-iterator@2.0.0
| +-- nopt@3.0.6
| +-- normalize-git-url@3.0.2
| +-- npm-cache-filename@1.0.2
| +-- npm-install-checks@1.0.7
| +-- npm-package-arg@4.1.1
| +-- npm-registry-client@7.2.1
| |-- concat-stream@1.6.0 | | +-- readable-stream@2.2.2 | |
-- typedarray@0.0.6
| +-- npm-user-validate@0.1.5
| +-- npmlog@2.0.4
| | +-- are-we-there-yet@1.1.2
| | |-- delegates@1.0.0 | |
-- gauge@1.2.7
| | +-- has-unicode@2.0.1
| | +-- lodash.pad@4.5.1
| | +-- lodash.padend@4.6.1
| |-- lodash.padstart@4.6.1 | +-- opener@1.4.2 | +-- osenv@0.1.4 | | +-- os-homedir@1.0.2 | |
-- os-tmpdir@1.0.2
| +-- path-is-inside@1.0.2
| +-- read-installed@4.0.3
| | +-- debuglog@1.0.1
| | +-- readdir-scoped-modules@1.0.2
| |-- util-extend@1.0.3 | +-- read-package-json@2.0.4 | | +-- glob@6.0.4 | |
-- json-parse-helpfulerror@1.0.3
| |-- jju@1.3.0 | +-- readable-stream@2.1.5 | |
-- buffer-shims@1.0.0
| +-- realize-package-specifier@3.0.3
| +-- request@2.74.0
| | +-- bl@1.1.2
| | +-- form-data@1.0.1
| | +-- node-uuid@1.4.7
| |-- qs@6.2.1 | +-- retry@0.10.1 | +-- semver@5.1.1 | +-- sha@2.0.1 | +-- slide@1.1.6 | +-- sorted-object@2.0.1 | +-- text-table@0.2.0 | +-- uid-number@0.0.6 | +-- umask@1.1.0 | +-- validate-npm-package-name@2.2.2 | |
-- builtins@0.0.7
| +-- which@1.2.12
| |-- isexe@1.1.2 |
-- write-file-atomic@1.1.4
+-- redis@2.6.5
| +-- redis-commands@1.3.1
|-- redis-parser@2.4.0 +-- UNMET PEER DEPENDENCY winston@2.3.1 | +-- async@1.0.0 |
-- colors@1.0.3
-- winston-daily-rotate-file@1.4.3 ! npm WARN enoent ENOENT: no such file or directory, open 'C:\iobroker\node_module s\winston\package.json' npm WARN winston-daily-rotate-file@1.4.3 requires a peer of winston@2.x but none was installed. npm WARN optional SKIPPING OPTIONAL DEPENDENCY: ursa@0.9.4 (node_modules\ursa): npm WARN optional SKIPPING OPTIONAL DEPENDENCY: ursa@0.9.4 install:
node-gyp re
buildnpm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1 npm WARN optional SKIPPING OPTIONAL DEPENDENCY: unix-dgram@0.2.3 (node_modules\u nix-dgram): npm WARN optional SKIPPING OPTIONAL DEPENDENCY: unix-dgram@0.2.3 install:
node-
gyp rebuild`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
! C:\iobroker>Obwohl nun beim Starten mit … :
C:\iobroker>iobroker start
keine Fehlermeldung kommt:
C:\iobroker>node node_modules/iobroker.js-controller/iobroker.js start
Starting iobroker controller daemon...
C:\iobroker>Und ein:
iobroker update
Zeigt das der js-controller installiert ist: >! ```` C:\iobroker>node node_modules/iobroker.js-controller/iobroker.js update update done Adapter "zwave" : 0.4.4 Adapter "yr" : 1.0.5 Adapter "yamaha" : 0.2.23 Adapter "xs1" : 0.5.2 Adapter "wolf" : 0.9.2 Adapter "wifilight" : 0.0.36 Adapter "wm-bus" : 0.1.9 Adapter "web" : 2.0.0 , installed 1.7.7 [Updateable] Adapter "weatherunderground": 1.0.2 Adapter "vis-timeandweather": 1.1.7 , installed 1.1.7 Adapter "vis-rgraph" : 0.0.2 Adapter "vis-plumb" : 0.1.6 , installed 0.1.6 Adapter "vis-players" : 0.1.2 Adapter "vis-metro" : 1.0.4 , installed 1.0.4 Adapter "vis-map" : 0.1.3 Adapter "vis-lcars" : 1.0.1 Adapter "vis-keyboard" : 0.0.2 Adapter "vis-justgage" : 0.7.1 Adapter "vis-jqui-mfd" : 1.0.5 , installed 1.0.5 Adapter "vis-hqwidgets" : 1.0.6 , installed 1.0.6 Adapter "vis-history" : 0.2.4 Adapter "vis-google-fonts": 0.1.0 Adapter "vis-fancyswitch": 1.0.0 , installed 1.0.0 Adapter "vis-colorpicker": 1.1.1 , installed 1.1.1 Adapter "vis-canvas-gauges": 0.1.5 Adapter "vis-bars" : 0.1.2 , installed 0.1.2 Adapter "vis" : 0.10.15 , installed 0.10.15 Adapter "vcard" : 0.0.8 Adapter "upnp" : 0.3.3 Adapter "tvspielfilm" : 0.2.2 Adapter "tr-064" : 0.1.29 Adapter "text2command" : 1.1.3 Adapter "terminal" : 0.1.2 Adapter "telegram" : 1.0.2 Adapter "tankerkoenig" : 1.0.0 Adapter "starline" : 0.2.0 Adapter "sonos" : 1.4.2 Adapter "solarwetter" : 0.1.2 Adapter "socketio" : 1.7.4 Adapter "squeezebox" : 0.1.0 Adapter "sql" : 1.4.2 Adapter "simple-api" : 1.3.0 Adapter "scenes" : 0.2.6 Adapter "sayit" : 1.4.0 Adapter "samsung" : 0.0.15 Adapter "s7" : 0.2.5 Adapter "rwe-smarthome" : 0.1.11 Adapter "rpi2" : 0.3.1 Adapter "rickshaw" : 0.4.4 Adapter "rflink" : 1.0.8 Adapter "radar" : 0.7.3 Adapter "pushover" : 1.0.2 Adapter "pushsafer" : 0.1.7 Adapter "pushbullet" : 0.0.11 Adapter "ping" : 1.2.0 Adapter "piface" : 0.0.50 Adapter "phantomjs" : 0.1.2 Adapter "parser" : 0.1.0 Adapter "owntracks" : 0.2.0 Adapter "owfs" : 0.3.4 Adapter "onkyo" : 0.2.0 Adapter "nut" : 1.0.0 Adapter "noolite" : 0.0.1 Adapter "node-red" : 1.1.6 Adapter "netatmo" : 0.6.1 Adapter "mysensors" : 1.0.6 Adapter "mpd" : 0.2.3 Adapter "mqtt-client" : 0.3.0 Adapter "mqtt" : 1.2.5 Adapter "modbus" : 0.4.7 Adapter "mobile" : 0.4.10 , installed 0.4.10 Adapter "miele" : 0.0.30 Adapter "megad" : 1.2.1 Adapter "lightify" : 0.0.26 Adapter "lgtv" : 1.0.0 Adapter "kodi" : 0.2.0 Adapter "knx" : 0.7.3 Adapter "km200" : 0.4.3 Controller "js-controller" : 0.15.3 , installed 0.15.3 Adapter "javascript" : 3.2.4 , installed 3.2.4 Adapter "innogy-smarthome": 0.1.2 Adapter "influxdb" : 1.3.1 Adapter "icons-ultimate-png": 0.1.0 , installed 0.1.0 Adapter "icons-open-icon-library-png": 0.1.3 , installed 0.1.3 Adapter "icons-mfd-svg" : 1.0.2 , installed 1.0.2 Adapter "icons-mfd-png" : 1.0.2 , installed 1.0.2 Adapter "icons-material-svg": 0.1.0 Adapter "icons-material-png": 0.1.0 , installed 0.1.0 Adapter "icons-icons8" : 0.0.1 Adapter "icons-fatcow-hosting": 0.1.0 Adapter "icons-addictive-flavour-png": 0.1.0 , installed 0.1.0 Adapter "ical" : 1.2.0 Adapter "hmm" : 1.0.1 , installed 1.0.1 Adapter "homepilot" : 0.2.0 Adapter "homekit2" : 0.1.6 Adapter "hue" : 0.6.0 Adapter "hm-rpc" : 1.4.1 , installed 1.4.1 Adapter "hm-rega" : 1.4.1 , installed 1.4.1 Adapter "history" : 1.5.1 Adapter "hid" : 0.1.11 Adapter "harmony" : 0.5.6 Adapter "geofency" : 0.1.5 Adapter "fritzbox" : 0.2.1 , installed 0.3.1 [Updateable] Adapter "foobar2000" : 0.2.0 Adapter "feiertage" : 0.3.6 Adapter "flot" : 1.5.6 Adapter "find-my-iphone": 0.0.11 Adapter "fhem" : 0.2.2 Adapter "epson_stylus_px830": 0.0.2 Adapter "email" : 1.0.1 Adapter "dwd" : 2.1.1 Adapter "cul" : 0.2.2 Adapter "cloud" : 0.4.2 , installed 0.4.2 Adapter "chromecast" : 1.2.3 Adapter "botvac" : 0.5.0 Adapter "b-control-em" : 0.2.1 Adapter "artnet" : 0.1.6 Adapter "amazon-dash" : 0.1.2 Adapter "admin" : 1.6.11 , installed 1.6.11 C:\iobroker>
… ist ioBroker nicht mehr erreichbar.
Habt ihr dazu eine Idee ... möchte wirklich nicht wieder von vorn beginnen.
Vielen Dank im Vorraus :oops:
-
Bei mir hat's nur funktioniert wenn ich den js-controller mit sudo installiert habe, alles andere ging auch so.
Ups, sorry, bist ja auf Windows. Na ja, kannst ja versuchen mit Admin zu installieren.
-
Moin,
… ist ioBroker nicht mehr erreichbar.
Habt ihr dazu eine Idee ... möchte wirklich nicht wieder von vorn beginnen. `
versuche mal bitte, mitiobroker start admin
den Admin-Adapter zu starten.
Bei mir war er nach dem Update nicht gestartet, kein Zugriff auf die Admin-Konsole, aber VIS lief.
Läuft VIS bei Dir?
Gruß,
Eric
Von unterwegs getippert.
-
Moin,
… ist ioBroker nicht mehr erreichbar.
Habt ihr dazu eine Idee ... möchte wirklich nicht wieder von vorn beginnen. `
versuche mal bitte, mitiobroker start admin
den Admin-Adapter zu starten.
Bei mir war er nach dem Update nicht gestartet, kein Zugriff auf die Admin-Konsole, aber VIS lief.
Läuft VIS bei Dir?
Gruß,
Eric
Von unterwegs getippert. `
Moin Eric,
leider funktioniert das auch nicht. Admin sowie vis liefen beide nicht.
Da iobroker bei mir auf einem Windowsserver läuft, konnte ich eine funktionierende Vorgänger-Version wiederherstellen.
Damit läuft nun erstmal wieder alles. Puuhhh
Allerdings nun wieder mit dem alten js-controller.
Muss ich bei Windows etwas anderes beachten?
Wie sollte ich am Besten vorgehen?
Gruß Klaus
-
Da anscheinend keiner so richtig auf das Thema einsteigen möchte, keine Zeit hat oder das Problem/meine Fragen zu uninteressant sind, habe ich selbst etwas getestet.
Anbei eine kurze Zusammenfassung:
alte node und nodejs Installation unter root entfernt
# apt-get --purge remove node # apt-get --purge remove nodejs # apt-get autoremove
restliche Pfade unter /root entfernt
# rm -rf ~/.npm # rm -rf ~/.nvm # rm -rf ~/.hmmanager # rm -rf ~/.node-gyp
einen user iobroker mit /opt/iobroker als home
# groupadd -g 5550 iobroker # useradd -u 5500 -g 5550 -s /bin/bash -c "iobroker" -p iob -d /opt/iobroker iobroker # cd /opt # mkdir iobroker # chmod 774 iobroker # chown 5500:5550 iobroker
den user iobrocker sudo-Rechte gegeben
reboot
Anmeldung per ssh mit user odroid
$ sudo su - iobroker $ whoami iobroker $ pwd /opt/iobroker
schon mal so, wie ich es wollte
Install node
das Installationskript braucht eine profile-Datei
$ > .profile $ touch .profile
Installation vorbereiten
$ wget https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh ^D (logout) $ sudo su - iobroker
installation node, ist das die richtige Version? zumindest scheint es bei mir damit zu laufen
Hat das schon jemand unter 7.4 getestet?
$ nvm install 4.7
fertig
$ node -v v4.7.2 $ npm -v 2.15.11 $ nvm --version 0.31.0 $ nvm ls v0.12.18 -> v4.7.2 v7.4.0 default -> 4.7 (-> v4.7.2) node -> stable (-> v7.4.0) (default) stable -> 7.4 (-> v7.4.0) (default) iojs -> N/A (default)
Installation ioBroker
$ npm install --unsafe-perm iobroker > iobroker@0.7.1 install /opt/iobroker/node_modules/iobroker > node lib/setup.js npm install iobroker.js-controller --production --prefix /opt/iobroker npm WARN deprecated letsencrypt@2.1.8: letsencrypt has been renamed to greenlock. Please find it at npm greenlock gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR npm install iobroker.admin --production --prefix /opt/iobroker Write "./iobroker start" to start the ioBroker Cannot create file /usr/bin/iobroker!. Non critical ----------------------------------------------------- You can manually copy file into /usr/bin/. Just write: sudo cp /opt/iobroker/node_modules/iobroker/install/iobroker /usr/bin/ sudo chmod 777 /usr/bin/iobroker ----------------------------------------------------- Cannot copy file to /etc/init.d/iobroker.sh: Error: EACCES: permission denied, open '/etc/init.d/iobroker.sh' ----------------------------------------------------- You can manually copy file and install autostart: sudo cp /opt/iobroker/node_modules/iobroker/install/linux/iobroker.sh /etc/init.d/ sudo chmod 777 /etc/init.d/iobroker.sh sudo bash /opt/iobroker/node_modules/iobroker/install/linux/install.sh ----------------------------------------------------- or just start "sudo bash /opt/iobroker/install.sh" ----------------------------------------------------- iobroker@0.7.1 node_modules/iobroker └── yargs@4.8.1 (get-caller-file@1.0.2, decamelize@1.2.0, lodash.assign@4.2.0, y18n@3.2.1, which-module@1.0.0, set-blocking@2.0.0, window-size@0.2.0, require-main-filename@1.0.1, require-directory@2.1.1, yargs-parser@2.4.1, cliui@3.2.0, string-width@1.0.2, os-locale@1.4.0, read-pkg-up@1.0.1)
Bei meinem Versuch war der Nutzer iobroker noch ohne sudo-Rechte und /etc/init.d/iobroker konnte den iobroker nicht automatisch starten.
Es ging aber in der Shell via iobroker start | stop
Mit sudo-Rechten klappt aber auch der Start per init-Skript
Anschließend habe ich meine gesicherte Umgebung als root in das Verzeichnis /opt/iobroker kopiert, die und Rechte gesetzt
# chown -R iobroker:iobroker /opt/iobroker # su - iobroker $ iobroker start
und die alte Umgebung lief fast
Bisher aufgetauchte Probleme
ping - dem fehlten die Rechte $ sudo setcap cap_net_raw+p /bin/ping
Und die Prozessliste sieht jetzt wie folgt aus:
# ps -ef|grep iob iobroker 1847 1 18 22:54 ? 00:00:37 iobroker.js-controller iobroker 1876 1847 7 22:54 ? 00:00:14 io.admin.0 iobroker 2077 1847 0 22:54 ? 00:00:01 io.hm-rpc.0 iobroker 2331 1847 8 22:55 ? 00:00:15 io.web.0 iobroker 2430 1847 4 22:55 ? 00:00:07 io.telegram.0 iobroker 2506 1847 2 22:55 ? 00:00:04 io.ping.0 iobroker 2593 1847 9 22:55 ? 00:00:15 io.javascript.1 iobroker 2656 1847 8 22:55 ? 00:00:13 io.javascript.2 iobroker 2835 1847 9 22:55 ? 00:00:14 io.javascript.0 iobroker 3373 1847 6 22:56 ? 00:00:07 io.tr-064.0 iobroker 3550 1847 0 22:56 ? 00:00:00 io.simple-api.0 iobroker 3625 1847 1 22:56 ? 00:00:01 io.ping.1 iobroker 3653 1847 2 22:56 ? 00:00:01 io.ping.2 iobroker 3834 1847 5 22:56 ? 00:00:04 io.influxdb.0 iobroker 3899 1847 2 22:56 ? 00:00:01 io.web.1 root 4925 4591 0 22:57 pts/0 00:00:00 su - iobroker iobroker 4934 4925 1 22:57 pts/0 00:00:00 -su root 5443 5403 0 22:57 pts/1 00:00:00 grep --color=auto iob
Mal sehen, bei welchen Adaptern noch Probleme auftreten, vorstellbar ggf. beim Bluetooth-Scanner, aber das nutze ich zur Zeit nicht, kommt später auf meiner DoorPi wieder zum Einsatz.
Bezüglich einer Multihost-Konfiguration kommt dann gleich die nächste Frage. Müssen dann beide Instanzen (ich fange klein an), also Master und Slave mit dem selben Account laufen oder wie sind da die Zugriffsrechte geregelt?
Wenn es keinen weiter interessiert, nicht schlimm, so kann ich wenigsten noch mal nachschlagen.
Gruß
GH
-
Wenn es keinen weiter interessiert, nicht schlimm, so kann ich wenigsten noch mal nachschlagen. `
Da muss ich dich enttäuschenInteressiert bin ich sehr, leider fehlen mir die Linux Kenntnisse.
Daher ein paar Verständnisfragen:
Was du beschreibst ist ein nachträgliches Upgrade von node 0.1x auf neuer bei einer laufenden Installation?
Du möchtest nicht als root, sondern als user iobroker mit sudo-Rechten installieren?
Trotzdem bleibt doch der EACCESS, oder?
Hat das schon jemand unter 7.4 getestet? `
node 7.4 ist eine vorläufer einer kommenden 8.x, also im Prinzip eine Entwicklerversion.Was ist der Befehl nvm?
Gruß
Rainer
-
Natürlich wäre eine "braucht nicht unbedingt root" Lösung absolut cool!
ping - dem fehlten die Rechte
$ sudo setcap cap_net_raw+p /bin/ping `
hast Du ne Idee wie man das geradebiegen kann? Bei der installation direkt? Weil wenn man es manuell auf der Kommandozeile machen muss ist blödm (und für die breite Usermasse Feheranfällg)
-
Was ist der Befehl nvm? `
Mit nvm kann man einfach zwischen verschiedenen node-Versionen hin und herwechseln … bzw einfach upgraden. Das macht dann alles (ausser das pot. reinstall was man ggf noch braucht) -
Natürlich wäre eine "braucht nicht unbedingt root" Lösung absolut cool!
ping - dem fehlten die Rechte
$ sudo setcap cap_net_raw+p /bin/ping `
hast Du ne Idee wie man das geradebiegen kann? Bei der installation direkt? Weil wenn man es manuell auf der Kommandozeile machen muss ist blödm (und für die breite Usermasse Feheranfällg) `
Momentan wird root nicht benötigt.Root wird nur für: ping, serialport (rflink, cul, …), GPIOs (rpi2, ...) gebraucht.
Mich interessiert auch ob man GPIOs und serialport auch irgendwie für nicht root freigeben kann.
-
Root wird nur für: ping, serialport (rflink, cul, …), GPIOs (rpi2, ...) gebraucht. `
und das sind genau die Adapter (+js-controller) die bei einem Update den EACCESS Fehler werfen, wenn ioBroker als User mit sudo installiert wurde und diese Adapter über den admin bzw. über die Konsole als User mit sudo upgedated werden.Gruß
Rainer
-
Moin, Moin,
erst einmal Danke für das Formatieren, da war gestern bei mir die Luft raus…
Daher ein paar Verständnisfragen:
Was du beschreibst ist ein nachträgliches Upgrade von node 0.1x auf neuer bei einer laufenden Installation?
Du möchtest nicht als root, sondern als user iobroker mit sudo-Rechten installieren?
Trotzdem bleibt doch der EACCESS, oder?
Hat das schon jemand unter 7.4 getestet? `
node 7.4 ist eine vorläufer einer kommenden 8.x, also im Prinzip eine Entwicklerversion.Was ist der Befehl nvm?
Rainer `
Ich habe für meine laufende Umgebung node ausgetauscht (alles unter dem User root deinstalliert/gelöscht) und dann als User iobroker alles neu installiert. Bei der node-Installation kannst du die gewünschte node-Version angeben (nvm install 4.7 oder auch nvm install 7.4). Ich habe node v4.7.2 und node v7.4.0 installiert. Mit Hilfe von nvm (node version manager kann dann zwischen den Versionen gewechselt werden.
Zu beachten ist aber, dass im /etc/init.d/ioboker.sh der Pfad zur verwendeten node-Installation steht. Wird z. B. beim reboot darüber ausgeführt.
#!/bin/bash ### BEGIN INIT INFO # Provides: iobroker.sh # Required-Start: $network $local_fs $remote_fs # Required-Stop:: $network $local_fs $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts ioBroker # Description: starts ioBroker ### END INIT INFO (( EUID )) && echo .You need to have root privileges.. && exit 1 PIDF=/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid ##NODECMD=/opt/iobroker/.nvm/versions/node/v4.7.2/bin/node [b]NODECMD=/opt/iobroker/.nvm/versions/node/v7.4.0/bin/node[/b] IOBROKERCMD=/opt/iobroker/node_modules/iobroker.js-controller/iobroker.js RETVAL=0 IOBROKERUSER=iobroker
Teste gerade, wie sich der iobroker unter 7.4 und weniger Rechten anfühlt.
Beim Austausch meiner Installation bin ich wie folgt vorgegangen (ohne Gewähr, etwas Linux/bash-Kenntnisse sollten vorhanden sein, nicht mit der produktiven Umgebung TESTEN!)
Das Verzeichnis mit der aktiven iobroker-Instanz habe ich als erstes gesichert (als User root, "#" steht für root-shell).
# cd /opt # tar cvfz iobroker-2017-01-26.tgz ./iobroker
Schauen, ob du genügend Platz da hast (df). Bei mir kein Problem, da SSD.
Dann habe ich wie beschrieben, node und iobroker unter dem User iobroker installiert.
Nach einem kurzen Funktionstest der neuen Installation (Adapter hinzufügen, VIS starten, etc.) habe ich meine "alte" Installation untergeschoben …
iobroker~$ iobroker stop # wichtig, sonst kann es deine zurückgespielte Installation zerschießen! ^D # entspricht "exit", zurück zum User root, also die Tasten <strg>+ <d># cd /opt # tar xvfz iobroker-2017-01-26.tgz . # chown -R iobroker:iobroker ./iobroker su - iobroker iobroker~$ iobroker start</d></strg>
Dann das Log unter /opt/iobroker/log auf Fehler kontrollieren.
Die EACCESS-Probleme müssten sich ggf. mit setcap analog zum Ping-Problem beheben lassen, aber da muss geschaut werden, an welchen Stellen es klemmt. Bei hardwarenahen Sachen wird es wohl nicht immer ohne root gehen, ggf. müsste ein Service als Vermittler gebaut werden.
Natürlich wäre eine "braucht nicht unbedingt root" Lösung absolut cool!
@greyhound:ping - dem fehlten die Rechte
$ sudo setcap cap_net_raw+p /bin/ping
hast Du ne Idee wie man das geradebiegen kann? Bei der installation direkt? Weil wenn man es manuell auf der Kommandozeile machen muss ist blödm (und für die breite Usermasse Feheranfällg)
Ich denke, dass kann in das Installationsskript aufgenommen werden.Momentan wird root nicht benötigt.
Root wird nur für: ping, serialport (rflink, cul, …), GPIOs (rpi2, ...) gebraucht.
Mich interessiert auch ob man GPIOs und serialport auch irgendwie für nicht root freigeben kann. `
Im Prinzip müsste das nach dem selben Muster wie beim ping gehen, siehe https://wiki.archlinux.org/index.php/Capabilities.Da iobroker bei mir auf einer ODROID XU4 läuft, ist das für mich nicht ganz so dramatisch. Allerdings habe ich vor, weitere iobroker-Raspberry's als Slave bzw. per MQTT einzubinden. Und wenn die Slaves nicht mit demselben User laufen müssen, könnten hardwarenahe Sachen darüber "ausgelagert" werden, bei mir, wie schon erwähnt, wäre das eine DoorPi.
Weitere Probleme bisher sind arp (nicht im PATH, lässt sich aber direkt aufrufen, also /user/sbin/arp oder eben PATH anpassen) und ich kann das iobroker-Admin-Terminal-Fenster nicht starten. Ist für mich aber nicht so wichtig, lässt sich aber ggf. mit dem Wissen aus obigen Link beheben.
Bin jetzt die Woche mal Weg ohne PC im Schnee und komme daher nicht zum weiteren Testen. Mal sehen, ob meine iobroker-Installation durchhält.
Gruß
GH
-
Root wird nur für: ping, serialport (rflink, cul, …), GPIOs (rpi2, ...) gebraucht.
Mich interessiert auch ob man GPIOs und serialport auch irgendwie für nicht root freigeben kann. `
ich hab mal Google etwas bemüht … was Serialport angeht lässt sich das wohl rechtemäßig fixen wie oben beschrieben. Der Befehl muss aber Root ausführen ... also die Installation ist dann doch wieder per root nötig .
GPIO ist auch rechtethema ... z.B. so:
https://raspiprojekt.de/forum/software/ ... utzen.html
https://forum.magicmirror.builders/topi ... out-root/4
o.ä. ... also alles manueller kram der extra-Kommandos braucht ...
-
Hallo mitsammen!
Auf meinen Raspi's laufen alle iobroker-Adapter automatisch in root da er nach dem re-boot als root gestartet wird.
Deshalb funktionieren auch alle Adapter die root benötigen.
Man muß vorsichtig sein wenn man iobroker händisch stoppt/startet da es dann eventuell Probleme gibt wenn man kein sudo verwendet.
Adapter selbst muss ich kaum mit root installieren, nur module die (wie iobroker selbst) –unsave-perm oder -g brauchen.
Ihr könnt ja mal den Javascript-Adapter mit den script````
exec('whoami',function(a,b,c) { log(b)}); -
In der "/etc/init.d/iobroker.sh" ist festgelegt, in welchem Userkontext iobroker gestartet wird.
#!/bin/bash ### BEGIN INIT INFO # Provides: iobroker.sh # Required-Start: $network $local_fs $remote_fs # Required-Stop:: $network $local_fs $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts ioBroker # Description: starts ioBroker ### END INIT INFO (( EUID )) && echo .You need to have root privileges.. && exit 1 PIDF=/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid NODECMD=/opt/iobroker/.nvm/versions/node/v4.7.2/bin/node IOBROKERCMD=/opt/iobroker/node_modules/iobroker.js-controller/iobroker.js RETVAL=0 IOBROKERUSER=iobroker << Normalerweise steht hier root start() { . . .