Jump to content

OpenRC

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 2a03:c700:0:803:d1a6:eef3:a8dc:b08b (talk) at 09:14, 26 November 2016. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

OpenRC
Original author(s)Roy Marples
Developer(s)OpenRC Developers
Initial release5 April 2007 (2007-04-05)
Stable release
0.22.4 / 18 November 2016; 7 years ago (2016-11-18)[1]
Repository
Written inC[2]
Operating systemLinux, FreeBSD, NetBSD
Size~900 KB
TypeInit daemon
License2-clause BSD license
Websitewww.gentoo.org/proj/en/base/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.

OpenRC is the default init system of Gentoo, Alpine Linux and other Linux distributions, which means that the software packages and daemons of those distributions support it, coming with or using the available scripts. Next to Linux OpenRC can also be used on different BSD systems. Its creator is a NetBSD developer, who started the Gentoo/FreeBSD project.

OpenRC provides the following features:

  • Portable to non-Linux
  • Parallel service startup (optional, in development)[3]
  • Dependency based boot-up
  • Process segregation through cgroups
  • Per-service resource limits (ulimit)
  • Separation of code and configuration (init.d / conf.d)
  • Easily extensible startup scripts customizable by users
  • Ability to include an unlimited variety of commands beyond basic "start, stop, and status"
  • Stateful init scripts (is it started already?)
  • Complex init scripts to start multiple components (Samba (smbd and nmbd), NFS (nfsd, portmap, etc.))
  • Automatic dependency calculation and service ordering
  • Proper integration into container/virtualization (Linux-VServer, OpenVZ, etc.)[4]
  • Proper modular architecture and separation of optional components (Cron, syslog)
  • Expressive and flexible network handling (including VPN, bridges, etc.)
  • Support for bare-metal bare-dependency servers[5][6]
  • Verbose debug mode

References

  1. ^ "openrc-0.22.4". Retrieved November 26, 2016.
  2. ^ "openrc", Analysis Summary, Ohloh, retrieved 2012-03-10
  3. ^ Parallel startup in OpenRC was disabled by default due to bug 391945 (boot can hang when rc_parallel=yes)
  4. ^ OpenRC
  5. ^ gentoo-embedded post, 29 Jul 2011
  6. ^ Using Mdev on Gentoo