In OpenRC, runlevels are used to define the state of the system and the services that should be running at any given time. rc-update is a command-line tool that allows you to manage the services that are started or stopped at different runlevels.
rc-update provides several subcommands that can be used to add or remove services from runlevels. The add subcommand is used to add a service to a runlevel, while the del subcommand is used to remove a service from a runlevel. For example, to add the sshd service to the default runlevel, you can use the command rc-update add sshd default.
By default, rc-update will modify the system configuration files to reflect the changes you’ve made. However, you can use the –no-save option to make temporary changes that will be lost when the system is rebooted.
rc-update also provides several options that can be used to specify the runlevel, service status, or other parameters. For example, you can use the –quiet option to suppress output, or the –debug option to enable debugging output.
If you encounter the below error while running the command rc-update:
rc-update: command not found
you may try installing the below package as per your choice of distribution:
Distribution | Command |
---|---|
Debian | apt-get install openrc |
Alpine | apk add openrc |
Kali Linux | apt-get install openrc |
Raspbian | apt-get install openrc |
rc-update Command Examples
1. List all services and the runlevels they are added to:
# rc-update show
2. Add a service to a runlevel:
# sudo rc-update add service_name runlevel
3. Delete a service from a runlevel:
# sudo rc-update delete service_name runlevel
4. Delete a service from all runlevels:
# sudo rc-update --all delete service_name
Summary
In addition to managing services in runlevels, rc-update can also be used to manage the dependencies between services. The depend subcommand is used to modify the dependencies between services, while the show subcommand can be used to display the dependencies between services.
Overall, rc-update is a powerful tool for managing OpenRC services and runlevels, and it can help you customize the behavior of your system to meet your specific needs.