Differences between revisions 3 and 4
Revision 3 as of 2009-04-28 19:09:43
Size: 4045
Editor: ?PeterEisentraut
Comment: add usertag
Revision 4 as of 2009-04-28 21:33:54
Size: 4112
Editor: ?PeterEisentraut
Comment: update sysstat
Deletions are marked like this. Additions are marked like this.
Line 95: Line 95:
||sysstat|| ||sysstat||[[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=526051|bug]]||||

Init Script Status Support

This page tracks the currently informal and unofficial release goal to have all init scripts in Debian support the "status" action. Peter Eisentraut <petere@debian.org> is the initiator.

Purpose

Every init script shipped by a package in Debian (that is, a file in /etc/init.d/) should support the "status" action in an LSB-conforming and meaningful way. This information is useful for administrators and is frequently requested by users coming from other Linux distributions.

Principles

  • Align all behaviors with LSB where possible.
  • Incorporate the behavior into the Debian policy.
  • Define and document best practices where no existing standard or policy exists.

Vision

I would like to see tools developed (or brought into Debian, as other Linux distributions surely already have these) that give me a list of the status of all services, thus giving me a quick overview over what's happening with the services on the system.

Brainstorming

thoughts, ideas, questions ... add them here ...

Organizational

Statistics

Starting point approximately 22 April 2009:

  • 992 init scripts total
  • 239 support "status"
  • 510 use the LSB init functions
  • 303 use the LSB init functions but don't support "status"

(The latter two numbers are not terribly meanful except that they show that someone presumably did some editing on the init script in the last two years or so.)

Howto

An init script that already uses the LSB init functions and just starts exactly one daemon program can usually just do:

status)
    status_of_proc /usr/bin/foo foo && exit 0 || exit $?
    ;;

If you init script doesn't do anything after the case statement and doesn't have a gratuitous (and often wrong) "exit 0" at the end, then you can simply write

status)
    status_of_proc /usr/bin/foo foo
    ;;

status_of_proc requires a run-time dependencies on lsb-base (>= 3.2-13).

Bug Tracking

I use the usertag initd-status-support with user petere@debian.org: bug list

Next Actions

Obviously, we can't fix all 753 init scripts at once, so I decided to start with the init scripts for packages that I have installed on my machines. If you want to help, feel free to add the additional deficient init scripts that you have installed or otherwise care about to the table below.

Init script

Bug

Comments

anacron

bug

needs comaintainer?, also missing reload action

binfmt-support

bluetooth

bootlogd

checkfs.sh

checkroot.sh

console-screen.sh

cron

bug

fancontrol

bug

fuse

gpm

bug

needs comaintainer?

halt

hdparm

hobbit-client

bug (closed in unstable)

hostname.sh

hwclockfirst.sh

hwclock.sh

ifupdown

ifupdown-clean

keymap.sh

killprocs

kvm

lm-sensors

bug

lvm2

module-init-tools

mountall.sh

mountdevsubfs.sh

mountkernfs.sh

mountnfs.sh

mountoverflowtmp

mtab.sh

mysql

mysql-ndb

mysql-ndb-mgm

networking

pcmciautils

procps

rc.local

reboot

resolvconf

bug

rsync

bug

sendsigs

single

smartmontools

bug

sysstat

bug

tor

udev

umountfs

umountnfs.sh

umountroot

urandom

wpa-ifupdown