Saya membuat paket konfigurasi, dan ingin menghentikan dan memulai kembali layanan yang konfigurasinya terpengaruh. Sekarang saya menggunakan service [stop|restart]
di {pre,post}{inst,rm}
jalan. Saya membaca pertanyaan di suatu tempat yang invoke-rc.d
merupakan cara yang benar , karena itu menghormati preferensi pengguna tentang layanan. Namun, saya tidak dapat menemukan panduan tentang ini. Adakah yang tahu tentang pedoman semacam itu? Atau punya saran ke arah mana saya harus memilih? Paket ini untuk penggunaan internal, dan kemungkinan hanya untuk 14,04 untuk dua tahun ke depan. Namun, saya ingin meninggalkan keadaan sebersih mungkin untuk penerus saya, begitu systemd
juga dalam pikiran saya.
Dari invoke-rc.d
halaman manual :
Semua akses ke skrip init oleh skrip pengelola paket Debian harus dilakukan melalui invoke-rc.d .
Dari Manual Kebijakan Debian, Bab 9, Bagian 3.3 :
Pemelihara harus menggunakan lapisan abstraksi yang disediakan oleh program update-rc.d dan invoke-rc.d untuk menangani skrip init dalam skrip paket mereka seperti postinst, prerm dan postrm.
...
Skrip pengelola paket harus menggunakan invoke-rc.d untuk memanggil skrip init /etc/init.d/*, alih-alih memanggilnya langsung.
Debian telah menggunakan sysv-init
dan akan beralih langsung ke systemd
, dan saya kira manual kebijakan akan diperbarui pada waktunya untuk merujuk systemctl
. Namun, apa yang saya tidak yakin tentang ini adalah: Haruskah saya menggunakan invoke-rc.d
bukan service
? Saya dapat mengatakan dpkg
bahwa saya tertarik pada beberapa file (melalui pemicu), jadi apakah ada cara untuk mengatakan dpkg
bahwa saya juga tertarik pada beberapa layanan dan mulai dpkg
melakukan restart / reload?
Untuk memperjelas: Saya tidak menulis skrip init. Saya menyediakan paket dengan konfigurasi untuk aplikasi lain, seperti Wayang, NTP, dll, jadi saya menghentikan dan memulai kembali layanan yang sesuai dalam skrip.
Di sini , misalnya, adalah masalah Docker tentang invoke-rc.d
vs service
. Masalahnya masih terbuka, dengan satu orang, mungkin seorang pengelola, berkomentar bahwa mereka pasti tertarik melakukan ini dengan cara yang benar - jelas tidak ada di antara kita yang yakin apa itu. (Pertanyaan saya terlepas dari masalah itu.)
invoke-rc.d
halaman manual dan dokumentasi kebijakan Debian memberitahu kita untuk menggunakannya sehubungan dengan/etc/init.d/
skrip (mungkin karena mereka masih digunakan SysV-init). Bagaimana hal itu berubah dengan Upstart atau systemd?invoke-rc.d ... || service ...
Cara yang lebih baik untuk sistem systemd adalah menggunakan deb-systemd-invoke .
sumber
deb-systemd-invoke
.