GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Main page
  • Contents
  • Current events
  • Random article
  • About Wikipedia
  • Contact us
  • Help
  • Learn to edit
  • Community portal
  • Recent changes
  • Upload file
  • Special pages
  • Search
  • Donate

This view

  • Original page
  • New address

GeezerVison is showing en.wikipedia.org — OpenRC - Wikipedia

icon
This article needs more citations. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "OpenRC" – news · newspapers · books · scholar · JSTOR
(July 2019) (Learn how and when to remove this message)
OpenRC
The OpenRC logo
Original authorRoy Marples
DeveloperOpenRC Developers
Release5 April 2007 (2007-04-05)
Stable release
0.64.1[1] Edit this on Wikidata / 23 September 2026
Written inC,[2] sh
Operating systemLinux, FreeBSD, NetBSD
Size~1.6 MB
TypeInit daemon
License2-clause BSD license
Websitewiki.gentoo.org/wiki/OpenRC
Repository
  • github.com/OpenRC/openrc

OpenRC is a dependency-based init system for Unix-like computer operating systems. It was created by Roy Marples, a NetBSD developer who was also active in the Gentoo project.[3][4]

OpenRC booting Artix Linux
Booting process

Adoption

OpenRC is the default init system or process supervisor for:

  • Alpine Linux[5]
  • ArchBang
  • Calculate Linux
  • Funtoo
  • Gentoo Linux
  • Hyperbola GNU/Linux-libre
  • Maemo Leste
  • Nitrux

OpenRC is available as an init system or process supervisor for:

  • Artix Linux
  • Devuan[6]
  • Parabola GNU/Linux-libre
  • Arch Linux (available through the Arch User Repository)[7]
  • Nura (formerly postmarketOS)[8][9]
  • Debian[10]

Design

OpenRC is made up of several modular components, the main ones being an init (optional), the core dependency management system, and a daemon supervisor (optional). It is written in C and POSIX-compliant shell,[2] making it usable on BSD and Linux systems.

The core part of OpenRC handles dependency management and init script parsing. OpenRC works by scanning the runlevels, building a dependency graph, then starting the needed service scripts. It exits once the scripts have been started. By default, OpenRC uses a modified version of start-stop-daemon for daemon management.[11]

Init scripts share similarities with scripts used in sysvinit, but offer several features to simplify their creation. Scripts are assumed to have start(), stop() and status(); and the system uses variables already declared to create the default functions.[12] The depend function is used to declare dependencies to other services that would be done with LSB headers in sysvinit. Configuration and mechanism are separated with configuration files in the conf.d directory and init files in the init.d directory.

openrc-init first appeared in version 0.25 as an optional replacement for /sbin/init. This can replace Gentoo Linux's default init system, sysvinit.[13]

Supervise-daemon first appeared in version 0.21 giving OpenRC supervision capabilities. It can be enabled in the init script for supervise-daemon to start and monitor a daemon. Several other daemon supervisors are supported, including runit[14] and s6.[15]

Features

  • Portable between Linux, FreeBSD, and NetBSD
  • Parallel service startup (off by default)
  • Dependency-based boot-up
  • Process segregation through cgroups[16]
  • Per-service resource limits (ulimit)
  • Separation of code and configuration (init.d / conf.d)
  • Extensible startup scripts
  • Stateful init scripts (has it started already?)
  • Complex init scripts to start multiple components (Samba [smbd and nmbd], NFS [nfsd, portmap, etc.])
  • Automatic dependency calculation and service ordering
  • Modular architecture and separation of optional components (cron, syslog)
  • Expressive and flexible network handling (including VPN, bridges, etc.)
  • Verbose debug mode
  • User services[17]

References

  1. ↑ "Release 0.64.1". 23 September 2026. Retrieved 23 September 2026.
  2. 1 2 "openrc". Analysis Summary. Ohloh. Archived from the original on 2012-11-05. Retrieved 2012-03-10.
  3. ↑ "History". GitHub. Retrieved 6 April 2020.
  4. ↑ "Developers". Retrieved 6 April 2020.
  5. ↑ "OpenRC - Alpine Linux". wiki.alpinelinux.org. Retrieved 2025-07-21.
  6. ↑ "Devuan ASCII 2.0.0 stable release". Retrieved 2021-01-18.
  7. ↑ "OpenRC - ArchWiki". wiki.archlinux.org. Retrieved 2025-07-21.
  8. ↑ "Adding systemd for PostmarketOS". Retrieved 2025-06-13.
  9. ↑ "Project rebrand". Nura. Retrieved 2026-10-01.
  10. ↑ "OpenRC - Debian Wiki". wiki.debian.org. Retrieved 2025-07-13.
  11. ↑ "user guide". GitHub. Retrieved 6 April 2020.
  12. ↑ "service script guide". GitHub. Retrieved 6 April 2020.
  13. ↑ "OpenRC/openrc-init". February 6, 2023. Retrieved October 7, 2023.
  14. ↑ "runit guide". GitHub. Retrieved 6 April 2020.
  15. ↑ "s6 Guide". GitHub. Retrieved 6 April 2020.
  16. ↑ "CGroups Support". Retrieved 5 April 2020.
  17. ↑ "openrc/NEWS.md". GitHub.
Retrieved from "https://en.wikipedia.org/w/index.php?title=OpenRC&oldid=1377893366"
Categories:
  • Software using the BSD license
  • Unix process- and task-management-related software
Hidden categories:
  • Articles with short description
  • Short description is different from Wikidata
  • Articles needing additional references from July 2019
  • All articles needing additional references
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.