Конвертер команд Systemd

Systemd-RC

Преобразует команды systemd в эквивалентные команды для других init-систем. v0.2

Важно: утилита не эмулирует systemd, а только транслирует команды. На данный момент не поддерживается преобразование скриптов и конфигурационных файлов.

GitLab Установить

Установка

Клонирование и установка

Установите Systemd-RC из исходного кода:

git clone https://github.com/b-e-n-z1342/Systemd-rc.git
cd Systemd-rc
./install

После установки утилита systemctl будет перенаправлять команды в зависимости от используемой init-системы.

Команды

Управление службами

Поддерживаются основные команды управления службами:

Команда Описание
systemctl start <служба> Запустить службу
systemctl stop <служба> Остановить службу
systemctl restart <служба> Перезапустить службу
systemctl status <служба> Показать статус службы
systemctl enable <служба> Включить автозагрузку службы
systemctl disable <служба> Отключить автозагрузку службы
systemctl list-unit Список всех служб
systemctl is-enabled <служба> Проверить включена ли служба

Управление питанием

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

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

Зависимости

Systemd-RC поддерживает различные init-системы. Зависимости для каждой системы:

runit

  • go
  • elogind

dinit

  • go
  • elogind

s6

  • g++
  • elogind

openrc

  • go
  • elogind

FreeBSD

  • g++/clang

Где уже используется

Systemd-RC уже интегрирован в следующие проекты:

Документация

Пример работы

Systemd-RC автоматически определяет init-систему и преобразует команды:

# В системе с OpenRC:
$ systemctl start nginx
→ rc-service nginx start

# В системе с runit:
$ systemctl start nginx
→ sv start nginx

# В системе с FreeBSD:
$ systemctl start nginx
→ service nginx start

Утилита поддерживает единый синтаксис команд независимо от используемой init-системы.