shutdown remoto da ubuntu 17.10 su Yocto

Compilazione del kernel, gestione moduli, servizi attivi, e tutti gli interventi per l'ottimizzazione del sistema operativo.

shutdown remoto da ubuntu 17.10 su Yocto

Messaggioda Dr_Berta » mercoledì 5 settembre 2018, 10:38

Salve,
mi sto scontrando con un problema che avrebbe dovuto essere quasi banale
Ho necessità di mandare in poweroff un sistema microzed/yocto che dialoga via rete con un pc basato su ubuntu 17.10 al momento dello spegnimento di quest'ultimo.

Per farlo ho usato systemd e quindi ho creato il seguente script di poweroff:
Codice: Seleziona tutto
#!/bin/sh
ssh root@182.168.1.10 "poweroff"
exit 0

e gli ho dato i permessi di esecuzione
Se lancio lo script da shell vedo che il sistema microzed va in poweroff come previsto.
A questo punto ho creato un servizio per lanciare lo script allo spegnimento del pc con ubuntu
Ho quindi creato e messo nella cartella /etc/systemd/system il seguente script (chiamato zynqdown.service):
Codice: Seleziona tutto
[Unit]
Documentation=
Description=Poweroff linux on zynq board

[Service]
Type=oneshot
RemainAfterExit=true
ExecStop=/home/user/bin/poweroffscript

[Install]
WantedBy=multi-user.target

A questo punto ho lanciato il comando:
Codice: Seleziona tutto
systemctl enable zynqdown.service

per abilitare il servizio e l'ho provato.
Risultato... Fallimento totale. Il servizio non ha fatto nulla o non è stato eseguito

Dove ho sbagliato? Avete suggerimenti?
Grazie
Claudio
Ubuntu user #35116. Linux user #550996 - Il cervello è come un paracadute, funziona solo se si apre [Einstein]
Avatar utente
Dr_Berta
Entusiasta Emergente
Entusiasta Emergente
 
Messaggi: 1848
Iscrizione: luglio 2011
Località: Carpi (MO)
Desktop: Gnome fb + Cairo dock
Distribuzione: Ubuntu 18.04 x86_64 LTS

Re: shutdown remoto da ubuntu 17.10 su Yocto

Messaggioda Filoteo » mercoledì 5 settembre 2018, 10:42

1) Oltre a abilitare il servizio devi anche farlo partire con
Codice: Seleziona tutto
systemctl start zynqdown.service

2) SSH richiede la password di login per quell'host, che non può essere fornita quando lo script viene avviato da systemd, quindi dovresti usare l'autenticazione a chiave pubblica.
3) Sei sicuro che l'host sia 182.168.1.10?
Filoteo
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 400
Iscrizione: agosto 2015
Desktop: Gnome
Distribuzione: Manjaro Linux

Re: shutdown remoto da ubuntu 17.10 su Yocto

Messaggioda Dr_Berta » mercoledì 5 settembre 2018, 10:48

Ciao.
Grazie della dritta. Normalmente non uso systemd e pensavo che l'abilitazione facesse anche partire il servizio in automatico
L'indirizzo è 192.168.1.10. Errore mio di scrittura nel post.
Riguardo alla password ho effettivamente usato l'autenticazione a chiave pubblica

Provo a far partire il servizio e ti dico
Ciao
Claudio
Ubuntu user #35116. Linux user #550996 - Il cervello è come un paracadute, funziona solo se si apre [Einstein]
Avatar utente
Dr_Berta
Entusiasta Emergente
Entusiasta Emergente
 
Messaggi: 1848
Iscrizione: luglio 2011
Località: Carpi (MO)
Desktop: Gnome fb + Cairo dock
Distribuzione: Ubuntu 18.04 x86_64 LTS

Re: shutdown remoto da ubuntu 17.10 su Yocto

Messaggioda Dr_Berta » mercoledì 5 settembre 2018, 11:50

Rieccomi.
Purtroppo ancora un fallimento.
Facendo lo start del servizio systemd mi ha detto che mancava la voce ExecStart
L'ho aggiunta così: ExecStart=/bin/true come suggerito in un post trovato durante le mie ricerche in merito a questo problema
Ho disabilitatoe riabilitato il servizio e l'ho fatto partire, poi ho spento il pc per vedere se funzionava.
Riavvio il pc e verifico se il sistema microzed è in poweroff: no. E' lì bello funzionante :muro:
Dando il comando
Codice: Seleziona tutto
systemctl status zynqdown
ottengo la seguente risposta:
Codice: Seleziona tutto
● zynqdown.service - Poweroff linux on zynq board
   Loaded: loaded (/etc/systemd/system/zynqdown.service; enabled; vendor preset:
   Active: inactive (dead) since Wed 2018-09-05 11:23:12 CEST; 12min ago
  Process: 821 ExecStop=/home/user/bin/zynqdown (code=exited, status=0/SUCCESS)
  Process: 743 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
 Main PID: 743 (code=exited, status=0/SUCCESS)

Sep 05 11:23:12 GeneDrive systemd[1]: Starting Poweroff linux on zynq board...
Sep 05 11:23:12 GeneDrive zynqdown[821]: ssh: connect to host 192.168.1.10 port 22: Network is unreachable
Sep 05 11:23:12 GeneDrive systemd[1]: Started Poweroff linux on zynq board.

Se non interpreto male, ci ha provato, ma non ha trovato la rete
Forse viene eseguito quando la rete del pc con ubuntu è già andata giù?
Se sì mi sa che devo usare la chiave "before=networking.service" corretto?

Ciao Claudio
Ubuntu user #35116. Linux user #550996 - Il cervello è come un paracadute, funziona solo se si apre [Einstein]
Avatar utente
Dr_Berta
Entusiasta Emergente
Entusiasta Emergente
 
Messaggi: 1848
Iscrizione: luglio 2011
Località: Carpi (MO)
Desktop: Gnome fb + Cairo dock
Distribuzione: Ubuntu 18.04 x86_64 LTS

Re: shutdown remoto da ubuntu 17.10 su Yocto

Messaggioda Dr_Berta » giovedì 6 settembre 2018, 9:40

Ciao,
ancora non funziona.
Ho provato, seguendo le indicazioni del seguente post, a modificare lo script del servizio come segue:
Codice: Seleziona tutto
[Unit]
Documentation=
Description=Poweroff linux on zynq board
Requires=network.target
Before=shutdown.target reboot.target halt.target

[Service]
Type=oneshot
RemainAfterExit=true
ExecStop=/home/user/bin/zynqdown

[Install]
WantedBy=shutdown.target reboot.target halt.target

ma senza successo.

Altri suggerimenti?
Ciao
Claudio
Ubuntu user #35116. Linux user #550996 - Il cervello è come un paracadute, funziona solo se si apre [Einstein]
Avatar utente
Dr_Berta
Entusiasta Emergente
Entusiasta Emergente
 
Messaggi: 1848
Iscrizione: luglio 2011
Località: Carpi (MO)
Desktop: Gnome fb + Cairo dock
Distribuzione: Ubuntu 18.04 x86_64 LTS


Torna a Kernel e servizi di sistema

Chi c’è in linea

Visualizzano questa sezione: 0 utenti registrati e 6 ospiti