[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [gelöst] Buster poweroff und wake on lan



Hallo Uwe, sieht gut aus

Das verwirrt manche Leser vielleicht etwas:
Requires=network.target
Before=network.target

Requires= sorgt dafür, dass beim Start der wol.unit auch network.target
gestartetet wird. Before= verlangt zusätzlich, dass wol.unit fertig sein
muss, bevor network.target starten darf. (Die zwei Angaben widersprechen
sich also nicht, wenngleich die Kombi selten ist.)

network.target hat während des Starts übrigens kaum Bedeutung. Beim
Erreichen des Targets läuft halt der Network Management Stack. Ob irgend
ein Netzwerkinterface konfiguriert ist, ist damit nicht definiert.

Der Hauptzweck dieses Targets kommt beim Shutdown zum Tragen: Beim
Shutdown wird die Startreihenfolge (definiert durch die Before= und
After= der Units) umgedreht. In diesem besonderen Fall wird damit
sichergestellt, dass der ExecStop-Aufruf von pci-config erst NACH der
Beendigung des Network Management Stack aufgerufen wird. -- Ich gehe mal
davon aus, dass dies so gewollt/benötigt wird.

Ich habe schon ein paar Beispiele gesehen, wo meiner Meinung nach der
Eintrag "DefaultDependencies=no" völlig unsinnig ist, in diesem Fall
will man aber, dass der Aufruf von ExecStop möglichst spät ausgeführt
wird und macht damit Sinn.

Gefällt mir gut!
Martin

On Tue, 2019-04-09 at 09:19 +0200, Uwe Herrmuth wrote:
> Hallo Martin,
> 
> Martin schrieb am 03.04.2019 um 10:18:
> 
> > Schon älter, hier wurde das Paket nictools-pci verwendet. Falls dies
> > etwas hilft, müsste man das Shutdown-Script dann auf systemd
> > rüberschreiben:
> > https://lists.debian.org/debian-user/2012/01/msg00241.html
> 
> Ich hab jetzt eine Service-Unit erstellt und seit dem tut es.
> 
> [Unit]
> Description=WOL for PCI Realtek network devices and r8169 module
> DefaultDependencies=no
> Requires=network.target
> Before=network.target network-online.target shutdown.target
> 
> [Service]
> Type=simple
> RemainAfterExit=true
> ExecStart=/usr/sbin/pci-config -B 5 -# 1 -W
> ExecStop=/usr/sbin/pci-config -B 5 -# 1 -S
> 
> [Install]
> WantedBy=multi-user.target shutdown.target
> 
> 
> Viele Grüße
> Uwe
> 


Reply to: