README for sysv-rc ------------------ Policy requires that maintainer scripts use update-rc.d to register and deregister initscripts. An unfortunate result of this policy, combined with shortcomings in current update-rc.d implementations, is that there is no way for maintainer scripts to change the sequence number of an initscript that has already been registered if and only if its sequence number has not been changed by the administrator. update-rc.d *never* changes the sequence number of an already registered initscript, even if its sequence number has not been changed by the administrator. There are no plans to fix this problem. Therefore, if it is necessary to change the sequence number of an initscript in order to fix a bug then the maintainer script should go ahead and do: update-rc.d -f remove before the new update-rc.d call, even though this overrides out any administrator changes. Migrating to dependency-based boot sequencing --------------------------------------------- Migrating to the dependency-based system of boot sequencing (using LSB headers) is non-reversible, and renders obsolete the legacy system of static sequence numbers. Please note that any boot sequence changes made locally will be lost in the migration, and must be reimplemented in terms of dependencies. However, the new system is recommended for several reasons. * initscripts can be made to run more efficiently via parallelized execution strategies (see $POINTER_TO_ENTICING_BOOTCHARTS); * boot and shutdown ordering is calculated on the basis of the dependency information declared within each init.d script, ensuring that the sequence is optimized for the set of packages installed; * problems introduced by new or upgraded packages can be detected and averted - the boot sequence is only modified if it is safe to do so. It can also bring benefits for Debian package development, and for admins maintaining local software, since it eliminates the difficulty of fitting an initscript into the boot sequence between existing services with adjacent sequence numbers. It is also a step in the direction of boot systems better suited to the asynchronous nature of the Linux-2.6 kernel boot process.