Okumak man 5 systemd.unit
ve man 5 systemd.target
bize birim dosyaların hedefleri ve diğer her şeyi tanımlamak için kullanıldığını söyler. Özel olarak bir hedefin nasıl oluşturulacağına dair herhangi bir belge yoktur , bu nedenle nasıl yapılması gerektiğini belirlemek zordur, ancak bir hizmet oluşturmaktan çok farklı değildir.
Eğer hedef oluştururken, yapmanız gerekir sembolik için target.wants
systemd hizmetler dizinden dizine. Ardından hedefinizi ayarlayabilir / önyükleyebilirsiniz. Örneğinizin nasıl göründüğü aşağıda açıklanmıştır.
/etc/systemd/system/foo.target
Bu, hedefin birim dosyasıdır. Graphical.target örnek olarak alınırsa, bunu temel olarak kullanarak kendi hedefimizi oluşturabiliriz.
[Unit]
Description=Foobar boot target
Requires=multi-user.target
Wants=foobar.service
Conflicts=rescue.service rescue.target
After=multi-user.target rescue.service rescue.target
AllowIsolate=yes
Sistem yönetiminden alınan seçenekleri açıklamak;
Description
- Hedefi tanımlar. Anlamalısın
Requires
- Hedefin sert bağımlılıkları. Kendi hizmet (ler) inize başlamadan önce temel sistemin başlamasına izin vermelisiniz
Wants
- Yumuşak bağımlılıklar. Hedef bunların başlamasını gerektirmez .
Conflicts
- Bir birimin başka bir birimde Çakışma ayarı varsa, birincinin başlatılması ikinciyi durdurur veya tersi de geçerlidir.
After
- Bu hizmetlerden sonra çizme
AllowIsolate
- Gerçekten size ve çevrenize bağlı. Detaylar sayfada bulunabilirsystemd.unit(5)
/etc/systemd/system/foo.target.wants/
Bu, hedefiniz için oluşturduğunuz / ihtiyaç duyduğunuz hizmetleri bağlayacağınız dizindir. Wants=
Birim dosyasındaki seçeneğe denktir . Bu dizini oluşturun ve daha sonra bunun gibi semboller oluşturun; ln -s /usr/lib/systemd/system/bar.service /etc/systemd/system/foo.target.wants/bar.service
. Bu, sistem dizinindeki bar.service öğesinden foo.target.wants dizininize bir symlink oluşturur.
Hizmet için bir birim dosyası oluşturmanın bu cevabın kapsamı dışında olduğunu düşünüyorum ve bu soru kesinlikle daha fazla belgelenmiştir, bu yüzden şimdilik dışarıda bırakacağım. Birim dosyanızı oluşturduğunuzda, onu target.wants dizinine ekleyin veya Wants=
yönergeye ekleyin .