Service erst bei vollständigem Netzwerk starten
Moin, ich hab einen Dienst den ich erst starten will, wennd as NEtzwerk komplett oben ist. Leider scheintd as nicht zu gehen. Gesetzt ist: Requires=network-online.target Wants=network-online.target After=network-online.target network.target Trotzdem hat das System noch keine IP, wenn die Kiste hoch kommt. Weiß jemand, was ich hier falsch mache bzw. an was kann ich mich sonst aufhängen? ICh will da nicht unbedingt nen eigenen Loop einbauen, der aufs Netzwerk schielt. Gruß Daniel -- Daniel Spannbauer Systemadministration marco Systemanalyse und Entwicklung GmbH Tel +49 8333 9233-27 Fax -11 Rechbergstr. 4-6, D 87727 Babenhausen Mobil +49 171 4033220 https://www.marco.de Email ds@marco.de Geschäftsführer Martin Reuter, Torsten Lukas HRB 171775 Amtsgericht München
Mon, 25 Jul 2022 11:09:20 +0200 Daniel Spannbauer <ds@marco.de>:
wennd as NEtzwerk komplett oben ist.
Das musst Du zwingend genau definieren, weil das ein sehr schwammiger Begriff ist... systemd sieht das auch so, und kann deshalb keine Lösung anbieten. Steht sinngemäß so in systemd.special(7). Olaf
Am 25.07.2022 um 13:10 schrieb Olaf Hering:
Mon, 25 Jul 2022 11:09:20 +0200 Daniel Spannbauer <ds@marco.de>:
wennd as NEtzwerk komplett oben ist.
Das musst Du zwingend genau definieren, weil das ein sehr schwammiger Begriff ist...
systemd sieht das auch so, und kann deshalb keine Lösung anbieten. Steht sinngemäß so in systemd.special(7).
Olaf
Dann hätte der liebe Lennart mal etwas Sinnvolles machen sollen anstatt lauter Blödsinn in sein systemd Wirrwar einzubauen das kein Mensch braucht. Sowas ist ja wirklich essentiell Manfred
Am 25.07.22 um 13:10 schrieb Olaf Hering:
Mon, 25 Jul 2022 11:09:20 +0200 Daniel Spannbauer <ds@marco.de>:
wennd as NEtzwerk komplett oben ist. Das musst Du zwingend genau definieren, weil das ein sehr schwammiger Begriff ist...
systemd sieht das auch so, und kann deshalb keine Lösung anbieten. Steht sinngemäß so in systemd.special(7).
Olaf
Dann sollte ich wohl mal nen Bug-Report bei openSUSE öffnen... "What precisely this requires is left to the implementation of the network managing service." Für mich ist das Netzwerk oben, wenn ich die Vorraussetzung für Kommunikation über das LAN erfülle, also Link up und IP vorhanden (wenn DHCP) Ich loop jetzt einfach mit ner While-Schleife, bis ifconfig ne IP spuckt. Ist halt unschöne.... Gruß Daniel -- Daniel Spannbauer Systemadministration marco Systemanalyse und Entwicklung GmbH Tel +49 8333 9233-27 Fax -11 Rechbergstr. 4-6, D 87727 Babenhausen Mobil +49 171 4033220 https://www.marco.de Email ds@marco.de Geschäftsführer Martin Reuter, Torsten Lukas HRB 171775 Amtsgericht München
Am 26.07.2022 um 12:03 schrieb Daniel Spannbauer:
Am 25.07.22 um 13:10 schrieb Olaf Hering:
Mon, 25 Jul 2022 11:09:20 +0200 Daniel Spannbauer <ds@marco.de>:
wennd as NEtzwerk komplett oben ist. Das musst Du zwingend genau definieren, weil das ein sehr schwammiger Begriff ist...
systemd sieht das auch so, und kann deshalb keine Lösung anbieten. Steht sinngemäß so in systemd.special(7).
Olaf
Dann sollte ich wohl mal nen Bug-Report bei openSUSE öffnen...
"What precisely this requires is left to the implementation of the network managing service."
Für mich ist das Netzwerk oben, wenn ich die Vorraussetzung für Kommunikation über das LAN erfülle, also Link up und IP vorhanden (wenn DHCP)
Exakt so sehe ich das auch. In diesem Zusammenhang muss ich Olaf auch vehement widersprechen. Bei 'Netzwerk oben' ist überhaupt nichts schwammig. Manfred
On Mon, 25 Jul 2022 11:09:20 +0200 Daniel Spannbauer <ds@marco.de> wrote: Hallo Daniel!
Trotzdem hat das System noch keine IP, wenn die Kiste hoch kommt. Vermutlich (leider fehlen noch ein paar Infos) ähnelt das Problem einem, das ich auch mal mit einem Rechner hatte.
Requires=network-online.target Wants=network-online.target After=network-online.target network.target Das hilft in dem Falle auch nicht, denn das Netzwerk startet
Der Rechner bezog seine Infos über dhcp von einer Fitz-Box und war oft schneller gestartet, als die Box liefern konnte. Damit sind amavis und davon abhängige Dienste auf die Nase gefallen. trotzdem und somit der Dienst. Ich hatte damals den Start des Dienstes etwas verzögert. Dafür gibt es zwei Optionen: ExecStartPre=-/bin/sleep ? oder TimeoutStartSec= ? ? mußt Du durch die Zeiteinheit ersetzen und evtl. etwas experimentieren. Weitere Infos dazu erhältst du mit man systemd.service.5 Welche der Varianten ich genutzt habe, weiß ich heute nicht mehr und kann im Moment auch nicht nachschauen. Vielleicht passen die Ideen auf Dein Problem und helfen Dir hoffentlich weiter. Viele Grüße Matthias
Am 25.07.22 um 11:09 schrieb Daniel Spannbauer:
ich hab einen Dienst den ich erst starten will, wennd as NEtzwerk komplett oben ist.
Leider scheintd as nicht zu gehen.
Gesetzt ist:
Requires=network-online.target Wants=network-online.target After=network-online.target network.target
Trotzdem hat das System noch keine IP, wenn die Kiste hoch kommt.
Weiß jemand, was ich hier falsch mache bzw. an was kann ich mich sonst aufhängen? ICh will da nicht unbedingt nen eigenen Loop einbauen, der aufs Netzwerk schielt.
Hallo Daniel, nutze lieber den vorhandenen Dienst "NetworkManager-wait-online.service" [1], der sicherstellt, dass man tatsächlich online ist. [2] Dieser Service macht nichts anderes als per Befehl über nm-online [3] auf das Netzwerk zu warten und danach grünes Licht[4] gibt, wenn man tatsächlich online ist. Wants=NetworkManager-wait-online.service After=NetworkManager-wait-online.service HTH [1] man NetworkManager-wait-online.service [2] https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/ [3] man nm-online [4] systemctl status NetworkManager-wait-online.service -- Gruß Sebastian - openSUSE Member (Freespacer) - Wichtiger Hinweis zur openSUSE Mailing Liste: https://de.opensuse.org/openSUSE:Mailinglisten_Netiquette
Hallo Daniel,
nutze lieber den vorhandenen Dienst "NetworkManager-wait-online.service" [1], der sicherstellt, dass man tatsächlich online ist. [2] Dieser Service macht nichts anderes als per Befehl über nm-online [3] auf das Netzwerk zu warten und danach grünes Licht[4] gibt, wenn man tatsächlich online ist.
Wants=NetworkManager-wait-online.service After=NetworkManager-wait-online.service
HTH
Danke, Networkmanager meide ich, wie der Teufel das Weihwasser. Hier geht alles mit wickedd Gruß Daniel -- Daniel Spannbauer Systemadministration marco Systemanalyse und Entwicklung GmbH Tel +49 8333 9233-27 Fax -11 Rechbergstr. 4-6, D 87727 Babenhausen Mobil +49 171 4033220 https://www.marco.de Email ds@marco.de Geschäftsführer Martin Reuter, Torsten Lukas HRB 171775 Amtsgericht München
Am Dienstag, 26. Juli 2022, 12:00:09 CEST schrieb Daniel Spannbauer:
Danke, Networkmanager meide ich, wie der Teufel das Weihwasser.
...wieso? Cheers MH -- Mathias Homann Mathias.Homann@openSUSE.org OBS: lemmy04 Jabber (XMPP): lemmy@tuxonline.tech Matrix: @mathias:eregion.de IRC: [Lemmy] on liberachat and ircnet (bouncer active) keybase: https://keybase.io/lemmy gpg key fingerprint: 8029 2240 F4DD 7776 E7D2 C042 6B8E 029E 13F2 C102
participants (6)
-
Daniel Spannbauer
-
Manfred Kreisl
-
Mathias Homann
-
Matthias
-
Olaf Hering
-
Sebastian Siebert