Init

From Freephile Wiki
Jump to navigation Jump to search

upstart80.png

What's an init script? Today a lot of systems are cropping up to replace the traditional Service management in Unix-like systems. To sort out the landscape, I thought I'd put together a little page here.

In Unix-based computer operating systems, init (short for initialization) is the first process started during booting of the computer system. Init is a daemon process that continues running until the system is shut down. It is the direct or indirect ancestor of all other processes and automatically adopts all orphaned processes. Init is started by the kernel using a hard-coded filename, and if the kernel is unable to start it, a kernel panic will result. Init is typically assigned process identifier 1.

  • wp:Systemd is used by RedHat and as of Feb 2014, planned for Debian and Ubuntu [1]
  • wp:Runit is a reimplementation of the "seminal" daemontools, and is curiously used in the DevOps configuration mangement system Chef. I say curiously because Runit is an inactive project. But, it's probably an easy compromise to use a simple solution for the initialization of Chef-controlled nodes.
  • wp:Upstart is/was to be an improvement to sysvinit system capable of asynchronous, event-driven daemon control. For example, the loading of firmware for a device, which may need to occur after it is detected but before it is usable. Used by Ubuntu since 2006, now Ubuntu is following Debian to Systemd. RedHat uses Upstart in RHEL6, but will be moving to Systemd in RHEL7. Google Chrome OS uses Upstart. Learn Upstart at http://upstart.ubuntu.com/cookbook/
  • wp:Launchd is used by Mac OSX and except for license problems, could have become a contender in the GNU/Linux world.
  • wp:OpenRC On Unix-like systems, OpenRC is a dependency-based init system that works with the system-provided init program, normally /sbin/init; however, it is not a replacement for /sbin/init.

upstart-states.png

References[edit source]