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.
Avatar utente
Dr_Berta
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1906
Iscrizione: domenica 31 luglio 2011, 12:37
Desktop: Gnome + Cairo Dock
Distribuzione: Ubuntu 20.04.x x86_64 LTS
Località: Carpi (MO)

shutdown remoto da ubuntu 17.10 su Yocto

Messaggio da Dr_Berta »

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
Filoteo
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1318
Iscrizione: venerdì 28 agosto 2015, 9:38
Desktop: Gnome
Distribuzione: Arch Linux

Re: shutdown remoto da ubuntu 17.10 su Yocto

Messaggio da Filoteo »

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?
Avatar utente
Dr_Berta
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1906
Iscrizione: domenica 31 luglio 2011, 12:37
Desktop: Gnome + Cairo Dock
Distribuzione: Ubuntu 20.04.x x86_64 LTS
Località: Carpi (MO)

Re: shutdown remoto da ubuntu 17.10 su Yocto

Messaggio da Dr_Berta »

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: 1906
Iscrizione: domenica 31 luglio 2011, 12:37
Desktop: Gnome + Cairo Dock
Distribuzione: Ubuntu 20.04.x x86_64 LTS
Località: Carpi (MO)

Re: shutdown remoto da ubuntu 17.10 su Yocto

Messaggio da Dr_Berta »

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: 1906
Iscrizione: domenica 31 luglio 2011, 12:37
Desktop: Gnome + Cairo Dock
Distribuzione: Ubuntu 20.04.x x86_64 LTS
Località: Carpi (MO)

Re: shutdown remoto da ubuntu 17.10 su Yocto

Messaggio da Dr_Berta »

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]
Scrivi risposta

Ritorna a “Kernel e servizi di sistema”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 8 ospiti