Доступна система инициализации Finit 4.0
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
После около трёх лет разработки опубликован релиз системы инициализации Finit 4.0 (Fast init), развиваемой в качестве простой альтернативы SysV init и systemd. Проект основан на наработках, созданных при обратномм инжиниринге системы инициализации fastinit, используемой в Linux-прошивке нетбуков EeePC и примечательной очень быстрым процессом загрузки. Система в первую очередь нацелена на обеспечение загрузки компактных и встраиваемых систем, но также может применяться для обычных настольных и серверных окружений. Примеры сценариев для внедрения подготовлены для Void Linux, Alpine Linux и Debian GNU/Linux. Код проекта написан на языке Си и распространяется под лицензией MIT.
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 для запуска изолированной командной оболочки.
Среди изменений, добавленных в выпуске Finit 4.0 (версия 3.2 была пропущена из-за наличие изменений, нарушающих обратную совместимость):
- Отдельная утилита reboot заменена на символическую ссылку на initctl по аналогии с утилитами halt, shutdown, poweroff и suspend.
- Реализована индикация прогресса выполнения операций.
- Изменена работа команд "inictl cond set|clear COND" для привязки действий к различным событиям. Для идентификации сервисов задействован синтаксис <pid/foo:id> вместо привязки к путям <svc/path/to/foo>.
- Удалена встроенная реализация сервера inetd, при необходимости в котором можно установить xinetd.
- Добавлена поддержка cgroups v2 для запуска сервисов в отдельных cgroup.
- Добавлен режим восстановления после сбоя со своим suslogin.
- Добавлена поддержка start/stop скриптов от SysV init.
- Добавлены обработчики pre:script и post:script, позволяющие указать свои действия, выполняемые перед или запуска сервиса.
- Добавлена поддержка env:file с переменными окружения.
- Добавлена возможность отслеживания произвольных PID-файлов.
- Добавлена возможность запуска задач и сервисов с использованием относительных путей.
- В initctl добавлена опция "-b" для выполнения действий в неинтерактивном режиме (batch mode).
- Встроенный watchdog заменён на отдельный вариант watchdogd.
- Добавлен плагин для автоматической загрузки модулей ядра для устройств, подключаемых во время работы.
- Добавлен плагин для обработки /etc/modules-load.d/.
- Добавлена поддержка автоматического перезапуска сервисов после изменения настроек, позволяющая обойтись без ручного выполнения команды "initctl reload". По умолчанию отключено и требует пересборки с "./configure --enable-auto-reload".
- Добавлена возможность ведения лога операций, влияющих на безопасность, таких как изменение runlevel, запуск и остановка сервисов, сбои сервисов.
- Улучшена поддержка /etc/network/interfaces.
===========
Источник:
OpenNet.RU
===========
Похожие новости
- Главная ссылка к новости (https://github.com/troglobit/f...)
- OpenNews: Подробности метода сокращения загрузки Asus EeePC до 5 секунд
- OpenNews: Выпуск UIRD 2.0, унифицированной системы инициализации для модульных Linux-систем
- OpenNews: Intel опубликовал открытую прошивку для инициализации оборудования и загрузки ОС
- OpenNews: Выпуск системы инициализации GNU Shepherd 0.8
- OpenNews: Выпуск системы инициализации sysvinit 2.99
Похожие новости:
- Первая версия InfiniTime, прошивки для открытых умных часов PineTime
- [Анализ и проектирование систем, Распределённые системы] Стабильная нестабильность — оксиморон или необходимость?
- [Java] Подключение Keycloak к Spring Boot приложению
- [Java, Kubernetes] Spring Boot приложение в Kubernetes с Postgresql и Loki
- [Ненормальное программирование, Я пиарюсь, C++, ООП] CDD — Cli Driven Development
- Автор Libreboot выступила с защитой Ричарда Столлмана
- [Java] Настройка Spring Data JPA с помощью Spring Boot (перевод)
- [Java, Администрирование баз данных, DevOps] Версионирование структуры БД при помощи Liquibase
- [Java, API] Сбор метрик Spring Boot приложения c помощью Prometheus и Grafana
- [Java] Пишем телеграм бота на Java от А до Я
Теги для поиска: #_finit, #_fastinit, #_boot
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 14:09
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
После около трёх лет разработки опубликован релиз системы инициализации Finit 4.0 (Fast init), развиваемой в качестве простой альтернативы SysV init и systemd. Проект основан на наработках, созданных при обратномм инжиниринге системы инициализации fastinit, используемой в Linux-прошивке нетбуков EeePC и примечательной очень быстрым процессом загрузки. Система в первую очередь нацелена на обеспечение загрузки компактных и встраиваемых систем, но также может применяться для обычных настольных и серверных окружений. Примеры сценариев для внедрения подготовлены для Void Linux, Alpine Linux и Debian GNU/Linux. Код проекта написан на языке Си и распространяется под лицензией MIT. 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 для запуска изолированной командной оболочки. Среди изменений, добавленных в выпуске Finit 4.0 (версия 3.2 была пропущена из-за наличие изменений, нарушающих обратную совместимость):
=========== Источник: OpenNet.RU =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 14:09
Часовой пояс: UTC + 5