Should move several scripts from rcS.d/ to runlevels 1-5

Petter Reinholdtsen pere at hungry.com
Tue May 18 10:16:23 UTC 2010


At the moment, there are several scripts running from rcS.d/ which I
believe should be moved to rc[1-5].d/.

The scripts in rcS.d/ are the only ones executed when booting into
single user mode, and I believe single user mode should allow one to
get an environment with only local disks mounted and without having to
wait for the network to come up.  It should also be an environment
with as few processes as possible running, to allow file system fixes
and other tasks to be performed when needed.  For this to happen, all
scripts depending on $remote_fs, and all scripts related to network
configuration need to move out of rcS.d/.

The scripts that need to run only once after boot should have a start
symlink in rc[1-5].d/, while those that should not run in single user
mode (which is almost the same as runlevel 1), should have a start
symlink in rc[2-5].d/.

Looking at <URL:http://lintian.debian.org/~pere/test-20100517.log>, I
Find this list of candidates for moving:

S21adjtimex
S21atm
S21ebtables
S21fsprotect
S21iptables-persistent
S21mountdebugfs
S21mt-st
S21netenv
S21pcmciautils
S21pppd-dns
S21procps
S21pyroman
S21rdnssd
S21resolvconf
S21switchconf
S21udev-mtab
S21ufw
S21x11-common
S21zvbi
S22ifupdown
S23ifscheme
S23networking
S24aoetools
S24bastille-firewall
S24cman
S24nbd-client
S24portmap
S24rpcbind
S25gfs-tools
S25gfs2-tools
S25nfs-common
S25rgmanager
S26mountnfs.sh
S27mountnfs-bootclean.sh
S28console-screen.sh
S29kbd
S30console-setup
S31alsa-utils
S31arno-iptables-firewall
S31bootmisc.sh
S31clvm
S31console-cyrillic
S31corosync
S31cryptmount-early
S31dns-clean
S31eeepc-acpi-scripts
S31espeakup
S31ferm
S31fiaif
S31fuse
S31gom
S31guarddog
S31guidedog
S31later-readahead
S31libpam-devperm
S31libpam-foreground
S31lm-sensors
S31mini-buildd-bld
S31netperf
S31nviboot
S31open-iscsi
S31oss4-base
S31quota
S31racoon
S31schroot
S31screen-cleanup
S31selinux-basics
S31setkey
S31setserial
S31shorewall
S31shorewall-lite
S31shorewall6
S31shorewall6-lite
S31srptools-boot
S31svgalib-bin
S31tmux-cleanup
S31uptimed.sh
S31urandom
S32buildd
S32zfs-fuse

To move these scripts in a controlled fashion, we need to start at the
end of the list and move the script in dependency order from rcS.d/ to
the runlevel directories, to avoid getting the wrong boot ordering
during migration.

Moving the network setup out into rc2.d/ will also speed up the boot,
as the scripts only depending on $local_fs can run in parallel with
any DHCP requests being performed.

Happy hacking,
-- 
Petter Reinholdtsen




More information about the initscripts-ng-devel mailing list