Saya terbiasa membuat layanan pemula dengan file di /etc/init/<service>.conf
dan itu berfungsi dengan baik, satu-satunya hal yang saya inginkan adalah menyelesaikan tab dengan cara yang sama seperti yang dimiliki setiap layanan di /etc/init.d/ sekarang.
Saat menulis sudo service xx nama layanan akan muncul.
Apakah ada cara untuk menambahkan layanan pemula ke daftar pelengkapan otomatis itu?
Jawaban yang Diterima:
Setiap paket yang menyediakan daemon standar menggunakan pemula diharuskan menyediakan symlink di /etc/init.d
oleh kebijakan Debian. Jadi pelengkapan otomatis untuk sudo service name
sudah bekerja. Pastikan Anda memiliki bash-completion
paket terinstal jika Anda mengalami masalah.
Jika Anda membuat pekerjaan pemula Anda sendiri, maka symlink /etc/init.d/your_job
ke /lib/init/upstart-job
seperti pekerjaan pemula lainnya yang sudah dilakukan. Ini akan membuat pekerjaan Anda sendiri bekerja dengan cara yang sama.
Ada pekerjaan pemula khusus di /etc/init
yang tidak memiliki entri yang sesuai di /etc/init.d
. Ini adalah pengecualian. Dari Kebijakan Debian:
Pengecualian untuk aturan ini adalah skrip atau pekerjaan yang disediakan oleh implementasi init itu sendiri; pekerjaan tersebut mungkin diperlukan untuk implementasi spesifik yang setara dengan skrip /etc/rcS.d/ dan mungkin tidak memiliki korespondensi satu-ke-satu dengan skrip init.
Pengecualian ini saat ini tidak berfungsi dengan bash-completion
. Namun, Anda dapat menggunakan start
, stop
, restart
dan reload
langsung tanpa service
, dan pelengkapan otomatis akan berfungsi. Misalnya, sudo start shut
pelengkapan otomatis dengan benar. Tetapi Anda biasanya tidak perlu langsung memanggil pekerjaan pemula yang tidak memiliki init.d
yang sesuai entri.
Catatan:Saya menguji ini di Saucy. Jika dukungan tidak muncul di rilis lama, mungkin tidak tersedia di sana (tetapi Anda akan segera mendapatkannya saat meningkatkan ke rilis yang cukup baru).