The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Анонсирован Devuan, форк Debian GNU/Linux без systemd"
Отправлено Mihail Zenkov, 01-Дек-14 12:25 
> А sysv init - это вообще один голый мотор, без нифига.

Да, но никто не мешает взять для него готовые скрипты.

Задача системы инициализации:
1. Монтирование ФС (виртуальных и реальных), для реальных перед монтированием запуск fsck. Для дестопа это 15 строк.
2. Установка обработчика hotplug  - 4 строки.
3. Настройка сети и железа - 20 строк (+ часть в hotplug - 5 строк shell, 70 строк на D).
4. Запуск демонов - 1 строка (еще два запускаются по событиям в hotplug).
5. Запуск Xorg и начальных приложений (15 строк).

ИМХО большинство проблем связанны с переусложнением решения реальных задач. При попытке сделать все-в-одном на shell мы видим десятки нетривиальных скриптов. Можно часть спрятать во внутренностях системы инициализации, но тогда работа системы становится менее понятной, что влечет либо сложные баги из-за непонимания нюансов, либо потерю времени (на изучение все-в-одном понадобится больше времени, чем на специализированное решение). Ну и само собой - любое сложное потенциально больше глючит чем простое, да и сами баги сложнее для исправления.

ИМХО не стоит объединять молоток с микроскопом. Для каждой задачи нужен свой инструмент - лучше изучить два-три простых инструмента, которые тебе нужны, чем мега девайс с тучей функций, который при попытке использования микроскопа может зарядить молотком по предметному стеклу или по пальцам. Насколько я могу понять, у вас уже был аналогичный опыт со сложными решениями типа LLVM - в теории все красиво, но на практике развитие сложнее, а эффективность ниже, чем специализированное решение.

> Да. И я полагаю что этим должен рулить какой-то низкоуровневый системный компонент.
> В идеале чуть ли не бутлоадер, чтобы откатиться можно было из
> любой позы, независимо от степени факапа. Ну накрайняк кернел, или хотя-бы
> стартер - сойдут. Чем выше уровень - тем больше вероятность что
> откат системы не получится и понадобится какой-то отдельный кастом. Как минимум
> некий ребут на запасную die-hard систему (recovery) и уже оттуда. Уже
> дольше и сложнее. Реалистично же - для бутлоадера все это слишком
> сложно, абсолютный минимум кто это технически может - ядро, но большой
> вопрос насколько правильно в него впихать такой кус логики и какое-то
> взаимодействие с юзером. Ну тогда следующим накрайняк системный стартер.

В ядро такое точно тянуть не нужно - ИМХО должно быть отдельное приложение никак не связанное с системой инициализации и другими системами и запускаться вместо init процесса отдельным пунктом в меню бутлоадера.

>> Система с init + несколько скриптов по-прежнему будет работать, без systemd?
> Если вы сформируете такую систему - то будет. А почему нет? Ну
> разве что если вы воткнете какой-то компонент который без systemd не
> работает - тогда да.

Полностью согласен. Рассмотрим дальше: systemd заменяет собой ряд стандартных компонентов, добавляет часть новых. Их нужно использовать (иначе зачем добавлять?) и рано или поздно программы начнут их задействовать. Само по себе это правильно. Но эти компоненты не унифицированы. Я не могу поставить отдельный понравившийся мне компонент, а остальное взять от других проектов. Почему нет претензий к другим системам инициализации? Потому что они заменяют один конкретный компонент и прекрасно взаимодействуют с остальными. Если заменяется несколько компонентов, то это как правило компоненты слабо связаны (могут работать друг без друга) и часто выделяются в отдельные проекты. Стратегия opensource основана на сотрудничестве и разделении труда - каждый сосредотачивается на своем компоненте и использует чужие. Поттеринг не признает этой основы - пытается подмять все под себя. Отсюда и весь негатив против него в сообществе.

> Я тоже гном не использую. Но например если убунта и дебиан поюзают
> системд - я смогу более-менее универсально ими обоими рулить и мне
> будет проще (дедупликация знаний + куча фич которые мне пригодятся).

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

>> При подходе, продвигаемым systemd (Поттерингом), альтернативные решения не
>> пострадают и все будет также легко взаимозаменяемо?
> Это уже на усмотрение авторов софта, как обычно. Если некто заложится на
> фичи systemd и этот софт вам понадобится - ну ой, любителям
> альтернатив придется запилить фичи или хотя-бы заглушки и у себя. Грубо
> говоря, если ALL в целом решил что в сети будет 220
> вольт, вы можете использовать и мотор на иное напряжение, но как
> вы его будете адаптировать к 220 - уже ваши сложности и
> может потребоваться некая отдельная возня. Проще всего разумеется взять мотор на
> 220 вольт.

Как же он тогда раньше работало и продолжает работать? Тут ситуация больше похожа на продвижение мультимедиа форматов с DRM и прочих зонтиков - у вас все не правильно работает, используйте наш vendor lock, ведь ваш flac не поддерживается (официально) в iphone/windows/etc.

> А я вот как-то имел прецеденты когда мне надо было допиливать чужие
> скрипты. И на разбирательство с чужим кривущим и грабельным кодом ушло
> сильно больше времени чем мне бы хотелось.

Наворотить не пойми чего можно где угодно, не думаю что юниты будут исключением.

> ради разнообразия попробовал апстарт - и заметил что старт типового сервиса
> укладывается в пяток очевидных строк. И все типовые костыли спиханы на
> запускач. И это как-то сильно проще и удобнее. Ну и systemd
> как-то так же сделан.

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

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру