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).