http://www.linuxplanet.com/linuxplanet/reports/6741/1
Ubuntu and Fedora Replace init with UpstartInit: the Old WayMay 4, 2009 init is the program which is used on most Linuxes to generate all other processes on bootup. The BSD style (which runs from the /etc/rc script) is slightly different from the SysV style: SySV is probably the one you're familiar with, as it's used by Debian, SuSE, and until recently, Redhat. With this setup, the system checks /etc/inittab to find a default runlevel. This file also defines what to do for various runlevels. A runlevel is a way of specifying a particular set of processes to run. The important point is that init is level-driven. This means that you allocate each service to a runlevel, and services are started up in blocks based on which runlevel you boot into (or move into once booted). You can of course manually start and stop services using the same scripts, but the basic idea is one of sets of services which correspond to particular usage situations. Within the runlevels, the names of the start and stop links govern the timing of the script. Each /etc/rcx.d directory has a collection of softlinks to the start/stop service scripts in /etc/init.d/. These look like this: K20service -> /etc/init.d/service If the link starts with a K, the service is stopped. If it starts with an S, it is started. This is done with the logic in /etc/init.d/rc. The numbers control the order, to avoid dependency problems: lower numbers are run first.
With modern setups, increasingly this static system has disadvantages:
So, given these issues: how does upstart work, how does it improve matters, and how can you start using it?
|