Dokumentasi = - (sama dengan minus) dalam file unit systemd


14

Di sistem Archlinux saya, /usr/lib/systemd/system/mdmonitor.servicefile tersebut berisi baris-baris ini:

[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

Saya menduga (dikonfirmasi oleh beberapa googling) bahwa =-berarti layanan tidak boleh gagal jika file yang ditentukan tidak ada. Namun saya gagal menemukan perilaku itu di halaman file systemd unit. Di mana dokumentasi resmi untuk =-penugasan itu?


1
Perhatikan bahwa ini hanyalah =tugas biasa , bukan tipe kedua sintaks penugasan file .INI.
JdeBP

Jawaban:


19

Ini didokumentasikan dalam systemd.exec:

EnvironmentFile=

[...]

Argumen yang diteruskan harus berupa nama file absolut atau ekspresi wildcard, secara opsional diawali dengan " -", yang menunjukkan bahwa jika file tidak ada, itu tidak akan dibaca dan tidak ada pesan kesalahan atau peringatan yang dicatat.

Dan di systemd.service:

ExecStart=

...

Untuk setiap perintah yang ditentukan, argumen pertama harus menjadi path absolut ke executable. Secara opsional, nama file ini mungkin diawali dengan sejumlah karakter khusus:

Tabel 1. Awalan yang dapat dieksekusi khusus

...

ExecStartPre=, ExecStartPost=

...

Jika salah satu dari perintah tersebut (tidak diawali dengan -) gagal, sisanya tidak dieksekusi dan unit dianggap gagal.

(Untuk menemukan dokumentasi paling lengkap untuk arahan systemd, cari di systemd.directives.)


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.