NEWS
js-controller 4.0.x jetzt für alle User im STABLE!
-
Bei mir hat das Update nicht geklappt. Bekomme diesen Fehler. IOB startet nicht.
pi@iobroker-pi:~ $ node -v v14.19.0 pi@iobroker-pi:~ $ npm -v 6.14.16 pi@iobroker-pi:~ $ iob status Uncaught Rejection: TypeError: Cannot read property 'warning' of undefined at ObjectsInMemoryServer.initBackupDir (/opt/iobroker/node_modules/@iobroker/db-base/lib/inMemFileDB.js:187:22) at new InMemoryFileDB (/opt/iobroker/node_modules/@iobroker/db-base/lib/inMemFileDB.js:83:18) at new ObjectsInMemoryFileDB (/opt/iobroker/node_modules/@iobroker/db-objects-file/lib/objects/objectsInMemFileDB.js:34:9) at new ObjectsInMemoryJsonlDB (/opt/iobroker/node_modules/@iobroker/db-objects-jsonl/lib/objects/objectsInMemJsonlDB.js:58:9) at new ObjectsInMemoryServer (/opt/iobroker/node_modules/@iobroker/db-objects-jsonl/lib/objects/objectsInMemServerRedis.js:57:9) at new ObjectsInMemoryServerClass (/opt/iobroker/node_modules/@iobroker/db-objects-jsonl/lib/objects/objectsInMemServerClass.js:34:30) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup.js:3123:27) pi@iobroker-pi:~ $ iob version 4.0.15
-
@leuchtfuchs Da bist Du in ein Konfigprobkem und nen Mini Code-Fehler gerannt
Dein problem ist das das Backup Interval der DB bei dir falsch konfiguriert ist.
Quick Fix: Editiere /opt/iobroker/iobroker-data/iobroker.json und schaue das bei objects bzw states das in "backup" das "period" eine Zahl in SEKUNDEN ist ... Der Standard Wert ist 120 (=2h) ... Du hast da irgendeinen viel zu hohen Wert drin.
-
hilfe - bitte
- iobroker crash der sd karte mit js-cont 3.x
- neue karte, neue installlation - es ist jetzt js-cont. 4.x
- haben iob setup costum ausgeführt und auf file umgestellt - wollten restore machen
- nschliessend sudo npm i iobroker.js-controller@3.3.22 --production
geht nicht - es kommt fehler:
pi@homebridge:/opt/iobroker $ sudo npm i iobroker.js-controller@3.3.22 --production > iobroker.js-controller@3.3.22 preinstall /opt/iobroker/node_modules/iobroker.js-controller > node lib/preinstallCheck.js NPM version: 6.14.16 > iobroker.js-controller@3.3.22 install /opt/iobroker/node_modules/iobroker.js-controller > node iobroker.js setup first Cannot write file. Not critical: EACCES: permission denied, open '/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/../../../../reinstall.js' Cannot delete file. Not critical: EACCES: permission denied, unlink '/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/../../_service_iobroker.bat' Cannot delete file. Not critical: EACCES: permission denied, unlink '/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/../../iobroker.bat' Cannot delete file. Not critical: EACCES: permission denied, unlink '/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/../../iob.bat' internal/fs/utils.js:332 throw err; ^ Error: EACCES: permission denied, mkdir '/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/../../tmp' at Object.mkdirSync (fs.js:1013:3) at Setup.setup (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupSetup.js:835:16) at processCommand (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup.js:487:23) at Object.module.exports.execute (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup.js:2912:5) at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.js-controller/iobroker.js:1:24) at Module._compile (internal/modules/cjs/loader.js:1085:14) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10) at Module.load (internal/modules/cjs/loader.js:950:32) at Function.Module._load (internal/modules/cjs/loader.js:790:12) at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:75:12) { errno: -13, syscall: 'mkdir', code: 'EACCES', path: '/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/../../tmp' }
was muss ich machen, damit ich den restore fahren kann ?
-
@liv-in-sky sagte in js-controller 4.0.x jetzt für alle User im STABLE!:
sudo npm
Bitte
sudo -H -u iobroker npm
verwenden.
-
erstmal danke - bitte genau erklären - haben das ganze wieder auf js-c 4.x gebracht und mit jsonl
wie genau müssen wir vorgehen - wieder zuerst iob setup costum
und was dann
sudo -H -u iobroker npm i iobroker.js-controller@3.3.22 --production
-
Das weiß ich auch nicht.
Aber ich weiß, dass man nicht npm in Verbindung mit sudo (ohne weitere Optionen) verwendet.
Da scheint mir auch schon was an den Rechten verbogen worden zu sein. Sonst dürfte da kein 'permission denied' erscheinen.
Wie sehen die Rechte an
/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/../../tmp
denn jetzt aus? -
@thomas-braun sagte in js-controller 4.0.x jetzt für alle User im STABLE!:
/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/
pi@homebridge:/opt/iobroker/node_modules/iobroker.js-controller/lib/setup $ ls -la total 356 drwxr-xr-x+ 2 iobroker iobroker 4096 Mar 3 12:15 . drwxr-xr-x+ 9 iobroker iobroker 4096 Mar 3 12:15 .. -rw-r--r--+ 1 iobroker iobroker 11580 Oct 26 1985 pluginInfos.js -rw-r--r--+ 1 iobroker iobroker 44624 Oct 26 1985 setupBackup.js -rw-r--r--+ 1 iobroker iobroker 76814 Oct 26 1985 setupInstall.js -rw-r--r--+ 1 iobroker iobroker 2944 Oct 26 1985 setupLicense.js -rw-r--r--+ 1 iobroker iobroker 14964 Oct 26 1985 setupMultihost.js -rw-r--r--+ 1 iobroker iobroker 8127 Oct 26 1985 setupPacketManager.js -rw-r--r--+ 1 iobroker iobroker 17674 Oct 26 1985 setupRepo.js -rw-r--r--+ 1 iobroker iobroker 49970 Oct 26 1985 setupSetup.js -rw-r--r--+ 1 iobroker iobroker 30709 Oct 26 1985 setupUpgrade.js -rw-r--r--+ 1 iobroker iobroker 30738 Oct 26 1985 setupUpload.js -rw-r--r--+ 1 iobroker iobroker 23092 Oct 26 1985 setupUsers.js -rw-r--r--+ 1 iobroker iobroker 14964 Oct 26 1985 setupVendor.js -rw-r--r--+ 1 iobroker iobroker 9030 Oct 26 1985 setupVisDebug.js pi@homebridge:/opt/iobroker/node_modules/iobroker.js-controller/lib/setup $
-
der server läuft ohne fehler meldungen und hat iob setup custom mit file !! und js-cont - 4x
-
ist dieser befehl richtig ?
sudo -H -u iobroker npm i iobroker.js-controller@3.3.22 --production
-
@liv-in-sky
Muss dann auch noch im richtigen Verzeichnis ausgeführt werden.cd /opt/iobroker
-
danke war der richtige befehl
haben restore gemacht - warten gerade darauf, dass er alles wieder installiert
-
würdest du das bitte noch richtigstellen - sonst viele fehler:
in
sudo -H -u iobroker npm i iobroker.js-controller@3.3.22 --production
-
@liv-in-sky Da muss eigentlich nichts angepasst werden. In einem korrekt installierten System, bei dem man nicht irgendetwas mittels sudo oder root-Login "verbogen" hat, und bei dem der angemeldete User der Gruppe iobroker angehört, funktioniert der Befehl exakt so ohne dass man den Befehl npm mittels sudo -u iobroker als user iobroker ausführen müsste.
Je weniger man irgendwo sudo verwendet, umso besser. Erst recht, wenn man nicht (genau) weiss, warum man es verwendet. Auf korrekten Installationen mit korrekten Usern und Gruppen lässt sich alles in und um iobroker ohne sudo bewerkstelligen.
Gruss, Jürgen -
@wildbill sagte in js-controller 4.0.x jetzt für alle User im STABLE!:
n einem korrekt installierten System
und vor allem, wenn man das gemacht hat was hinter dem Befehl in Klammern steht!
-
etwas seltsam - wir haben ein image von raspi debian bullseye installiert, dann die installation von iobroker aufgerufen - die ja alles mitinstalliert (nodejs14 )
da war nichts verbogen oder anderes gemacht worden
- dann wollte ich einen restore machen
- ging nicht , da backup file mit js-c 3.x war
- also wollte ich mit dem befehl ohne sudo den js-c downgraden
- ging nicht - weil jsonl
- dann müßten wir nochmal den js-c 4.x installieren, da iobroker nicht mehr startete
- dann mit iob setup custom auf file geändert
- dann versucht mit dem befehl (mit und ohne sudo) down zu graden
- bei beiden versuchen kamen rechte probleme
- dann wieder js-c4 installiert, da system wieder nicht startete
- dann wieder auf file umgestelt und mit dem befehl sudo -u iobroker ...... downgrade
- erst dann funktionierte es
definitiv war nichts am system vebogen - es war so installiert, wie es in der doku steht
vielleicht habe ich was anderes falsch gemacht - aber ungefähr so war das vorgehen - ab und an lief der "fixer"
-
@homoran ich war immer im iobroker verzeichnis
-
@liv-in-sky Was da bei Dir schief gelaufen ist und warum, kann ich natürlich nicht sagen. Aber ich kann sagen, dass bei korrekter Installation mit korrekt eingerichtetem User, der in der Gruppe iobroker ist, mit Ordnern unterhalb /opt/iobroker in denen noch kein root unterwegs war oder mit sudo hantiert wurde, definitiv der Befehl aus der Anleitung ohne sudo direkt als User funktioniert. Also muss bei Deiner Installation irgendwann irgendwo irgendwas anders gelaufen sein, als es im Standard tut. Spätestens nach einem einmaligen
Iobroker fix
Sollte es dann aber ohne sudo tun. Sonst ist irgendwo was faul.
Und wenn es mit sudo -u iobroker geht, mit dem normalaen User ohne sudo aber nicht, dann scheint entweder der User nicht der Gruppe iobroker anzugehören, oder die Datei- oder Ordnerrechte nicht (mehr) zu passen. Der Befehl sudo -u iobroker sorgt ja nur dafür, dass nachfolgender Befehl als User iobroker, und eben nicht als root odrer mit sonstwie erweiterten Rechten ausgeführt wird.Gruss, Jürgen
-
werden wir nicht mehr rausfinden - ich kann erst morgen wieder checken, wie es dem server geht.
danke für deine antwort - alles gut im moment
-
@liv-in-sky Warum willst du den controller wieder downgraden??
-
@apollon77 sagte in js-controller 4.0.x jetzt für alle User im STABLE!:
Danach zeigt iob statuswieder "file" an. Dann kann ein Backup für den Restore in einer kleineren Version erstellt werden oder ein Downgrade via npm i iobroker.js-controller@version (Vorher ins ioBroker Verzeichnis wechseln!) auf die gewünschte Version erfolgen.
weil es da so steht