OpenRC
Jump to navigation
Jump to search
This article's tone or style may not reflect the encyclopedic tone used on Wikipedia. (December 2012) (Learn how and when to remove this template message) |
| Original author(s) | Roy Marples |
|---|---|
| Developer(s) | OpenRC Developers |
| Initial release | 5 April 2007 |
| Stable release |
0.35.5
/ 15 March 2018[1] |
| Repository |
|
| Written in | C[2] |
| Operating system | Linux, FreeBSD, NetBSD, TrueOS |
| Size | ~900 KB |
| Type | Init daemon |
| License | 2-clause BSD license |
| Website |
www |
On Unix-like systems, OpenRC is a dependency-based init. Since 0.25 OpenRC includes openrc-init, which can replace /sbin/init, but the default provider for the init program is SysVinit for OpenRC. As well as Linux, OpenRC can also be used on several BSD systems. It was created by a NetBSD developer, who started the Gentoo/FreeBSD project.
OpenRC is the default init system of TrueOS[3], Gentoo, Alpine Linux, Parabola GNU/Linux-libre, Artix Linux and other unix-like systems, while some others like Devuan offer it as an option.[4] That means that the software packages and daemons of those systems/distributions support it, coming with or using the available scripts.
OpenRC provides the following features:
- Portable between Linux, TrueOS, FreeBSD, and NetBSD
- Parallel service startup (optional, in development)[5]
- 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.)[6]
- 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[7][8]
- Verbose debug mode
References[edit]
- ^ "openrc-0.35". Retrieved March 27, 2018.
- ^ "openrc", Analysis Summary, Ohloh, retrieved 2012-03-10
- ^ "4. Post Installation Configuration — TrueOS® User Guide". www.trueos.org. Retrieved 2017-03-12.
- ^ "Devuan ASCII 2.0.0 stable release". Retrieved 2018-07-17.
- ^ Parallel startup in OpenRC was disabled by default due to bug 391945 (boot can hang when rc_parallel=yes)
- ^ OpenRC
- ^ gentoo-embedded post, 29 Jul 2011
- ^ Using Mdev on Gentoo
External links[edit]
- Official website
- OpenRC git repositories at gentoo.org and GitHub
- Init systems comparison: part 1 and part 2 (LWN.net)
- Openrc-init gentoo wiki and git commit