NEWS
[gelöst] Debian Autostart will nicht - kein SUDO
-
Mein Autostart will unter Debian nicht.
Es kommt folgender Fehler
root@FHEM:~# bash /opt/iobroker/node_modules/iobroker/install/linux/install.sh Use user root for install. Set permissions... Start iobroker... /opt/iobroker/node_modules/iobroker/install/linux/install.sh: Zeile 65: cd: @@PATH@@: Datei oder Verzeichnis nicht gefunden /opt/iobroker/node_modules/iobroker/install/linux/install.sh: Zeile 67: ./iobroker: Datei oder Verzeichnis nicht gefunden call http://ip_address:8081/ in browser to get the AdminUI of ioBroker
habe die Datei install.sh und die im init.d neu angelegt bringt aber nichts.
Einer eine Idee?
-
Welches os genau?
-
Zeige mal was die Ausgabe bringt wenn du den Befehl eingibst. Das man sieht welches Debian du verwendest
uname -a
Startet iobroker wenn du ihn per Hand startest?
iobroker start
-
Linux FHEM 3.16.0-4-amd64 #1 SMP Debian 3.16.39-1+deb8u2 (2017-03-07) x86_64 GNU/Linux
Ja von Hand geht alles wunderbar
-
Hast du mal in regel 65 und 67 geschaut welchen pfad er nicht findet und ob er bereit das ist?
–-----------------------
Send from mobile device
-
was meinst du genau?
Im Install Script steht````
Start the service!
echo "Start iobroker..."
cd @@PATH@@ ## Zeile 65
#chmod 777 * -R
./iobroker start ## Zeile 67
echo "call http://ip_address:8081/ in browser to get the AdminUI of ioBroker"ich muss nach jeden reboot iobroker per hand starten
-
was meinst du genau?
Im Install Script steht````
Start the service!
echo "Start iobroker..."
cd @@PATH@@ ## Zeile 65
#chmod 777 * -R
./iobroker start ## Zeile 67
echo "call http://ip_address:8081/ in browser to get the AdminUI of ioBroker"ich muss nach jeden reboot iobroker per hand starten `
?
im "/opt/iobroker/node_modules/iobroker/install/linux/install.sh" ?
bei mir steht da:
#!/bin/bash #Create empty directories IO_USER=$USER NODE=`which node` #Create user if first install #if [ ! -f "/opt/iobroker/conf/iobroker.json" ]; then # if [ $(cat /etc/passwd | grep "/home" |cut -d: -f1 | grep '^iobroker/r> | wc -l) -eq 0 ] # then # read -p "Use current user '$USER' for iobroker? If not, the 'iobroker' user will be created.! [Y/n]" yn # case $yn in # [Nn]* ) echo "Create user iobroker ..."; # apt-get install sudo; # useradd iobroker; # adduser iobroker sudo; # IO_USER=iobroker; # break;; # [Yy]* ) echo "Use user '$USER' for iobroker.";; # * ) echo "Use user $USER for iobroker.";; # esac # else # IO_USER=iobroker # fi #else if [ $(cat /etc/passwd | grep "/home" |cut -d: -f1 | grep '^iobroker/r> | wc -l) -eq 0 ] then IO_USER=$USER else IO_USER=iobroker fi echo "Use user $IO_USER for install." #fi #Modify /etc/couchdb/local.ini. Replace ";bind_address = 127.0.0.1" with "bind_address = 0.0.0.0" #if grep -Fq ";bind_address = 127.0.0.1" /etc/couchdb/local.ini; then # sed -i -e 's/;bind_address = 127\.0\.0\.1/bind_address = 0.0.0.0/g' /etc/couchdb/local.ini # /usr/bin/couchdb -d # /usr/bin/couchdb -b #fi ## if iobroker.sh not exists. Copy it if [ ! -f "/etc/init.d/iobroker.sh" ]; then cp /opt/iobroker/node_modules/iobroker.js-controller/../iobroker/install/linux/iobroker.sh /etc/init.d/iobroker.sh
-
das problem scheint aber nicht an der install.sh zu liegen. die datei im init.d wurde ja erstellt. auch funktionieren tut sie ja aber irgendwas passt da beim neustart nicht.
Gibt es eine möglichkeit das zu loggen oder so?
-
zeigt doch mal den Inhalt der init.d, hatte nach dem Update dort auch Autostart wieder repariert…
-
was genau möchtest du denn sehen?
-
Hat sich erledigt.
DEBIAN installiert kein sudo bei der Installation!
https://www.privateinternetaccess.com/f … by-default
So ging es
-
Hat sich erledigt.
DEBIAN installiert kein sudo bei der Installation!
https://www.privateinternetaccess.com/f … by-default
So ging es `
Danke dir!
Da ich alles mit dem root User ausführe musste ich nur sudo nachinstallieren
-
ich führe auch alles mit dem root User aus, nur leider klappt der Autostart und debian 9 leider nicht.
Sudo hatte ich als erstes nachinstalliert.
Hast du noch eine Idee was ich machen könnte, damit der Autostart wieder läuft?
Gruß
-
:idea: Nach langem probieren, hier meine funktionierende Autostartlösung mit system.d unter Debian 9:
sudo nano /lib/systemd/system/iobroker.service
/lib/systemd/system/iobroker.service
[Unit] Description=iobroker daemon After=network.target [Service] Type=forking ExecStart=/usr/bin/node /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js start User=root PIDFile=/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid Restart=on-abort [Install] WantedBy=default.target
Der so vorbereitete Dienst kann über den systemctl Befehl gestartet werden.
sudo systemctl start iobroker.service
systemctl daemon-reload
Wenn alles ok ist, kann der Autostart aktiviert werden:
sudo systemctl enable iobroker.service
Bei Systemstart wird nun iobroker automatisch gestartet.
Um den Dienst wieder auszuschalten und den Neustart bei Systemstart zu verhindern nutzt man:
sudo systemctl disable iobroker.service
Um zu sehen, ob iobroker läuft, genügt ein
sudo systemctl status iobroker.service
Läuft es noch nicht und man möchte sozusagen manuell starten reicht ein:
sudo systemctl start iobroker.service
Ein Neustart von iobroker würde mit
sudo systemctl restart iobroker.service
funktionieren, ein Stop von iobroker entsprechend
sudo systemctl stop iobroker.service
Gruß Nordi