Введение

Systemd-rc - это шим-утилита, которая даёт возможность использовать привычные команды в дистрибутивах Linux c OpenRC, Runit, Dinit и скоро S6. Написан на Go, но могут внедряться части модули на C++ и других языках, если это будет необходимо. Стоит упомянуть сразу - это не эмулятор, он только переводит systemctl в rc-service/rc-update/loginctl.

Встроен в QuasarLinux.

Смысл этого всего?

Смысл есть и вот причины его:

  • Новички могут не знать OpenRC команд.

  • Некоторые скрипты хотят systemctl, но его нет.

  • Для удобства.

Текущий функционал

Systemd-rc переводит команды таких утилит как - systemctl.

systemctl

Возьму за сервис - nginx.

Базовые команды
Базовые команды
systemctl start         # Запуск сервиса.
systemctl stop          # Остановка сервиса.
systemctl restart       # Перезапуск сервиса.
systemctl reload        # Перезапуск конфига.
systemctl enable        # Включение в автозагрузку (default).
systemctl disable       # Выключение из автозагрузки.
systemctl status        # Статус сервиса.
systemctl is-enabled    # Проверка в автозагрузке ли сервис.
systemctl list-units    # Выводит список сервисов.

Systemd-rc не создаёт init скрипты - он только вызывает существующие.

Команды для управления питания:

systemctl poweroff       # Выключение.
systemctl reboot         # Перезагрузка.
systemctl suspend        # Переход в спящий режим.
systemctl hibernate      # Гибернация.
systemctl halt           # Остановка системы без отключения питания.

Systemd-rc использует elogind для suspend и hibernate.

Заключение

В заключение: это не попытка повторить systemd, а просто сделать мост для тех, кто не привык к OpenRC.

Будущее

Systemd-rc пока может переводить только в openrc/runit/dinit, но в планах:

  • s6 поддержка.

  • journalctl - в разработке (базовое чтение логов).

  • другие systemd команды.

Ссылки:

Сайты

Github

Telegram

Комментарии (9)