Bir yapılandırma paketi oluşturuyorum ve yapılandırması etkilenen hizmetleri durdurmak ve yeniden başlatmak istiyorum. Şu anda kullanıyorum service [stop|restart]
içinde {pre,post}{inst,rm}
yol. Bir soru yerde okumak invoke-rc.d
olduğunu doğru bir hizmetle ilgili kullanıcı tercihlerini onurlandırır, çünkü yol. Ancak bununla ilgili herhangi bir yönerge bulamadım. Bu tür yönergeleri bilen var mı? Veya hangi yolu seçmem gerektiği konusunda tavsiyeleriniz var mı? Paket dahili kullanım içindir ve önümüzdeki iki yıl için muhtemelen sadece 14.04 olacaktır. Ancak, halefim için olabildiğince temiz bir devlet bırakmak istiyorum, ben systemd
de aklımda.
Gönderen invoke-rc.d
adam sayfası :
Debian paketlerinin bakım betikleri tarafından init betiklerine tüm erişim invoke-rc.d aracılığıyla yapılmalıdır .
Debian Politika Kılavuzu, Bölüm 9, Kısım 3.3 :
Bakımcılar, post-post, prerm ve postrm gibi paketlerinin komut dosyalarındaki başyazıları ele almak için update-rc.d ve invoke-rc.d programları tarafından sağlanan soyutlama katmanını kullanmalıdır.
...
Paket bakımcı komut dosyaları, doğrudan çağırmak yerine, /etc/init.d/* initscripts'i çağırmak için invoke-rc.d kullanmalıdır.
Debian kullanmaktadır sysv-init
ve doğrudan şuna geçecektir systemd
ve sanırım politika kılavuzuna başvurmak için zamanında güncellenecektir systemctl
. Ancak, belirsiz olduğum şey şu: Bunun invoke-rc.d
yerine kullanmalı mıyım service
? Söyleyebileceğim dpkg
yüzden anlamanın bir yolu yoktur, ben (tetikleyiciler aracılığıyla) bazı dosyalarda ilgilenen olduğumu dpkg
ben de bazı hizmetler ilgilenen olduğumu ve almak dpkg
yükleme / yeniden başlatılması yapmalı?
Netleştirmek için: Ben init senaryo yazıyor değilim. Kukla, NTP, vb.Gibi diğer uygulamalar için yapılandırmalı bir paket sağlıyorum, bu yüzden komut dosyalarındaki ilgili hizmetleri durdurup yeniden başlatıyorum.
Burada , örneğin yaklaşık bir Docker konudur invoke-rc.d
vs service
. Sorun hala açıktır, bir kişi, muhtemelen bir bakıcı, bunu kesinlikle doğru şekilde yapmakla ilgilendiklerini söyler - açıkça hiçbirimiz bunun ne olduğundan emin değiliz. (Sorum bu sorundan bağımsız.)
invoke-rc.d
Man ve Debian politika dokümanlar ile bağlantılı olarak kullanmak söyler/etc/init.d/
(hala sysv init kullanılan olasılıkla) komut. Upstart veya systemd ile bu nasıl değişir?