LINUX.ORG.RU
ФорумTalks

Минимально-достаточный функционал системы инициализации


0

1

Сопли, кровь-кишки-расчленёнка...
Всё это мило, но неконструктивно. Предлагаю абстрагироваться от всяких sysVinit, systemd и представить сферическую систему инициализации.

Какой минимальный и достаточный функционал она должна иметь?
По итогам местного срача, возможно, мы получим более или менее адекватный список, который можно будет привести к виду спецификации.
Эту спецификацию уже можно будет продвигать и обсуждать на других форумах.
И так до тех пор, пока не станет ясно что должна делать система инициализации.
Ну а после дело за малым — запилить это всё в коде.

★★☆

По итогам местного срача, возможно, мы получим более или менее адекватный список, который можно будет привести к виду спецификации.
По итогам местного срача
привести к спецификации

Отличная идея!

Breton
()
Ответ на: комментарий от Breton

А чего ржёшь-то? Все формальные описания чего-либо рождаются из срача.
Ты думаешь формирование определения, скажем, окружности проходило без срача? Ха...

Stahl ★★☆
() автор топика

Хочу фото с кишками Леннарта при загрузке.

Solace ★★
()

Система инициализации должна загружать демонов в соответствии с конфигом и ловить зомбей. Этого достаточно.

Xenius ★★★★★
()
Ответ на: комментарий от Xenius

Не так всё просто: а должен ли этот чудесный конфиг поддерживать приоритет?
А только ли среди подгружаемых демонов должен быть приоритет?
А что делать с зомби? На то ведь они и зомби, что хрен с ними что сделаешь...
Вопросов много...

Stahl ★★☆
() автор топика

Какой минимальный и достаточный функционал она должна иметь?

Слака же.
Кроме отсутствия вменяемой системы пакетов, остальная критика не выдерживает критики.

Shadow ★★★★★
()

Хочу фото с кишками Леннарта при загрузке.

люто плюсую

а если по теме - посмотри как RC реализовано в FreeBSD - надо точно так же, только многопоточнее=>быстрее

reprimand ★★★★★
()
Ответ на: комментарий от reprimand

ты фанат системд что-ли?

Ага. А так же фанат унитаза и туалетной бумаги, а не кустиков и лопухов. Фанат центрального отопления, электрического освещения и прочих милых моему сердцу удобств цивилизации.

redgremlin ★★★★★
()
Ответ на: комментарий от redgremlin

Унитаз штука хорошая, но мы говорим про необходимый функционал системы инициализации.

Stahl ★★☆
() автор топика

Какой минимальный и достаточный функционал она должна иметь?

Для каких целей?
Потому что запуск скрипта - вполне себе минимально и достаточно для инициализации всего в системе.

invy ★★★★★
()
Ответ на: комментарий от vurdalak

Ну и где ты у меня увидел эту мысль?
Или ты не видишь разницы между системой инициализации и унитазом?
Давай в аналогии и стереотипы потом поиграем, хорошо?

Stahl ★★☆
() автор топика
Ответ на: комментарий от invy

Для каких целей?

Для простого и удобного запуска всего что надо при старте системы.
Для чего ещё система инициализации нужна?

Stahl ★★☆
() автор топика
Ответ на: комментарий от Stahl

Унитаз штука хорошая, но мы говорим про необходимый функционал системы инициализации.

Кстати в унитазе тоже есть система инициализации смыва.

Deleted
()
Ответ на: комментарий от Stahl

Ну например система инициализации должна быть:
- логичной и лёгкой в настройке
- обеспечивать высокую скорость загрузки
- обеспечивать отказоустойчивость

Если выкинуть последние два пункта, то запуск скрипта - вполне себе отличная система инициализации.

invy ★★★★★
()

кастуй модераторов. пускай прикрепят тему. может хоть что-то полезное зародится на лоре.

для себя хочу:

1. паралельный запуск демонов

2. возможность указать в конфиге зависимости демона

3. возможность включать в конфиг логику действий с демоном при различных ситуациях (запуск, остановка, зомби). можно либо указать выпалнение штатного действия, предоставляемого системой инициализации, либо выполнить свой произвольный алгоритм.

der_looser ★★
()

Минимальный и оптимальный — разные вещи. Пример: ash (ну или dash) — вполне себе минимальный функционал шелла, но кто им пользуется?

x3al ★★★★★
()
Ответ на: комментарий от Stahl

Или ты не видишь разницы между системой инициализации и унитазом?

Ну, раз ты сам спросил...

:3

vurdalak ★★★★★
()
Ответ на: комментарий от invy

Ну например система инициализации должна быть:
- логичной и лёгкой в настройке
- обеспечивать высокую скорость загрузки
- обеспечивать отказоустойчивость

Всё это зависит от реализации.
Я же предлагаю обсудить функционал системы.
Сначала необходимо решить ЧТО система должна делать. И лишь потом как это сделать удобным.

Stahl ★★☆
() автор топика
Ответ на: комментарий от der_looser

Ок, записал.
Если тред не скатится в СГ, то через пару десятков подобных предложений я попробую их смержить...

Stahl ★★☆
() автор топика
Ответ на: комментарий от Stahl

Сначала надо определить не «что», а «для чего» вообще. А потом уже формировать конкретные требования («функционал») и говорить «что именно».

invy ★★★★★
()
Ответ на: комментарий от invy

Хочешь поупражняться в демагогии и казуистике?
Делай это, пожалуйста, где-то ещё.
Да, я знаю, что это ЛОР, но а вдруг получится направить тред в конструктивное русло...

Stahl ★★☆
() автор топика
Ответ на: комментарий от Stahl

Нет, я объясняю, как вообще надо подходить к проектом. Начиная с вопроса «для чего» (какие цели преследуются).

invy ★★★★★
()
Ответ на: комментарий от invy

Когда мы говорим «система инициализации» то подразумеваем много всего.
Во всяком случае достаточно всякого, чтобы начать перечислять фичи без вступительного формализма и бюрократии.
Если ты можешь выразить цель (которую ты, как и все остальные, прекрасно понимаешь) формально, то милости просим — не помешает.

Stahl ★★☆
() автор топика

1. Зависимости. Сервисы зависят от работы других сервисов.

2. Делегирование запуска сервисов не root пользователю.

3. Параллельная загрузка, не зависящих друг от друга, сервисов.

4. Перезапуск сервиса после ошибки.

Всё.

robot12 ★★★★★
()
Ответ на: комментарий от userid2

Делающий всё, что должен делать init.

Ну вот и напиши что «всё».
Мы тут собираем сферический инит в вакууме, который будет удобен и достаточен для 95% случаев.

Stahl ★★☆
() автор топика
Ответ на: комментарий от Shadow

Да. Мне достаточно винтажного bsd init, который мало отличается от autoexec.bat

Внезапно, autoexec.bat — это из DOS, а Windows есть свои средства запуска сервисов, которые больше похожи на systemd и upstart, чем на init.

quiet_readonly ★★★★
()

Ещё один срачек?

  • Запускать/рестартовать/посылать_сигналы процессам
  • Базово мониторить (запущен/незапущен) и перезапускать, если надо.
  • Контролировать процессы не только по пиду, а через cgroups, чтоб знать не только стартовый процесс apache, но и все порожденные. Уметь их добивать.

Все, имхо. Параллельность, скорость загрузки и прочая ерунда это несущественные детали.

zloelamo ★★★★
()
Последнее исправление: zloelamo (всего исправлений: 1)

(Тред не читал)

1. Запускать демонов при старте системы.
2. Перезапускать/выключать.
3. Назначать nice.
4. Автоматически перезапускать зомби/упавшие с записью в логи.
5. Параллельный запуск.
6. Последовательный запуск с заданной очередностью всякой фигни со сложными зависимостями. Потому что система зависимостей сложная и не нужна.
7. Запускать/выключать демонов в зависимости от текущего runlevel.

А вещи типа монтирования флешек должен делать демон монтирования флешек.

Gregon
()

функционал

x4DA ★★★★★
()

Какой минимальный и достаточный функционал она должна иметь?

такой, какой у OpenRC

Lincor
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.