Найти в Дзене

Void Linux (управление процессами в RunIt через vsv)

Добрый день дорогой читатель, данное повествование не является
истиной в последней инстанции, это некая инструкция по управлению процессами в Void Linux через средства самой системы инициализации runit (в основном для собственного пользования)в Void Linux через vsv с пояснениями и все возможными мыслями. Действия будут происходить на KVM/QEMU для наглядности. vsv (Void Service Manager) это утилита командной строки, которая служит оболочкой (враппером) для стандартной команды sv из состава runit. Основное назначение vsv это упростить и сделать более наглядным управление и мониторинг служб runit в дистрибутиве Void Linux. Основные функции и особенности vsv: Но довольно хвалебной оды... vsv не всегда установлена по умолчанию, например в Void Linux ее нет, давайте перейдем к установке одноименного пакета: sudo xbps-install -S vsv синтаксис: sudo vsv [действие] [имя сервиса] разберем основные действия команды: sudo vsv status (или просто vsv): Показать статус всех сервисов.
sudo vsv star

Добрый день дорогой читатель, данное повествование не является
истиной в последней инстанции, это некая инструкция по управлению процессами в Void Linux через средства самой системы инициализации runit (в основном для собственного пользования)в Void Linux через vsv с пояснениями и все возможными мыслями. Действия будут происходить на KVM/QEMU для наглядности.

vsv (Void Service Manager) это утилита командной строки, которая служит оболочкой (враппером) для стандартной команды sv из состава runit.

Основное назначение vsv это упростить и сделать более наглядным управление и мониторинг служб runit в дистрибутиве Void Linux.

Основные функции и особенности vsv:

  • Наглядное отображение статуса: При запуске vsv без аргументов она отображает список всех доступных служб и их текущее состояние (запущено, остановлено, ожидает и т.д.) в удобном для чтения формате, часто с цветовой индикацией для новых или аварийных служб.
  • Упрощенный синтаксис команд: Хотя вы можете использовать стандартную команду sv, vsv предлагает более интуитивный и запоминающийся синтаксис, похожий на другие менеджеры, отчасти схож с systemd.
  • Управление службами: vsv позволяет выполнять основные операции управления службами:
  • Фильтрация: Можно использовать фильтры для поиска конкретных служб, например, vsv status ssh.
  • Режим дерева процессов: С помощью опции -t (например, vsv -t) можно просмотреть процессы в виде дерева, что полезно для отладки.

Но довольно хвалебной оды...

vsv не всегда установлена по умолчанию, например в Void Linux ее нет, давайте перейдем к установке одноименного пакета:

sudo xbps-install -S vsv

синтаксис: sudo vsv [действие] [имя сервиса]

разберем основные действия команды:

sudo vsv status (или просто vsv): Показать статус всех сервисов.
sudo vsv start <сервис>: Запустить сервис.
sudo vsv stop <сервис>: Остановить сервис.
sudo vsv restart <сервис>: Перезапустить сервис.
sudo vsv reload <сервис>: "Мягкий" перезапуск сервиса, то есть происходит перезагрузка конфигов.
sudo vsv enable <сервис>: Включает автозапуск сервиса при загрузке системы (создает символическую ссылку из /etc/sv в /var/service/).
sudo vsv disable <сервис>: Отключает автозапуск сервиса (удаляет символическую ссылку).

В чем отличие restart и reload? не будем глубоко копаться в различиях

  • vsv restart <сервис> Команда restart выполняет полную остановку сервиса, а затем ее повторный запуск.
  • vsv reload <сервис> Команда reload запрашивает у уже запущенного процесса перезагрузить свои конфигурационные файлы без полной остановки.

И так перейдем к самой утилите выполнив команды для просмотра статусов сервисов системы

sudo vsv

или

sudo vsv status

как видно из скрина ниже выполняют одну и туже функцию

по экспериментируем с сервисом sshd, кстати один нюанс и очень важный, что бы выполнять манипуляции с сервисами, должны быть созданы симлинки в директорию /var/service, это обязательное условие. напомню команду

sudo ln -s /etc/sv/[имя сервиса] /var/service/

что бы выключить сервис, например sshd, при загрузке системы достаточно выполнить команду и за одно глянем статус

sudo vsv disable sshd
sudo vsv

аналогично выполним команду включить сервис при загрузке и посмотрим статус

sudo vsv enable ssh
sudo vsv

результат действий на скрине ниже

-2

подобным способом остановим sshd и посмотрим статус

sudo vsv stop sshd
sudo vsv

довольно таки просто

-3

попробуем запустить сервис sshd и посмотреть его статус

sudo vsv start sshd
sudo vsv

коментарии излишни, все на скрине ниже

-4

аналогично выглядит перезапуск сервиса
sudo vsv restart sshd
sudo vsv

-5
sudo vsv reload sshd
sudo vsv

более внимательные заметят на скрине ниже что после reload PID остался прежним то бишь сервис просто перечитал свой конфиг. О чем говорилось выше

-6

Думаю некоторые зазадутся вопросом "Почему vsv, если есть sv?" sv это низкоуровневый, стандартный инструмент runit. vsv был создан специально для Void Linux, чтобы предоставить администраторам более "дружественный" интерфейс и дополнительные функции, такие как цветовое выделение и удобный список служб, при этом сохраняя всю мощь и простоту базовой системы runit.

За основу взято Void Linux Handbook, документация по runit, а так же собственная практика.
За сим откланиваюсь...