Linux4Yourself / book

Подробное руководство по созданию собственной Linux-системы из исходного кода
https://lx4u.ru
MIT License
174 stars 21 forks source link

finit #105

Open avmaisak opened 3 years ago

avmaisak commented 3 years ago

https://github.com/troglobit/finit

makpif commented 3 years ago

типо еще один инит?

avmaisak commented 3 years ago

ага

avmaisak commented 3 years ago

как альтернативный вариант.

makpif commented 3 years ago

какие "фишки" есть у этого чуда, совместим ли он с sysvinit и использует ли он для загрузки баш скрипты или нет

avmaisak commented 3 years ago

пока оставил этот вопрос себе на изучение.

avmaisak commented 3 years ago

Finit поддерживает уровни выполнения (runlevel) в стиле SysV init, отслеживание работоспособности фоновых процессов (автоматический перезапуск сервиса в случае сбоя), выполнение одноразовых обработчиков, запуск сервисов с учётом зависимостей и произвольных условий, прикрепление дополнительных обработчиков для запуска до или после выполнения сервиса. Например, можно настроить запуск сервиса только после появления доступа к сети или после того, как будет запущен какой-то другой сервис, такой как syslogd. Для задания ограничений применяется Cgroups v2.

Для расширения функциональности и адаптации под свои нужды могут использоваться плагины, для которых предоставлена система hook-ов, позволяющих прикрепить обработчик к различным стадиям загрузки и выполнения сервисов, а также обеспечить привязку к внешним событиям. Например, подготовлены плагины для поддержки D-Bus, ALSA, netlink, resolvconf, горячего подключения устройств, проверки доступности и загрузки модулей ядра, обработки PID-файлов и настройки окружения для X-сервера.

Поддерживается использование типовых скриптов для запуска сервисов, созданных для SysV init (/etc/rc.d и /etc/init.d не используются, но поддержка /etc/inittab может быть реализована через плагин), а также сценариев rc.local, файлов с переменными окружения и сетевых настроек /etc/network/interfaces, как в Debian и BusyBox. Настройки могут как определяться в одном файле конфигурации /etc/finit.conf, так и распределяться по нескольким файлам в каталоге /etc/finit.d.

Управление осуществляется через типовой инструментарий initctl и run-parts, позволяющий активировать и деактивировать сервисы в привязке к уровням запуска, а также выборочно запускать часть сервисов. В состав Finit также входит встроенная реализация getty (управление терминалом и входом пользователей), watchdog для отслеживания работоспособности и режим восстановления после сбоя со встроенным sulogin для запуска изолированной командной оболочки.

makpif commented 3 years ago

это я в его реадми прочитал

makpif commented 3 years ago

какие у него преимущества?

avmaisak commented 3 years ago

пока не знаю. должен быть легковесный. Для embeded

makpif commented 3 years ago

собрал это инит скриптов вроде нету, хотязаявлена совместимость через какие то плагины пример сервиса в сампле.конф service [2345] <net/lo/up> env:-/etc/default/ssh /usr/sbin/sshd -D $SSHD_OPTS -- OpenSSH daemon