Where Does OpenRC Store Services and Runlevels?
OpenRC keeps service scripts in /etc/init.d, runlevels in /etc/runlevels, and per-service config in /etc/conf.d on Linux.
Last updated
OpenRC spreads boot config across three folders and each has one job. Init scripts live in /etc/init.d. Runlevels are folders of symlinks under /etc/runlevels. Service options live as plain files in /etc/conf.d.
The symlink design is the part to learn. Nothing is copied when you enable a service. One link appears in the runlevel folder and boot picks it up. That makes listing enabled services a plain ls.
Where OpenRC stores this, by platform
/etc/runlevels
Runlevel membership as symlinks. default/ holds normal boot services. List it to see what starts at boot.
/etc/conf.d
Per-service variables sourced by init scripts. One file per service, plain KEY=value lines.
Frequently asked questions
How do I enable a service at boot with OpenRC?
Add a symlink in the runlevel folder pointing at /etc/init.d/name, or run rc-update add name runlevel. Delete the link to remove it. The script itself stays put.
Where do OpenRC service options go?
Edit the matching file in /etc/conf.d. Many init scripts source that file for options like ports and flags. Restart the service afterwards with rc-service name restart.
Where are OpenRC boot logs?
Check /var/log/rc.log. Boot and service start messages land there when logging is enabled in /etc/rc.conf.
Notice an outdated path? Let us know.