Systemd birim dosyalarındaki = - (eşittir eksi) belgeleri


16

Archlinux sistemimde /usr/lib/systemd/system/mdmonitor.servicedosya şu satırları içeriyor:

[Service]
Environment=  MDADM_MONITOR_ARGS=--scan
EnvironmentFile=-/run/sysconfig/mdadm
ExecStartPre=-/usr/lib/systemd/scripts/mdadm_env.sh
ExecStart=/sbin/mdadm --monitor $MDADM_MONITOR_ARGS

=-Belirtilen dosyalar yoksa hizmetin başarısız olmaması anlamına gelir (bazı googling tarafından onaylanır) . Ancak bu davranışı systemd birim dosyalarının manpageinde bulamadım. =-Görev için resmi belgeler nerede ?


1
Bunun yalnızca sıradan bir =atama olduğunu, ikinci bir .INI dosya ataması sözdizimi türü olmadığını unutmayın .
JdeBP

Yanıtlar:


21

Bu belgelenmiştir systemd.exec:

EnvironmentFile=

[...]

Aktarılan bağımsız değişken, isteğe bağlı olarak " -" ile başlayan bir dosya adı veya joker karakter ifadesi olmalıdır; bu, dosya yoksa, okunmayacağını ve hata veya uyarı iletisinin kaydedilmediğini belirtir.

Ve içinde systemd.service:

ExecStart=

...

Belirtilen komutların her biri için, ilk bağımsız değişken yürütülebilir dosyanın mutlak bir yolu olmalıdır. İsteğe bağlı olarak, bu dosya adının önüne birkaç özel karakter eklenebilir:

Çizelge 1. Özel yürütülebilir önekler

...

ExecStartPre=, ExecStartPost=

...

Bu komutlardan herhangi biri (öneki eklenmemiş -) başarısız olursa, geri kalanı yürütülmez ve birim başarısız kabul edilir.

(Bir systemd yönergesine ilişkin en eksiksiz belgeleri bulmak için bu belgeye bakın systemd.directives.)


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.