[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
howtos:general_admin:openrc [2018/09/23 14:27 (UTC)] – [Pre installation] changed renamed dir name aaditya | howtos:general_admin:openrc [2018/11/07 09:34 (UTC)] – [Migrating from /etc/init.d to /etc/openrc/init.d] add more info before rebooting aaditya | ||
---|---|---|---|
Line 2: | Line 2: | ||
====== OpenRC ====== | ====== OpenRC ====== | ||
- | OpenRC is a dependency based init system | + | OpenRC is a dependency based service management |
====== Features ====== | ====== Features ====== | ||
- | OpenRC provides a number of features | + | OpenRC provides a number of features like hardware initiated initscript run and cgroups support, without requiring large layout changes. |
====== Installation ====== | ====== Installation ====== | ||
Line 133: | Line 133: | ||
# rc-service sshd start | # rc-service sshd start | ||
+ | |||
+ | ====== openrc-init ====== | ||
+ | |||
+ | Since version **0.25**, openrc provides // | ||
+ | |||
+ | This allows switching between OpenRC and other init systems, for example sysvinit, just by changing boot parameters. | ||
+ | |||
+ | To use it, | ||
+ | |||
+ | === Revert inittab changes done === | ||
+ | |||
+ | cp / | ||
+ | mv / | ||
+ | | ||
+ | === Setup the agetty services === | ||
+ | |||
+ | # main tty | ||
+ | ln -s / | ||
+ | / | ||
+ | | ||
+ | cp / | ||
+ | echo ' | ||
+ | | ||
+ | # additional ttys | ||
+ | for i in {2..6}; do | ||
+ | ln -s / | ||
+ | / | ||
+ | done | ||
+ | | ||
+ | # serial tty (for servers) | ||
+ | ln -s / | ||
+ | / | ||
+ | | ||
+ | cp / | ||
+ | echo ' | ||
+ | |||
+ | === Update boot parameters === | ||
+ | |||
+ | Add the following to your boot parameters (via /// | ||
+ | init=/ | ||
+ | |||
+ | === Shutdown/ | ||
+ | |||
+ | To shutdown or reboot, one will need to use **openrc-shutdown**. To shutdown from a desktop environment using ConsoleKit2, | ||
+ | |||
+ | For more info, check out the [[https:// | ||
+ | |||
+ | ====== Migrating from /etc/init.d to / | ||
+ | |||
+ | OpenRC 0.39+, as // | ||
+ | |||
+ | This is being done to maintain greater compatibility with a vanilla Slackware install. | ||
+ | |||
+ | Existing services will need to be migrated, details below on how it can be done. | ||
+ | |||
+ | === 1. Install openrc-0.39.2 and openrc-services-20181107 === | ||
+ | |||
+ | These packages ship the configuration and service files in /// | ||
+ | |||
+ | === 2. Migrate existing services === | ||
+ | |||
+ | This involves 4 steps: | ||
+ | |||
+ | # migrate existing services | ||
+ | for service in / | ||
+ | svcname=$(basename " | ||
+ | if [ ! -e "/ | ||
+ | if [ -f "/ | ||
+ | cp -v "/ | ||
+ | elif [ -L "/ | ||
+ | # check if symlink is of a service | ||
+ | service_target=$(readlink -f " | ||
+ | service_target_name=$(basename " | ||
+ | if [ $(dirname " | ||
+ | ln -sv "/ | ||
+ | fi | ||
+ | fi | ||
+ | fi | ||
+ | done | ||
+ | | ||
+ | # enable existing services | ||
+ | for runlevel in / | ||
+ | for service in ${runlevel}/ | ||
+ | svcname=$(basename " | ||
+ | rvlname=$(basename " | ||
+ | if [ ! -e / | ||
+ | ln -sv / | ||
+ | fi | ||
+ | done | ||
+ | done | ||
+ | | ||
+ | # check config changes | ||
+ | for file in / | ||
+ | filename=$(basename " | ||
+ | extension=" | ||
+ | if [ " | ||
+ | continue | ||
+ | fi | ||
+ | if [ -e "/ | ||
+ | diff -Nupr "/ | ||
+ | fi | ||
+ | done | ||
+ | | ||
+ | # check local.d changes | ||
+ | for file in / | ||
+ | filename=$(basename " | ||
+ | if [ ! -e "/ | ||
+ | cp -v "/ | ||
+ | elif [ -e "/ | ||
+ | # show changes | ||
+ | diff -Nupr "/ | ||
+ | fi | ||
+ | done | ||
+ | |||
+ | Config changes found above can be updated by hand or copy pasted in new location. | ||
+ | |||
+ | === 3. Check and reboot === | ||
+ | |||
+ | Verify if '' | ||
+ | |||
+ | Reboot and check whether things are working expected, make changes as necessary. | ||
+ | |||
+ | The old files and folders can be renamed (or removed). | ||
+ | |||
+ | mv /etc/init.d / | ||
+ | mv /etc/conf.d / | ||
+ | mv / | ||
+ | mv / | ||
+ | mv / | ||
+ | |||
+ | Finally, any changes done to the default Slackware system can be reverted: | ||
+ | |||
+ | mv / | ||
====== Troubleshooting ====== | ====== Troubleshooting ====== | ||
Line 170: | Line 303: | ||
==== Errors while booting ==== | ==== Errors while booting ==== | ||
- | After installing or updating the **openrc-services** packages, | + | After installing or updating the **openrc-services** packages, |
* checkpath: owner `netdata: | * checkpath: owner `netdata: |