OpenRC

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

Lua error in package.lua at line 80: module 'strict' not found.

OpenRC
Original author(s) Roy Marples
Developer(s) OpenRC Developers
Initial release 5 April 2007 (2007-04-05)
Stable release 0.19.1 / 15 January 2016; 8 years ago (2016-01-15)[1]
Written in C[2]
Operating system Linux, FreeBSD, NetBSD
Size ~900 KB
Type Init daemon
License 2-clause BSD license
Website www.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 100% compatible with Gentoo init scripts, which means one can probably find one for the daemons you want to start in the Gentoo Portage Tree. OpenRC, however, is not exclusively used by Gentoo Linux and can be used on different Linux and 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. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  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

External links