Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

OpenRC

From Wikipedia, the free encyclopedia
Init system for Unix-like computer operating systems
icon
This articleneeds additional citations forverification. Please helpimprove this article byadding 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
Initial release5 April 2007; 18 years ago (2007-04-05)
Stable release
0.63[1] Edit this on Wikidata / 20 September 2025
Written inC,[2]sh
Operating systemLinux,FreeBSD,NetBSD
Size~1.6MB
TypeInit daemon
License2-clause BSD license
Websitewiki.gentoo.org/wiki/Project:OpenRCEdit this at Wikidata
Repository

OpenRC is a dependency-basedinit system forUnix-like computeroperating systems. It was created by Roy Marples, aNetBSD developer who was also active in theGentoo project.[3][4]

OpenRC bootingArtix Linux
Booting process

Adoption

[edit]

OpenRC is the defaultinit system orprocess supervisor for:

OpenRC is available as aninit system orprocess supervisor for:

Design

[edit]

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.[10]

Init scripts share similarities with scripts used insysvinit, but offer several features to simplify their creation. Scripts are assumed to havestart(),stop() andstatus(); and the system uses variables already declared to create the default functions.[11] The depend function is used to declare dependencies to other services that would be done withLSB 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.[12]

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, includingrunit[13] ands6.[14]

Features

[edit]
  • Portable betweenLinux,FreeBSD, andNetBSD
  • Parallel service startup (off by default)
  • Dependency-based boot-up
  • Process segregation throughcgroups[15]
  • 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 (includingVPN, bridges, etc.)
  • Verbose debug mode
  • User services[16]

References

[edit]
  1. ^"Release 0.63". 20 September 2025. Retrieved20 October 2025.
  2. ^ab"openrc".Analysis Summary.Ohloh. Archived fromthe original on 2012-11-05. Retrieved2012-03-10.
  3. ^"History".GitHub. Retrieved6 April 2020.
  4. ^"Developers". Retrieved6 April 2020.
  5. ^"OpenRC - Alpine Linux".wiki.alpinelinux.org. Retrieved2025-07-21.
  6. ^"Devuan ASCII 2.0.0 stable release". Retrieved2021-01-18.
  7. ^"OpenRC - ArchWiki".wiki.archlinux.org. Retrieved2025-07-21.
  8. ^"Adding systemd for PostmarketOS". Retrieved2025-06-13.
  9. ^"OpenRC - Debian Wiki".wiki.debian.org. Retrieved2025-07-13.
  10. ^"user guide".GitHub. Retrieved6 April 2020.
  11. ^"service script guide".GitHub. Retrieved6 April 2020.
  12. ^"OpenRC/openrc-init". February 6, 2023. RetrievedOctober 7, 2023.
  13. ^"runit guide".GitHub. Retrieved6 April 2020.
  14. ^"s6 Guide".GitHub. Retrieved6 April 2020.
  15. ^"CGroups Support". Retrieved5 April 2020.
  16. ^"openrc/NEWS.md".GitHub.
Portable implementations
Operating-system-specific
Process supervision tools
Retrieved from "https://en.wikipedia.org/w/index.php?title=OpenRC&oldid=1337532832"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp