Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Core Boot Options setzen funktioniert nicht #98

Open
LevelOne2k opened this issue Jan 21, 2020 · 13 comments
Open

Core Boot Options setzen funktioniert nicht #98

LevelOne2k opened this issue Jan 21, 2020 · 13 comments

Comments

@LevelOne2k
Copy link

Hallo!

Ich wollte gerade die Boot Options "HVL beim Sytemstart starten" setzen. Als ich auf den Link geklickt habe, passierte nichts weiter, die Adresszeile hat kurz geladen und dann ging es nicht weiter:
Bildschirmfoto 2020-01-21 um 09 21 52
Kann es vielleicht daran liegen, dass HVL bei mir nicht in /home/pi installiert ist sondern in /home/hvl ?

@thkl
Copy link
Owner

thkl commented Jan 21, 2020

Was an der Stelle passiert ist :

  • das Shellscript aus lib\hmvi_npm wird nach /etc/init.d/hvl_service kopiert
  • /etc/init.d/hvl_service bekommt das execute Flag
    und der Launchdaemon wird aktualisiert.

Folgendes kann schief gehen:

User unter dem HVL läuft darf kein sudo
Es gibt kein etc/init.d/ Launcher mehr sondern der Launch passiert über systemd
Das Ganze basiert auch auf der Vorraussetzung das hvl unter einem User namens hmvi läuft. der User kam ursprünglich mal aus dem alten Installer.

Das müsste ich vorher alles ermitteln und entsprechend reagieren. Ich nehm das Problem mal ins Backlog auf

thkl added a commit that referenced this issue Jan 21, 2020
thkl added a commit that referenced this issue Jan 21, 2020
@thkl
Copy link
Owner

thkl commented Jan 21, 2020

sollte mit 0.2.74 besser funktionieren.
Es wird jetzt systemd benutzt. Der User unter dem das läuft sollte sudo rechte haben. Sonst wird es schwer einen Service zu installieren

@LevelOne2k
Copy link
Author

LevelOne2k commented Jan 21, 2020

Okay. Wie kann ich das was Du wissen musst, alles kontrollieren?

Den Ordner "/etc/init.d/" gibt es auf jeden Fall. Aber dort ist nichts von HVL zu sehen:
Bildschirmfoto 2020-01-21 um 18 34 14

HVL ist nach "home/hvl/" installiert und nicht nach "home/pi/" falls das auch Auswirkungen darauf haben sollte.

Wenn ich mich dem User "hvl" einlogge und dann "su" eingebe, muss ich danach das root Passwort eingeben. Danach kann ich alles machen, reboot, poweroff, Dateien editieren usw.

Wenn ich mich dem User "hvl" eingeloggt bin und z.B. eingebe:

sudo reboot --> Meldung: "Kein Passworteintrag für Benutzer »reboot«"

oder

su reboot --> Meldung: "Kein Passworteintrag für Benutzer »reboot«"

oder

Mit Nano eine Datei editieren will --> Meldung: "[ Fehler beim Schreiben von /etc/hosts: Keine Berechtigung ]"

Falls das hierauf ein Hinweis ist "User unter dem HVL läuft darf kein sudo"

@thkl
Copy link
Owner

thkl commented Jan 21, 2020

in der neuen Version generiere ich das Servicefile .. das heisst es ist Wurst wo das ganze liegt. Das ermittelt hvl selber. Ich ermittle auch den User unter dem das gerade läuft.

Wenn der Automatismus nicht funktioniert (weil der User kein sudoer ist)
Es wird in /tmp/ ein File namens hvl.service abgelegt.
Folgende Commands sind als root nötig:

mv /tmp/hvl.service /etc/systemd/system
systemctl daemon-reload
systemctl enable hvl

Ich schau mal noch wie ich elegant checken kann ob ich mit sudo root Rechte bekommen kann

@LevelOne2k
Copy link
Author

Ich habe das Update auf Version 0.2.74 gemacht. HVL sagte "please restart". Habe dann unter "Service" auf Neustart geklickt, aber HVL hat keinen Neustart gemacht, ist das normal?

Im Ordner "/etc/systemd/system" ist nichts von "hvl.service" zu sehen, im Ordner "/tmp/" jedoch auch nicht.

@thkl
Copy link
Owner

thkl commented Jan 21, 2020

kommt drauf an wie hvl gestartet wurde. Daher geht HVL erstmal davon aus das es über den node daemon Prozess gestartet wurde. Wenn der Autostart enabled wurde, dann wird das umgebaut auf sudo service hvl restart

@LevelOne2k
Copy link
Author

Nach der Installation habe ich HVL das erste Mal so gestartet:
/home/hvl/node_modules/homematic-virtual-interface/bin/hmviservice start

@LevelOne2k
Copy link
Author

LevelOne2k commented Jan 21, 2020

Ich habe jetzt das Update auf Version 0.2.75 gemacht. Aber auch hier, hat der Neustart unter Service nicht geklappt. HVL läuft immer weiter.

Auch funktioniert dieser Befehl dann nicht bzw. HVL läuft weiter:
/home/hvl/node_modules/homematic-virtual-interface/bin/hmviservice stop

Es kommt dann zwar:

Stopping HMVirtual daemon...
Stopping daemon...
HMVirtual daemon stopped.
Daemon stopped.

Aber HVL läuft immer weiter.

@LevelOne2k
Copy link
Author

LevelOne2k commented Jan 21, 2020

Ich Dummkopf muss natürlich trotz Update erstmal hier klicken:
Bildschirmfoto 2020-01-21 um 19 39 55

Danach ist die hvl.service im /tmp/ Ordner gelandet.

Nach

mv /tmp/hvl.service /etc/systemd/system
systemctl daemon-reload
systemctl enable hvl

Funktioniert dann auch der Autostart.

Also kann der User wohl kein sudo das hvl.service im /tmp/ Ordner landet und nicht in /etc/systemd/system ?

@thkl
Copy link
Owner

thkl commented Jan 21, 2020

Ja genau ich schreibe es erst nach /tmp und lasse das File dann via sudo mv nach /etc/systemd/system umziehen...

Ich werde mal nach dem move noch einen Check einbauen ob das File dort gelandet ist.

@LevelOne2k
Copy link
Author

LevelOne2k commented Jan 21, 2020

Ok. Bei mir ist es nicht in /etc/systemd/system gelandet sondern in /tmp/ geblieben. Ich habe es dann manuell von /tmp/ nach /etc/systemd/system verschoben.

@thkl
Copy link
Owner

thkl commented Jan 21, 2020

ja weil der User, unter dem HVL läuft kein sudo darf. Und != root darf nicht nach /etc/systemd schreiben

@LevelOne2k
Copy link
Author

LevelOne2k commented Jan 21, 2020

Okay dann haben wir das Problem. Bekommst du das intern hin?

Edit:
Ich denke das liegt aber im moment daran, dass ich HVL auf Debian teste. Wenn jetzt demnächst die verschiedenen Bugs beseitigt sind, dann kommt HVL sowieso wieder auf einen Pi drauf und da sollte der User „pi“ ja Sudo dürfen. Also brauchst du Dir da eigentlich keine Mühe machen.

Ich denke die meisten installieren HVL als Addon auf der CCU oder außerhalb auf einem Pi. Werde da wohl mit Debian gerade die absolute Ausnahme sein.

Edit2:
@thkl bei mir war kein sudo installiert. Ein apt-get install sudo hat Abhilfe geschaffen.

Nun landet die hvl.service direkt in /etc/systemd/system

HVL unter Boot Options beim Sytemstart starten aktivieren klappt jetzt also.

Was aber nicht klappt: HVL Start beim Sytemstart deaktivieren wenn ich da drauf klicke, dann bleibt die hvl.service in /etc/systemd/system drin.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants