Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. IoBroker.js-controller 0.15.3

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    IoBroker.js-controller 0.15.3

    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      knopers1 last edited by

      Danke,

      gerade eben die V0.15.3 aus der Konsole installiert. Alles ohne Probleme geklappt. Vorher aber sicherheitshalber ein Image des USB Datenträgers erstellt falls etwas daneben laufen sollte.

      Vielen Dank, bin zur Zeit up to date :mrgreen:

      1 Reply Last reply Reply Quote 0
      • greyhound
        greyhound last edited by

        Hi,

        Ich würde auch gerne das Update Fehlerfrei hinbekommen, habe mir beim Update auf 0.14.1 und 15.3 den js-controller "zerschossen" bzw. das Verzeichnis ist beim Upgrade-Versuch gelöscht worden.

        Die Umgebung: odroid XU4 mit

        $ lsb_release -sd

        Debian GNU/Linux 8.7 (jessie)

        node -v

        v4.7.2

        npm -v

        2.15.11

        nvm –version

        0.31.0

        ioBroker habe ich gemäß den bekannten Anleitungen installiert und habe im laufenden Betrieb keine Probleme. Updates der Adapter läuft problemlos.

        Bei der Ausführung von

        ~:/opt/iobroker# iobroker upgrade self

        erhalte ich dann folgende Fehlermeldungen:

        npm install iobroker.js-controller --production --prefix "/opt/iobroker" (System call)
        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 EACCES user "root" does not have permission to access the dev dir "/root/.node-gyp/4.7.0"
        gyp WARN EACCES attempting to reinstall using temporary dev dir "/opt/iobroker/node_modules/iobroker.js-controller/node_modules/winston-syslog/node_modules/unix-dgram/.node-gyp"
        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 EACCES user "root" does not have permission to access the dev dir "/root/.node-gyp/4.7.0"
        gyp WARN EACCES attempting to reinstall using temporary dev dir "/opt/iobroker/node_modules/iobroker.js-controller/node_modules/letsencrypt/node_modules/rsa-compat/node_modules/ursa/.node-gyp"
        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
        fs.js:549
          return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
                         ^
        
        Error: EACCES: permission denied, open '/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/../../../../killall.sh'
            at Error (native)
            at Object.fs.openSync (fs.js:549:18)
            at Object.fs.writeFileSync (fs.js:1156:15)
            at Setup.setup (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupSetup.js:88:24)
            at /opt/iobroker/node_modules/iobroker.js-controller/lib/setup.js:554:23
            at Object. <anonymous>(/opt/iobroker/node_modules/iobroker.js-controller/lib/setup.js:575:11)
            at Module._compile (module.js:409:26)
            at Object.Module._extensions..js (module.js:416:10)
            at Module.load (module.js:343:32)
            at Function.Module._load (module.js:300:12)
        npm ERR! Linux 3.10.104+
        npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "iobroker.js-controller" "--production" "--prefix" "/opt/iobroker"
        npm ERR! node v4.7.0
        npm ERR! npm  v2.15.11
        npm ERR! code ELIFECYCLE
        
        npm ERR! iobroker.js-controller@0.15.3 install: `node lib/setup.js setup first`
        npm ERR! Exit status 1
        npm ERR!
        npm ERR! Failed at the iobroker.js-controller@0.15.3 install script 'node lib/setup.js setup first'.
        npm ERR! This is most likely a problem with the iobroker.js-controller package,
        npm ERR! not with npm itself.
        npm ERR! Tell the author that this fails on your system:
        npm ERR!     node lib/setup.js setup first
        npm ERR! You can get information on how to open an issue for this project with:
        npm ERR!     npm bugs iobroker.js-controller
        npm ERR! Or if that isn't available, you can get their info via:
        npm ERR!
        npm ERR!     npm owner ls iobroker.js-controller
        npm ERR! There is likely additional logging output above.
        
        npm ERR! Please include the following file with any support request:
        npm ERR!     /opt/iobroker/npm-debug.log
        host.O-XU4-ioB-M1 Cannot install iobroker.js-controller: 1
        root@O-XU4-ioB-M1:/opt/iobroker#</anonymous> 
        

        Da ich als "root" angemeldet bin, ging ich bisher davon aus, dass ich vollen Zugriff habe.

        Das Ende des Upgradeversuchs bedeutet auch, dass das js-controller-Verzeichnis leer ist.

        Da ich ioBroker entsprechend den Anleitungen und meiner Interpretation des gelesenen installiert habe, verwundern mich neben dem Fehlschlag des Upgrades einige Ausgaben und einige Dinge in der Umgebung. Doch der Reihe nach.

        1. gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR

        Muss ich da etwas machen, oder kommt da via ioBroker-Upgrade eine Lösung? Oder habe ich bei mir etwas falsch installiert?

        1. gyp WARN EACCES user "root" does not have permission to access the dev dir "/root/.node-gyp/4.7.0"

        ls -la /root/.node-gyp/

        total 4

        drwxr-xr-x 4 root root 1024 Jan 23 19:56 .

        drwx–---- 11 root root 1024 Jan 23 20:43 ..

        drwxr-xr-x 3 root root 1024 Dec 10 13:28 4.7.0

        drwxr-xr-x 3 root root 1024 Jan 23 19:56 4.7.2

        So ist es okay, vor meiner Korrektur gehörten diese beiden Verzeichnisse dem User mit der id 502 (gibt es auf dem System nicht und der Gruppe dialout ?!

        1. Error: EACCES: permission denied, open '/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/../../../../killall.sh'

        die Datei gehört root und diese hat permission ?!

        Hiernach wäre ggf. ein Abbruch der Installation sinvoll/möglich?

        1. Die komplette Installation und Einrichtung des Servers habe ich per ssh vorgenommen. Anmeldung als user "odroid", dann

        $ sudo - i

        whoami

        root

        Was mich dann aber weiter wundert ...

        a) # ls -la /root

        total 89

        drwx------ 11 root root 1024 Jan 25 21:50 .

        drwxr-xr-x 22 502 odroid 1024 Jan 4 15:11 ..

        -rw------- 1 root root 45367 Jan 24 02:42 .bash_history

        -rw-r--r-- 1 root root 3601 Dec 9 23:51 .bashrc

        -rw-r--r-- 1 root root 2 Dec 13 19:23 bl_power~

        drwx------ 3 root root 1024 Nov 20 2015 .cache

        drwx------ 3 root root 1024 Nov 20 2015 .config

        drwxrwxrwx 2 root root 1024 Dec 11 19:33 .hm-manager

        drwx------ 3 root root 1024 Nov 20 2015 .local

        drwxr-xr-x 4 root root 1024 Jan 23 19:56 .node-gyp

        drwxrwxrwx 392 odroid odroid 11264 Jan 23 21:41 .npm

        drwxr-xr-x 3 root root 1024 Jan 23 18:52 .nvm

        -rw-r–r-- 1 root root 140 Nov 19 2007 .profile

        -rw-r--r-- 1 root root 1861 Jan 1 2013 resize--log.txt

        drwxr-xr-x 2 root root 1024 Nov 20 2015 scripts

        -rw-r--r-- 1 root root 75 Nov 20 2015 .selected_editor

        drwx------ 2 root root 1024 Dec 10 13:56 .ssh

        -rw------- 1 root root 11575 Jan 25 21:50 .viminfo

        Nach einer "Korrektur" mittels chown -R root:root /root/.npm und Kontrolle des Erfolgs, ja ist root, ändert ein Prozess das wieder auf odroid:odroid ?

        b) Wenn ich mir die Prozesse anschaue (wegen einiger Tests sind nicht alle Instanzen gestartet), laufen diese erwartungsgemäß unter dem user "root".

        root 1823 21188 0 Jan23 ? 00:04:01 io.telegram.0

        root 2684 21188 2 Jan23 ? 01:09:59 io.influxdb.0

        root 6482 21188 0 Jan23 ? 00:01:30 io.simple-api.0

        root 12319 21188 3 21:17 ? 00:01:40 io.javascript.0

        root 13383 21188 1 Jan23 ? 00:54:41 io.tr-064.0

        root 14529 21188 1 Jan23 ? 00:40:27 io.web.0

        root 21114 21188 1 Jan23 ? 00:42:22 io.web.1

        root 21188 1 10 Jan23 ? 05:05:36 iobroker.js-controller

        root 21456 21188 3 Jan23 ? 01:55:11 io.admin.0

        root 23680 21188 0 Jan23 ? 00:03:15 io.hm-rega.0

        root 24161 21188 3 Jan23 ? 01:32:10 io.javascript.1

        root 24849 21188 3 Jan23 ? 01:38:03 io.javascript.2

        root 29352 21188 1 Jan23 ? 00:48:59 io.ping.0

        root 29495 21188 0 Jan23 ? 00:14:41 io.ping.1

        root 29762 21188 0 Jan23 ? 00:19:25 io.ping.2

        root 30046 21188 0 Jan23 ? 00:05:20 io.hm-rpc.0

        Die AdminConsole nutze ich unter dem Account Admin, mit dem ich auch die Updates der Adapter ausführe. Mehrmals habe ich den kompletten Inhalt des Verzeichnissen /opt/ioBroker dem user "root" übereigent (chown root:root). Es tauchen dann aber doch immer wieder Verzeichnisse auf, die meinem user "odroid" gehören.

        Kann mir das bitte einer erklären.

        1. Mich wundert eigentlich sowieso, so wie ich die Anleitungen verstanden habe, dass die Installation unter dem user "root" erfolgt und auch läuft.

        Wäre es nicht sicherer, die ganze Installation und Einrichtung wie in meinem Fall, unter dem user "odroid" oder "iobroker" laufen zu lassen?

        Ggf. die Webservices noch unter einen restriktiveren Account?

        Mir haben sich leider die Abhängigkeiten noch nicht ganz erschlossen, so dass ich auch (noch) nicht beurteilen kann, was sinnvoll bzw. machbar ist.

        Ich bin im Moment noch in dem Stadium, dass ich froh bin, wenn es läuft und ich auftretende Probleme alleine oder mit eurer Hilfe lösen kann.

        Zu den von mir geschilderten Problemen und Merkwürdigkeiten (zumindest in meinen Augen) wäre ich über Hinweise und Hintergrundinfos dankbar.

        Natürlich auch, wenn ich die Installationsanleitung hinsichtlich Installationsuser usw. falsch verstanden haben sollte.

        Ich hoffe, dass dann bei mir und ggf. weiteren betroffenen es beim nächsten Upgrade besser läuft.

        Alles in allem liebe ich inzwischen das System und die scheinbar endlosen Möglichkeiten. Wenn man doch nicht auch noch arbeiten müsste ...

        Dank und Gruß

        GH

        1 Reply Last reply Reply Quote 0
        • Homoran
          Homoran Global Moderator Administrators last edited by

          Ich habe jetzt eben nur schnell quergelesen.

          Die Sache mit dem EACCESS habe ich auch schon beobachtet (s.u.) allerdings ohne Ausstieg mit code 1

          Erst einmal ist es ja nur ein WARN der Zugriff auf node-gyp klappt nicht. Aber die Installation findet da einen Ausweg und macht ein temporäres Verzeichnis auf.

          Und das war es bei mir dann meistens schon.

          @greyhound:

          Da ich als "root" angemeldet bin, ging ich bisher davon aus, dass ich vollen Zugriff habe. `
          Das ging ich auch, ich bilde mir ein, dass diese Meldung bei den Installationen auftritt, die ich ales minderprivelegierter User mit sudo durchgeführt habe. Habe ich die Erstinstallation als root ausgeführt taucht dieser Fehler IMHO nicht aus.

          Wenn ich dich richtig verstanden habe ist dies bei dir ebenso der Fall.

          Gruß

          Rainer

          1 Reply Last reply Reply Quote 0
          • OstfrieseUnterwegs
            OstfrieseUnterwegs last edited by

            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.

            1 Reply Last reply Reply Quote 0
            • S
              Smartuser last edited by

              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:

              1 Reply Last reply Reply Quote 0
              • frankjoke
                frankjoke last edited by

                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.

                1 Reply Last reply Reply Quote 0
                • eric2905
                  eric2905 last edited by

                  Moin,

                  @Smartuser:

                  … ist ioBroker nicht mehr erreichbar.

                  Habt ihr dazu eine Idee ... möchte wirklich nicht wieder von vorn beginnen. `
                  versuche mal bitte, mit

                  iobroker 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.

                  1 Reply Last reply Reply Quote 0
                  • S
                    Smartuser last edited by

                    @eric2905:

                    Moin,

                    @Smartuser:

                    … ist ioBroker nicht mehr erreichbar.

                    Habt ihr dazu eine Idee ... möchte wirklich nicht wieder von vorn beginnen. `
                    versuche mal bitte, mit

                    iobroker 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

                    1 Reply Last reply Reply Quote 0
                    • greyhound
                      greyhound last edited by

                      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

                      1 Reply Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators last edited by

                        @greyhound:

                        Wenn es keinen weiter interessiert, nicht schlimm, so kann ich wenigsten noch mal nachschlagen. `
                        Da muss ich dich enttäuschen 😉

                        Interessiert 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?

                        @greyhound:

                        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

                        1 Reply Last reply Reply Quote 0
                        • apollon77
                          apollon77 last edited by

                          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)

                          1 Reply Last reply Reply Quote 0
                          • apollon77
                            apollon77 last edited by

                            @Homoran:

                            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)

                            1 Reply Last reply Reply Quote 0
                            • Bluefox
                              Bluefox last edited by

                              @apollon77:

                              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) `
                              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.

                              1 Reply Last reply Reply Quote 0
                              • Homoran
                                Homoran Global Moderator Administrators last edited by

                                @Bluefox:

                                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

                                1 Reply Last reply Reply Quote 0
                                • greyhound
                                  greyhound last edited by

                                  Moin, Moin,

                                  erst einmal Danke für das Formatieren, da war gestern bei mir die Luft raus…

                                  @Homoran:

                                  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?

                                  @greyhound:

                                  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.

                                  @apollon77:

                                  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.

                                  @Bluefox:

                                  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

                                  1 Reply Last reply Reply Quote 0
                                  • apollon77
                                    apollon77 last edited by

                                    @Bluefox:

                                    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 ...

                                    1 Reply Last reply Reply Quote 0
                                    • frankjoke
                                      frankjoke last edited by

                                      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)});

                                      1 Reply Last reply Reply Quote 0
                                      • greyhound
                                        greyhound last edited by

                                        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() {
                                        . . . 
                                        
                                        
                                        1 Reply Last reply Reply Quote 0
                                        • First post
                                          Last post

                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate
                                        FAQ Cloud / IOT
                                        HowTo: Node.js-Update
                                        HowTo: Backup/Restore
                                        Downloads
                                        BLOG

                                        443
                                        Online

                                        31.8k
                                        Users

                                        80.0k
                                        Topics

                                        1.3m
                                        Posts

                                        10
                                        21
                                        5578
                                        Loading More Posts
                                        • Oldest to Newest
                                        • Newest to Oldest
                                        • Most Votes
                                        Reply
                                        • Reply as topic
                                        Log in to reply
                                        Community
                                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                        The ioBroker Community 2014-2023
                                        logo