Ready to try dependency based boot sequencing?

Frans Pop elendil at planet.nl
Wed Feb 6 19:52:52 UTC 2008


This is a resend (with some changes) of a mail earlier sent to Petter 
privately. Contents seem useful for others too.

The attached script could be useful to others wanting to try insserv.

Cheers,
FJP

On Saturday 02 February 2008, Petter wrote:
> Well, it isn't that bad.  Most shutdown scripts just kill their
> daemon, so it does not matter if it is done by sendsigs or the package
> script.  But the problem with incorrect shutdown dependencies need to
> be fixed.

However, it does IMO make sense for anacron and cron to be stopped very 
early in the sequence as you don't really want them starting anymore when a 
shutdown has been initiated. The fact that insserv moves them so far down 
could be considered a regression.

Below a complete overview of the changes in runlevels (script attached). For 
levels S, 0 and 6 I have not distinguised between K and S scripts (as 
insserv changes all of them into S scripts, but for the others the 
distinction is kept.

A problem I see is that in some levels scripts have been _added_ that were 
not executed at that level before (no number in the second column).
Examples are:
- console-screen.sh (0, 1, 6)
- ssh (0, 6)
- pppd-dns (0, 1, 6)
- hwclockfirst.sh (0, 6)

The last means that on reboot/shutdown the hardware clock will now be 
updated twice instead of once, thus _slowing_ the shotdown process...

Basically I feel that every case where a script that moves more than a 
couple of places up or down should be investigated. In a lot of cases it 
will probably not be a real issue or even a real improvement. In other 
cases it may need fixing.

$ ./init_changes /var/lib/insserv/bootscripts-20080202T0027.tar.gz
Runlevel S
glibc.sh                1       1       0
hostname.sh             2       2       0
mountkernfs.sh          3       3       0
udev                    4       4       0
mountdevsubfs.sh        5       5       0
pcmciautils             6       27      -21
procps                  7       19      -12
bootlogd                8       6       2
hdparm                  9       8       1
hwclockfirst.sh         10      9       1
keymap.sh               11      7       4
checkroot.sh            12      10      2
cryptdisks-early        13      15      -2
ifupdown-clean          14      13      1
module-init-tools       15      14      1
mtab.sh                 16      12      4
udev-mtab               17      22      -5
lvm2                    18      16      2
cryptdisks              19      17      2
checkfs.sh              20      18      2
mountall.sh             21      20      1
mountall-bootclean.sh   22      21      1
mountoverflowtmp        23      23      0
alsa-utils              24      34      -10
hwclock.sh              25      11      14
ifupdown                26      25      1
lm-sensors              27      32      -5
pppd-dns                28      24      4
urandom                 29      36      -7
networking              30      26      4
portmap                 31      28      3
nfs-common              32      29      3
mountnfs.sh             33      30      3
mountnfs-bootclean.sh   34      31      3
bootmisc.sh             35      35      0
console-screen.sh       36      33      3
x11-common              37      37      0
stop-bootlogd-single    38      38      0

Runlevel 0
laptop-mode             1       19      -18
exim4                   2       14      -12
kdm                     3       1       2
atd                     4       4       0
boa                     5       10      -5
console-screen.sh       6       ---
fnfxd                   7       15      -8
laptop-net              8       33      -25
lisa                    9       20      -11
openbsd-inetd           10      22      -12
spamassassin            11      27      -16
ssh                     12      ---
sendsigs                13      37      -24
hal                     14      7       7
umountnfs.sh            15      39      -24
acct                    16      8       8
acpid                   17      9       8
anacron                 18      3       15
dbus                    19      12      7
fam                     20      26      -6
hddtemp                 21      16      5
klogd                   22      34      -12
nfs-common              23      21      2
rsync                   24      23      1
vmware                  25      2       23
dirmngr                 26      13      13
hostapd                 27      17      10
iodined                 28      18      10
portmap                 29      40      -11
sysklogd                30      35      -5
virtualbox-ose          31      25      6
wpa-ifupdown            32      36      -4
networking              33      41      -8
alsa-utils              34      29      5
chrony                  35      32      3
hwclock.sh              36      28      8
ifupdown                37      42      -5
pppd-dns                38      ---
sl-modem-daemon         39      6       33
smartmontools           40      24      16
urandom                 41      38      3
mountoverflowtmp        42      30      12
cron                    43      5       38
cryptdisks              44      44      0
lvm2                    45      45      0
cryptdisks-early        46      46      0
hdparm                  47      31      16
hwclockfirst.sh         48      ---
cupsys                  49      11      38
umountfs                50      43      7
umountroot              51      47      4
halt                    52      48      4

Runlevel 1
K_laptop-mode           1       18      -17
K_exim4                 2       13      -11
K_kdm                   3       1       2
K_atd                   4       3       1
K_boa                   5       9       -4
K_console-screen.sh     6       ---
K_cron                  7       4       3
K_fnfxd                 8       14      -6
K_laptop-net            9       30      -21
K_lisa                  10      19      -9
K_openbsd-inetd         11      21      -10
K_spamassassin          12      26      -14
K_ssh                   13      29      -16
K_hal                   14      6       8
K_acct                  15      7       8
K_acpid                 16      8       8
K_cupsys                17      10      7
K_dbus                  18      11      7
K_hddtemp               19      15      4
K_klogd                 20      31      -11
K_nfs-common            21      20      1
K_rsync                 22      22      0
K_dirmngr               23      12      11
K_hostapd               24      16      8
K_iodined               25      17      8
K_portmap               26      27      -1
K_sysklogd              27      32      -5
K_virtualbox-ose        28      24      4
K_chrony                29      28      1
K_pppd-dns              30      ---
K_sl-modem-daemon       31      5       26
K_smartmontools         32      23      9
K_anacron               33      2       31
K_fam                   34      25      9
S_killprocs             35      33      2
S_bootchart             36      35      1
S_single                37      34      3

Runlevel 2
K_vmware                1       1       0
S_chrony                2       28      -26
S_sl-modem-daemon       3       5       -2
S_smartmontools         4       24      -20
S_dirmngr               5       13      -8
S_hostapd               6       17      -11
S_iodined               7       18      -11
S_sysklogd              8       2       6
S_acct                  9       8       1
S_acpid                 10      9       1
S_anacron               11      29      -18
S_cupsys                12      11      1
S_dbus                  13      12      1
S_fam                   14      26      -12
S_hddtemp               15      16      -1
S_klogd                 16      3       13
S_nfs-common            17      21      -4
S_rsync                 18      23      -5
S_vmware                19      32      -13
S_hal                   20      27      -7
S_atd                   21      30      -9
S_boa                   22      10      12
S_cron                  23      31      -8
S_fnfxd                 24      15      9
S_laptop-net            25      4       21
S_lisa                  26      20      6
S_openbsd-inetd         27      22      5
S_rc.local              28      35      -7
S_spamassassin          29      7       22
S_ssh                   30      6       24
S_virtualbox-ose        31      25      6
S_bootchart             32      33      -1
S_exim4                 33      14      19
S_kdm                   34      34      0
S_stop-bootlogd         35      37      -2
S_laptop-mode           36      19      17
S_rmnologin             37      36      1

Runlevel 3
K_vmware                1       1       0
S_chrony                2       28      -26
S_sl-modem-daemon       3       5       -2
S_smartmontools         4       24      -20
S_dirmngr               5       13      -8
S_hostapd               6       17      -11
S_iodined               7       18      -11
S_sysklogd              8       2       6
S_virtualbox-ose        9       25      -16
S_acct                  10      8       2
S_acpid                 11      9       2
S_anacron               12      29      -17
S_cupsys                13      11      2
S_dbus                  14      12      2
S_fam                   15      26      -11
S_hddtemp               16      16      0
S_klogd                 17      3       14
S_nfs-common            18      21      -3
S_rsync                 19      23      -4
S_vmware                20      32      -12
S_hal                   21      27      -6
S_atd                   22      30      -8
S_boa                   23      10      13
S_cron                  24      31      -7
S_fnfxd                 25      15      10
S_laptop-net            26      4       22
S_lisa                  27      20      7
S_openbsd-inetd         28      22      6
S_rc.local              29      35      -6
S_spamassassin          30      7       23
S_ssh                   31      6       25
S_bootchart             32      33      -1
S_exim4                 33      14      19
S_kdm                   34      34      0
S_stop-bootlogd         35      37      -2
S_laptop-mode           36      19      17
S_rmnologin             37      36      1

Runlevel 4
S_chrony                1       27      -26
S_sl-modem-daemon       2       4       -2
S_smartmontools         3       23      -20
S_dirmngr               4       12      -8
S_hostapd               5       16      -11
S_iodined               6       17      -11
S_sysklogd              7       1       6
S_acct                  8       7       1
S_acpid                 9       8       1
S_anacron               10      28      -18
S_cupsys                11      10      1
S_dbus                  12      11      1
S_fam                   13      25      -12
S_hddtemp               14      15      -1
S_klogd                 15      2       13
S_nfs-common            16      20      -4
S_rsync                 17      22      -5
S_hal                   18      26      -8
S_atd                   19      29      -10
S_boa                   20      9       11
S_cron                  21      30      -9
S_fnfxd                 22      14      8
S_laptop-net            23      3       20
S_lisa                  24      19      5
S_openbsd-inetd         25      21      4
S_rc.local              26      33      -7
S_spamassassin          27      6       21
S_ssh                   28      5       23
S_virtualbox-ose        29      24      5
S_bootchart             30      31      -1
S_exim4                 31      13      18
S_kdm                   32      32      0
S_stop-bootlogd         33      35      -2
S_laptop-mode           34      18      16
S_rmnologin             35      34      1

Runlevel 5
K_vmware                1       1       0
S_chrony                2       28      -26
S_sl-modem-daemon       3       5       -2
S_smartmontools         4       24      -20
S_dirmngr               5       13      -8
S_hostapd               6       17      -11
S_iodined               7       18      -11
S_sysklogd              8       2       6
S_virtualbox-ose        9       25      -16
S_acct                  10      8       2
S_acpid                 11      9       2
S_anacron               12      29      -17
S_cupsys                13      11      2
S_dbus                  14      12      2
S_fam                   15      26      -11
S_hddtemp               16      16      0
S_klogd                 17      3       14
S_nfs-common            18      21      -3
S_rsync                 19      23      -4
S_vmware                20      32      -12
S_hal                   21      27      -6
S_atd                   22      30      -8
S_boa                   23      10      13
S_cron                  24      31      -7
S_fnfxd                 25      15      10
S_laptop-net            26      4       22
S_lisa                  27      20      7
S_openbsd-inetd         28      22      6
S_rc.local              29      35      -6
S_spamassassin          30      7       23
S_ssh                   31      6       25
S_bootchart             32      33      -1
S_exim4                 33      14      19
S_kdm                   34      34      0
S_stop-bootlogd         35      37      -2
S_laptop-mode           36      19      17
S_rmnologin             37      36      1

Runlevel 6
laptop-mode             1       19      -18
exim4                   2       14      -12
kdm                     3       1       2
atd                     4       4       0
boa                     5       10      -5
console-screen.sh       6       ---
fnfxd                   7       15      -8
laptop-net              8       33      -25
lisa                    9       20      -11
openbsd-inetd           10      22      -12
spamassassin            11      27      -16
ssh                     12      ---
sendsigs                13      37      -24
hal                     14      7       7
umountnfs.sh            15      39      -24
acct                    16      8       8
acpid                   17      9       8
anacron                 18      3       15
dbus                    19      12      7
fam                     20      26      -6
hddtemp                 21      16      5
klogd                   22      34      -12
nfs-common              23      21      2
rsync                   24      23      1
vmware                  25      2       23
dirmngr                 26      13      13
hostapd                 27      17      10
iodined                 28      18      10
portmap                 29      40      -11
sysklogd                30      35      -5
virtualbox-ose          31      25      6
wpa-ifupdown            32      36      -4
networking              33      41      -8
alsa-utils              34      29      5
chrony                  35      32      3
hwclock.sh              36      28      8
ifupdown                37      42      -5
pppd-dns                38      ---
sl-modem-daemon         39      6       33
smartmontools           40      24      16
urandom                 41      38      3
mountoverflowtmp        42      30      12
cron                    43      5       38
cryptdisks              44      44      0
lvm2                    45      45      0
cryptdisks-early        46      46      0
hdparm                  47      31      16
hwclockfirst.sh         48      ---
cupsys                  49      11      38
umountfs                50      43      7
umountroot              51      47      4
reboot                  52      48      4

-------------- next part --------------
A non-text attachment was scrubbed...
Name: init_changes
Type: application/x-shellscript
Size: 1272 bytes
Desc: not available
Url : http://lists.alioth.debian.org/pipermail/initscripts-ng-devel/attachments/20080206/c5bb99bf/attachment.bin 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
Url : http://lists.alioth.debian.org/pipermail/initscripts-ng-devel/attachments/20080206/c5bb99bf/attachment.pgp 


More information about the initscripts-ng-devel mailing list