LINUX.ORG.RU
ФорумTalks

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

 


0

2

Продолжаем обсуждение из этого треда:
(Составление списка фич для системы инициализации)
Минимально-достаточный функционал системы инициализации

Вот список пожеланий из предыдущего обсуждения:
01. Возможность включать в конфиг логику действий с демоном при различных ситуациях (запуск, остановка, зомби). можно либо указать выполнение штатного действия,
предоставляемого системой инициализации, либо выполнить свой произвольный алгоритм.
02. Зависимости. Сервисы зависят от работы других сервисов.
03. Делегирование запуска сервисов не root пользователю.
04. Параллельная загрузка, не зависящих друг от друга, сервисов.
05. Запускать/рестартовать/посылать_сигналы процессам
06. Базово мониторить (запущен/незапущен) и перезапускать, если надо.
07. Контролировать процессы не только по пиду, а через cgroups. Уметь их добивать.
08. Назначать nice.
09. Последовательный запуск с заданной очередностью всякой фигни со сложными зависимостями. Потому что система зависимостей сложная и не нужна.
10. Уметь ранлевелы (хотя таргеты как в systemd лучше);
11. Забирать себе процессы, родители которых умерли;
12. Выключать и усыплять комп.

Давайте пройдёмся по списку и приведём его к нормальному виду.

★★☆

приведи по пунктам то, что не устраивает в существующих (включая маргинальные)

xsektorx ★★★ ()

Выключать комп - это переход на соответствующий ранлевел плюс отсылка команды
Усыплять комп - это вообще обычно таки отдельная инфраструктура

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

приведи по пунктам то, что не устраивает в существующих (включая маргинальные)

Мы не обсуждаем существующие системы инициализации. Мы составляем список возможностей.

Stahl ★★☆ ()

systemd изобретается в этом треде? давайте лучше портируем его на FreeBSD!

dib2 ★★★★★ ()

04. Параллельная загрузка, не зависящих друг от друга, сервисов.
09. Последовательный запуск с заданной очередностью всякой фигни со сложными зависимостями. Потому что система зависимостей сложная и не нужна.

/0

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

Что API?

Оно должно быть. Хотя бы в виде бинарника, который можно запускать из своей программы. Главное, чтобы был чётко специфицированный интерфейс.

Запустить сервис, запустить если ещё не запущен, перезапустить сервис, остановить сервис, проверить состояние сервиса (запущен, остановлен, упал, был успешно запущен и завершил работу (для oneshot-сервисов) и т.п.)...

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

Это список различных пожеланий различных людей.
Этот список не должен быть непротиворечивым.
Этот список должен быть дополнен и приведён к непротиворечивому виду.
Так что забирай обратно свой ноль.

Stahl ★★☆ ()

Интересной была бы концепция хранения данных демона где-то вне. На случай креша например. Хотя это может и не так важно.

Насчёт апи. Например если я пишу гуи для контроля. Каким образом коммуницировать с системой инициализации? Через сокет? Пайп? Дибас? Или по старинке запуском отдельного процесса и парсинга выхлопа? Конечно, cli is a must, но неплохо было бы иметь какой-нибудь способ упростить коммуникацию. Идеально, если бы для этого была бы библиотека. Но сокет тоже бы пригодился.

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

рестартовать

иметь white и black листы для того что надо и не надо рестартовать

Назначать nice

и ionice и м.б. что-нибудь ещё (cgroups и т.д)

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

Через сокет? Пайп? Дибас?

Пока рано об этом говорить — необходимо сначала утвердить функционал.
Впрочем, судя по активности в этой теме, это нафиг никому не надо и всех всё устраивает.

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

Это свойство всех начинаний. Всегда кажется, что это никому не нужно. Более того, в очень большом количестве случаев так и есть.

nanoolinux ★★★★ ()

А что системдэ не так? Лучше бы рефакторинг провели, чем городить велики.

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

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

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

9 пункт не понял. а все остальное - нужное

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

Что тебе непонятно в пункте, где утверждается, что зависимости ненужны?

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

Отвечу как автор пункта 9.

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

Те демоны, у которых есть зависимости от работы чего-то еще, запускаются по очереди. Сначала я погарячился и потребовал, чтобы последовательность запуска задавалась отдельным списком вручную.

Потом пришел кто-то умный и сказал просто в конфиге демона указывать, отчего он зависит, а потом по команде парсить конфиги и строить дерево зависимостей. С чем я и согласился.

Gregon ()

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

Есть реальный usecase? Для прикладного софта обычно хватает автостарта в DE.

Gregon ()

12. Выключать и усыплять комп.

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

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

Писать лог ещё

Лог пишет писалка лога. Инит не писалка лога.

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

Плюсую, API удобен, например для менеджера демонов. На пайпах или сокетах сойдет.

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

Ну, в старом sysv init можно было задать реакцию на отключение питания от ups например.

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

Интересной была бы концепция хранения данных демона где-то вне. На случай креша например. ...

Я тут шутил насчёт интеграции отладчика в systemd, а, оказывается, это кому-то нужно...

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

Лучше бы рефакторинг провели

За что Вы так людей не любите?

Shadow ★★★★★ ()

Потому что система зависимостей сложная и не нужна.

Дальше и раньше не читал. Уже этого бреда достаточно.

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

Дальше и раньше не читал.

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

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

я пока лишь собираю на кучу абсолютно все мнения вне зависимости от их рационализма и противоречивости

Ок, накидаю тебе выдержек из книг про психические расстройства.

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

Тебе тема не интересна?
Тогда брысь отсюда — вон в соседней теме ТС не принял таблетки и несёт пургу.
На нём и испытывай свои выдержки:)

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

в соседней теме ТС не принял таблетки и несёт пургу

В этой тоже. И?

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

это настолько сложно, что написать с нуля проще?

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

Ну в принципе функционал нужный.

А какая подсистема сейчас реагирует на ноутах на подключение внешнего питания? Это ведь в ту же степь.

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

Причём здесь системг? Такая фича появвилась ещё в драйверах миникса.

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

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

сделай чтоли

ps -ef|awk '{print $1}'|sort -u

Deleted ()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Gregon

внимание вопрос, инит запустил /usb/bin/kuevina которая гадит в stderr, куда денется то что попало в stderr ?

Deleted ()

я тут вас почитал, детки, и я теперь понимаю почему линакс такое уг - потому что сначала у школьников возникает зуд меж полушарий нижнего мозга, затем нервный импульс доходит до рук, и только когда _это_ попало в дистрибутивы, просыпается мозг головной.

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

ITT изобретают systemd-nih

Да я вот тоже думаю, ну его, этот вискарь.
Пойду systemd-тосольчику наверну.

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

Никак. Все могут только срать на системД и дрочить на сисинит.
Написать... Да что там написать... Придумать что написать уже не могут.

Stahl ★★☆ ()

Например.

Возможно было бы сделать «по умолчанию» — последовательный запуск, а распараллеливание опционально.

Насчет 12, сомневаюсь — но если новая система будет переработанной, то наверное этот функционал будет вписываться(?) — как некий сервис. (Хотя, может имелось ввиду «корректное выключение»? — 7 пункт!?)

aes_ultimum ★★ ()
Ответ на: Например. от aes_ultimum

Обращай внимание на даты, некропостер.
Неужели ты подумал, что ЛОРовцы смогут создать хоть что-то большее, чем моль-другой метана?
Тема не вызвала интереса. Куда ведь веселей демонстративно обсырать systemd или ещё что, чем что-то делать. Даже если это «делать» сводится к банальному списку фич.

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

Обращай внимание на даты, некропостер.

Ой, да ладно.

Неужели ты подумал, что ЛОРовцы смогут создать

Вполне. Даже можно девиз придумать «Начинаем с малого» (Хе-хе).

Тема не вызвала интереса.

Как знать.

Куда ведь веселей демонстративно обсырать systemd или ещё что, чем что-то делать.

Отделяй полезное. Не слушай ненавистников/фанатов — и нет проблем. На ЛОРе просто специфичная аудитория (хотя с 2008 многое(?) изменилось наверное).

Даже если это «делать» сводится к банальному списку фич.

Так он уже готовый.

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