14291
Comment: Update count and package list.
|
14305
Typo.
|
Deletions are marked like this. | Additions are marked like this. |
Line 33: | Line 33: |
|| || 2007-07-03 || 2007-07-22 || 2007-08-08 || 2007-09-06 || 2007-10-24 || 2007-11-14 || 2007-11-29 || 2007-12-22 || 2007-12-30 || 2008-01-06 || 2008-01-14 || 2008-01-26 || 2008-02-03 || 2008-02-08 || 2008-02-20 || 2008-02-23 || 2008-03-07 || 2008-03-09 || 2008-03-13 || | || || 2007-07-03 || 2007-07-22 || 2007-08-08 || 2007-09-06 || 2007-10-24 || 2007-11-14 || 2007-11-29 || 2007-12-22 || 2007-12-30 || 2008-01-06 || 2008-01-14 || 2008-01-26 || 2008-02-03 || 2008-02-08 || 2008-02-20 || 2008-02-23 || 2008-03-07 || 2008-03-09 || 2008-03-13 || 2008-03-19 || |
Dependency based boot sequence
It is possible to converting Debian to order the boot sequence using the LSB headers in the init.d scripts. This will get rid of several bugs in the current boot sequence, and make it easier to keep the sequence correct.
The feature [http://lists.debian.org/debian-devel-announce/2008/01/msg00004.html was announced on debian-devel-announce] 2008-01-17. A [http://lists.debian.org/debian-devel-announce/2008/03/msg00011.html status update message] was sent 2008-03-16.
Advantages
Did you every need to insert a init.d scripts Y before init.d scripts Z and after init.d script X, where both Z and X is started using boot sequence number 20 (as in 20X and 20Z)? Adding your script as 20Y would not cut it, because you need Z to start before X. To do this, in Debian you currently need to talk to the maintainer of packages with scripts Z and X, asking one of them (or both) to move their script into a different number. Dependency based boot sequencing make it possible for each package maintainer to specify the dependencies of its scripts, and leave the number allocation to the dependency resolver.
Example of such problems
Status
This page is created to keep track of the state of this feature, to make it easier to coordinate an effort to implement it for Debian Lenny. It is [http://lists.debian.org/debian-release/2007/06/msg00164.html proposed] as a [http://release.debian.org/lenny-goals.txt release goal] for Lenny.
|
2007-07-03 |
2007-07-22 |
2007-08-08 |
2007-09-06 |
2007-10-24 |
2007-11-14 |
2007-11-29 |
2007-12-22 |
2007-12-30 |
2008-01-06 |
2008-01-14 |
2008-01-26 |
2008-02-03 |
2008-02-08 |
2008-02-20 |
2008-02-23 |
2008-03-07 |
2008-03-09 |
2008-03-13 |
2008-03-19 |
packages with init.d scripts |
843 |
843 |
845 |
849 |
855 |
852 |
851 |
857 |
860 |
863 |
863 |
864 |
863 |
863 |
866 |
866 |
873 |
873 |
873 |
873 |
fraction with LSB headers |
56% |
57% |
58% |
60% |
62% |
63% |
64% |
66% |
67% |
68% |
69% |
70% |
73% |
73% |
76% |
77% |
78% |
79% |
80% |
83% |
packages without LSB headers |
373 |
363 |
353 |
336 |
325 |
319 |
303 |
292 |
287 |
280 |
269 |
258 |
237 |
229 |
212 |
203 |
187 |
181 |
172 |
148 |
base packages without LSB headers |
2 of 40 |
|
|
|
|
1 of 40 (1 of 12 pkgs) |
|
|
|
0 of 38 (0 of 10 pkgs) |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
desktop packages without LSB headers |
6 of 58 |
|
|
|
|
7 of 70 (7 of 39 pkgs) |
|
|
|
4 of 75 (4 of 42 pkgs) |
|
|
|
|
|
|
|
|
|
|
With the current rate (2007-12-30) of packages being fixed to include the dependency information, it will take 410 days until all the remaining packages are fixed. Thanks to the default values provided since insserv version 1.09.0-4, most scripts get a useful start sequence position even without an LSB header. Scripts in rcS.d/ need a proper header, still.
All packages installed by more than 0.6% (444 installations) of the population (according to popcon.debian.org) are handled 2008-01-15.
A number of [http://bugs.debian.org/cgi-bin/pkgreport.cgi?usertag=initscripts-ng-devel@lists.alioth.debian.org bug reports] are submitted to request LSB headers in init.d scripts. It is useful to track [http://bugs.debian.org/cgi-bin/pkgreport.cgi?usertag=initscripts-ng-devel@lists.alioth.debian.org&dist=testing the ones open in testing] as well.
Known issues
- It is not possible to migrate between exim and postfix without purging the other package, due to conflicting provides.
- Some scripts provide the same service, and this confuses insserv. Some of the scripts are scripts that have been removed from their package, but not properly removed from disk. This make insserv refuse to install these init.d scripts and thus the package fail to install when dependency based boot sequencing is enabled.
[http://bugs.debian.org/458582 A bug in insserv] make it report a dependency loop when there really isn't one. It happen when the combined dependency tree for both the start and stop sequence have a loop, but none of them have it individually.
- Some init.d scripts have buggy headers, making them fail to install properly in the boot sequence.
To see the boot and reboot sequence dependecy graph, use
aptitude install insserv graphviz /usr/share/insserv/check-initd-order -g > boot.dot /usr/share/insserv/check-initd-order -g -k > reboot.dot dotty boot.dot dotty reboot.dot
The number of packages with init.d scripts was counted using apt-file update && apt-file search etc/init.d|cut -d: -f1|sort -u|wc -l in Debian/Sid. The number of packages missing LSB headers are fetched from [http://lintian.debian.org/reports/tags.html the lintian reports] for the [http://lintian.debian.org/reports/Tinit.d-script-missing-lsb-section.html init.d-script-missing-lsb-section] tag. The number of base and desktop packages missing headers were counted by creating chroots with debootstrap and tasksel.
To enable dependency based boot, the [http://packages.qa.debian.org/i/insserv.html insserv] package can be used. At [http://user.skolelinux.no/~pere/mypapers/200706-bootseq/200706-bootseq.html debconf7] and [http://www.hungry.com/~pere/mypapers/200802-bootsequence/200802-bootsequence.html FOSDEM 2008] ([http://meetings-archive.debian.net/pub/debian-meetings/2008/fosdem/ogg_theora/384x288/Reordering_the_Debian_boot_sequence_for_correctness_and_speed___Petter_Reinholdtsen.ogg video]), Petter Reinholdtsen gave a talk about the dependency based boot system. To enable it, install the insserv package and activate it like this:
aptitude install insserv && dpkg-reconfigure insserv
Make sure to use insserv version 1.09.0-6 or higher.
To usertag related bugs, send an email to request (at) bugs.debian.org, with content like this:
user initscripts-ng-devel (at) lists.alioth.debian.org usertag 361054 + incorrect-dependency usertag 361358 + missing-dependency thanks
Packages left to fix
Generated using dd-list $(lynx -nolist -dump http://lintian.debian.org/reports/tags/init.d-script-missing-lsb-section.html | grep W: | cut -d" " -f2 | sort)
Guenter Geiger (Debian/GNU) <geiger@debian.org> realtime-lsm Peter De Schrijver (p2) <p2@mind.be> linux-atm Stefan Hornburg (Racke) <racke@linuxia.de> courier-authlib interchange pure-ftpd sympa Cyril Lacoux (Yack) <clacoux@easter-eggs.com> digitools Marco Presi (Zufus) <zufus@debian.org> linesrv Ben Armstrong <synrg@sanctuary.nslug.ns.ca> xpilot-ng Artem Baguinski <artm@v2.nl> drscheme (U) Alan Bain <afrb2@debian.org> rbootd Andreas Barth <aba@not.so.argh.org> mgetty Daniel Baumann <daniel@debian.org> ipmasq Hilko Bengen <bengen@debian.org> ulog-acctd Grzegorz Bizon <verdan@pirx.int.pl> specter Blars Blarson <blarson@blars.org> cnews Achim Bohnet <ach@mpe.mpg.de> capisuite (U) Ed Boraas <ed@debian.org> tinyproxy Cyril Bouthors <cyril@bouthors.org> bld drbdlinks Chris Boyle <cmb@debian.org> reaim Adrian Bridgett <bridgett@debian.org> dante Eric Van Buggenhaut <ericvb@debian.org> udhcp Jesus Climent <jesus.climent@hispalinux.es> distmp3 Russell Coker <russell@coker.com.au> fcron (U) memlockd Jamin W. Collins <jcollins@asgardsrealm.net> jabber Carlo Contavalli <ccontavalli@debian.org> wipl Marco d'Itri <md@linux.it> binkd Julien Danjou <acid@debian.org> ledstats tetrinetx tleds Debian Icecast team <pkg-icecast-devel@lists.alioth.debian.org> icecast2 Debian Multimedia Team <debian-multimedia@lists.debian.org> das-watchdog Debian Nagios Maintainer Group <pkg-nagios-devel@lists.alioth.debian.org> nsca Debian VoIP Team <pkg-voip-maintainers@lists.alioth.debian.org> rtpproxy Bernd Eckenfels <ecki@debian.org> net-acct transproxy Free Ekanayaka <freee@debian.org> das-watchdog (U) Nick Estes <debian@nickstoys.com> upsd Bartosz Fenski <fenio@debian.org> specter (U) Martín Ferrari <martin.ferrari@gmail.com> vtun sean finney <seanius@debian.org> nsca (U) Jochen Friedrich <jochen@scram.de> isakmpd Radovan Garabik <garabik@melkor.dnp.fmph.uniba.sk> serpento Radovan Garabík <garabik@kassiopeia.juls.savba.sk> karrigell xtell Hector Garcia <hector@debian.org> smail David Gil <dgil@telefonica.net> pads John Goerzen <jgoerzen@complete.org> pygopherd Celso González <celso@bulma.net> cpudyn Daniel Gubser <guterm@debian.org> psad Aurélien GÉRÔME <ag@roxor.cx> dancer-ircd dancer-services Marc Haber <mh+debian-packages@zugschlus.de> ifupdown-scripts-zg2 Pierre Habouzit <madcoder@debian.org> whitelister Chris Halls <halls@debian.org> apt-proxy David B. Harris <dbharris@debian.org> ipband Henrique de Moraes Holschuh <hmh@debian.org> fcron Peter Howard <pjh@northern-ridge.com.au> zoneminder Qingning Huo <qhuo@mayhq.co.uk> log2mail Mario Iseli <admin@marioiseli.com> irmp3 Ian Jackson <ian@davenant.greenend.org.uk> userv Jan Janak <jan@iptel.org> rtpproxy (U) LENART Janos <ocsi@debian.org> jmon Joerg Jaspert <joerg@debian.org> muddleftpd LaMont Jones <lamont@debian.org> hpsockd Karl E. Jorgensen <karl@jorgensen.com> battery-stats Takuo KITAME <kitame@debian.org> smtpguard Matthias Klose <doko@debian.org> buildbot isdnutils (U) Steve Kowalik <stevenk@debian.org> xringd Antonin Kral <A.Kral@sh.cvut.cz> pimd Kilian Krause <kilian@debian.org> rtpproxy (U) Anand Kumria <wildfire@progsoc.org> tspc Mario Lang <mlang@debian.org> filterproxy Thomas Lange <lange@debian.org> fai Chris Lawrence <lawrencc@debian.org> gnome-lokkit John Lines <john@paladin.demon.co.uk> smtpd Pablo Lorenzzoni <spectra@debian.org> tcpspy Ola Lundqvist <opal@debian.org> dhttpd ledcontrol nfsbooted Keita Maehara <maehara@debian.org> freewnn Christoph Martin <christoph.martin@uni-mainz.de> mimedefang Rene Mayrhofer <rene.mayrhofer@gibraltar.at> gibraltar-bootcd Jonathan McDowell <noodles@earth.li> l2tpns Neil McGovern <neilm@debian.org> blootbot Michael Mende <debian@menole.net> wackamole Abraham vd Merwe <abz@debian.org> ixbiff Michael Meskes <meskes@debian.org> jftpgw Millis Miller <millis@faztek.org> iptotal Loic Minier <lool@dooz.org> termpkg lantz moore <lmoore@debian.org> rplay Sam Morris <sam@robots.org.uk> pymsnt Gergely Nagy <algernon@debian.org> tama Marco Nenciarini <mnencia@debian.org> xtradius Jaakko Niemi <liiwi@debian.org> sfs Recai Oktaş <roktas@debian.org> elog Masahito Omote <omote@debian.org> totd Sam Hocevar (Debian packages) <sam+deb@zoy.org> gnudip ipfm rinetd Eloy A. Paris <peloy@debian.org> ncpfs Javier Fernandez-Sanguino Pen~a <jfs@computer.org> pads (U) samhain VÃctor Pérez Pereira <vperez@debianvenezuela.org> squidtaild Nick Phillips <nwp@lemon-computing.com> teapop Ari Pollak <ari@debian.org> drscheme Cajus Pollmeier <cajus@debian.org> nsca (U) Daniel J. Priem <danielpriem@flexserv.de> capisuite Celso Providelo <cprov@gwyddion.com> sqcwa Mark Purcell <msp@debian.org> gsmlib hpoj rtpproxy (U) KELEMEN Péter <fuji@debian.org> arpwatch Stephen Quinney <sjq@debian.org> ganglia-monitor-core (U) Martin Quinson <mquinson@debian.org> nws Ganesan Rajagopal <rganesan@debian.org> openslp-dfsg Simon Raven <simon@nuit.ca> blootbot (U) Sebastian Rittau <srittau@debian.org> netatalk (U) Kurt Roeckx <kurt@roeckx.be> ircd-irc2 Piotr Roszatycki <dexter@debian.org> ldapdns systune Anibal Monsalve Salazar <anibal@debian.org> bpalogin ncpfs (U) pipsecd swapspace Otavio Salvador <otavio@debian.org> apt-proxy (U) Bernd Schumacher <bernd.schumacher@hp.com> secvpn Frederik Schüler <fs@debian.org> wackamole (U) Vladimir Shakhov <lumpen.intellectual@gmail.com> wdm Paul Slootman <paul@debian.org> isdnutils isdnutils (U) Jonas Smedegaard <dr@jones.dk> icecast2 (U) netatalk netatalk (U) pop-before-smtp rpld Roger So <rogerso@debian.org> im-sdk im-sdk (U) Dennis Stampfer <seppy@debian.org> timeoutd Andrew Stribblehill <ads@debian.org> ganglia-monitor-core (U) Stephan A Suerken <absurd@debian.org> gom Ondřej Surý <ondrej@debian.org> bird nsd postfix-policyd Bryan Sutula <Bryan.Sutula@hp.com> openhpi Akira TAGOH <tagoh@debian.org> im-sdk (U) Jose Luis Tallon <jltallon@adv-solutions.net> couriergraph Stuart Teasdale <sdt@debian.org> ganglia-monitor-core Paul Telford <pxt@debian.org> mordor mudnames Michael Tokarev <mjt@corpit.ru> rbldnsd Junichi Uekawa <dancer@debian.org> rarpd Fumitoshi UKAI <ukai@debian.or.jp> hyperestraier quickml smtpfeed Matthias Urlichs <smurf@debian.org> mgetty (U) Santiago Vila <sanvila@debian.org> postfix-gld rbldnsd (U) Michael Vogt <mvo@debian.org> scanlogd Riku Voipio <riku.voipio@iki.fi> setmixer Martin Waitz <tali@debian.org> oidentd Lucas Wall <lwall@debian.org> popfile Hanna Wallach <hmw26@cam.ac.uk> didiwiki Chad Walstrom <chewie@debian.org> clamsmtp Jerome Warnier <jwarnier@beeznest.net> and Joerg Wendland <joergland@debian.org> ipvsadm Brian White <bcwhite@pobox.com> genpower squid-prefetch Martin Wuertele <maxx@debian.org> bopm Matt Zimmerman <mdz@debian.org> umlrun