[systemd] einen Defaultwert fuer den Start einer template-Unit vorgeben

03/10/2016 - 21:50 von Marc Haber | Report spam
Hallo,

ich habe hier ein /etc/systemd/system/foo@.service:

|[Unit]
|Description=foo (%i instance)
|
|[Service]
|ExecStart=/usr/bin/foo %i

mit systemctl start foo@default kann ich foo default starten.

Jetzt möchte ich dasselbe auch mit systemctl start foo erreichen. Nach
meinem Verstàndnis brauche ich dafür eine Hilfs-Unit wie die hier:

|[Unit]
|Description=foo Server default
|BindsTo=foo@default.service
|
|[Service]
|ExecStart=/bin/true
|RemainAfterExit=true

Sehen wir mal davon ab, /bin/true als "Service" ziemlich eklig ist -
ich hab keine elegantere Möglichkeit gefunden, das hinzuschreiben.

Es funktioniert leider nur in der einen Richtung: systemctl start foo
startet foo@default, aber systemctl stop foo stoppt foo@default nicht.

Wie bekomme ich das in beiden Richtungen hin, und vielleicht sogar
etwas weniger unschön?

Grüße
Marc
Marc Haber | " Questions are the | Mailadresse im Header
Mannheim, Germany | Beginning of Wisdom " | http://www.zugschlus.de/
Nordisch by Nature | Lt. Worf, TNG "Rightful Heir" | Fon: *49 621 72739834
 

Lesen sie die antworten

#1 Jakob Schürz
04/10/2016 - 15:00 | Warnen spam
Am 2016-10-03 um 21:27 schrieb Marc Haber:
Hallo,

ich habe hier ein /etc/systemd/system/:

|[Unit]
|Description=foo (%i instance)
|
|[Service]
|ExecStart=/usr/bin/foo %i

mit systemctl start kann ich foo default starten.

Jetzt möchte ich dasselbe auch mit systemctl start foo erreichen. Nach
meinem Verstàndnis brauche ich dafür eine Hilfs-Unit wie die hier:

|[Unit]
|Description=foo Server default
|BindsTo=
|
|[Service]
|ExecStart=/bin/true
|RemainAfterExit=true

Sehen wir mal davon ab, /bin/true als "Service" ziemlich eklig ist -
ich hab keine elegantere Möglichkeit gefunden, das hinzuschreiben.

Es funktioniert leider nur in der einen Richtung: systemctl start foo
startet , aber systemctl stop foo stoppt nicht.

Wie bekomme ich das in beiden Richtungen hin, und vielleicht sogar
etwas weniger unschön?



PartOf= müsste sein, was du suchst.

Bzw. man systemd.unit
und konkret DefaultInstance

lg jakob

Ähnliche fragen