The maintainer scripts for Debian packages will sometimes restart certain services to ensure their availability or get them to take certain options into account. The command that controls a service — <command>service <replaceable>service</replaceable> <replaceable>operation</replaceable></command> — doesn't take runlevel into consideration, assumes (wrongly) that the service is currently being used, and may thus initiate incorrect operations (starting a service that was deliberately stopped, or stopping a service that is already stopped, etc.). Debian therefore introduced the <command>invoke-rc.d</command> program: this program must be used by maintainer scripts to run services initialization scripts and it will only execute the necessary commands. Note that, contrary to common usage, the <filename>.d</filename> suffix is used here in a program name, and not in a directory.
أحياناً تعيد سكربتات الصيانة لبعض حزم دبيان تشغيل خدمات معينة لضمان توافرها أو لجعلها تأخذ بعض الخيارات بعين الاعتبار. لا يأخذ الأمر الذي يتحكم بالخدمات —<command dir="ltr">service <replaceable>service</replaceable> <replaceable>operation</replaceable></command>— المستويات التشغيلية بعين الاعتبار، ويفترض (مخطئاً) أن الخدمة تستخدم حالياً، لذلك قد يجري عمليات غير صحيحة (بدء خدمة كانت موقفة عمداً، أو إيقاف خدمة متوقفة أصلاً، الخ). لهذا قدمت دبيان البرنامج <command>invoke-rc.d</command>: يجب أن تستخدم سكربتات الصيانة هذا البرنامج لتشغيل سكربتات تهيئة الخدمات، وسوف ينفذ هذا البرنامج الأوامر الضرورية فقط. لاحظ أن اللاحقة <filename dir="ltr">.d</filename> استخدمت هنا في اسم البرنامج، وليس اسم مجلد، بخلاف الاستعمال الشائع.