The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Выпуск системы инициализации GNU Shepherd 0.10, opennews (??), 13-Май-23, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


37. "Выпуск системы инициализации GNU Shepherd 0.10"  –7 +/
Сообщение от Аноним (37), 14-Май-23, 12:01 
Ад - это у systemd-хейтеров.
Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

46. "Выпуск системы инициализации GNU Shepherd 0.10"  +2 +/
Сообщение от _hide_ (ok), 14-Май-23, 14:34 
SystemD -- это всего лишь один из Init-ов! Чрезвычайно плохо делающий своё дело. Зачем о нем писать в каждой теме?
Ответить | Правка | Наверх | Cообщить модератору

65. "Выпуск системы инициализации GNU Shepherd 0.10"  +3 +/
Сообщение от Аноним (65), 14-Май-23, 20:37 
>Чрезвычайно плохо делающий своё дело

Что-то вы без конкретики... Что конкретно systemd делает плохо из функциональности системы инициализации?

Ответить | Правка | Наверх | Cообщить модератору

79. "Выпуск системы инициализации GNU Shepherd 0.10"  –2 +/
Сообщение от Аноним (79), 15-Май-23, 07:41 
В systemd нет встроенной функциональности кластеризации, и высокой доступности, как на уровне приложений, так и серверов, что, собственно, является одним из первых требований как раз для энтерпрайза. Хотя там этой функциональности самое место.
Ответить | Правка | Наверх | Cообщить модератору

83. "Выпуск системы инициализации GNU Shepherd 0.10"  +/
Сообщение от Аноним (83), 15-Май-23, 10:48 
>кластеризации, и высокой доступности,

Кластеризацию чего, простите? Адресное пространство одно в рамках системы, кластеризация даётся другими средствами.

Высокая доступность чего? Systemd устойчиво работает, вон скоро надеюсь перезагрузка через systemd будет.

Ответить | Правка | Наверх | Cообщить модератору

85. "Выпуск системы инициализации GNU Shepherd 0.10"  +/
Сообщение от Минона (ok), 15-Май-23, 10:59 
> скоро надеюсь перезагрузка через systemd будет.

Она давно через него.

Ответить | Правка | Наверх | Cообщить модератору

84. "Выпуск системы инициализации GNU Shepherd 0.10"  +/
Сообщение от Минона (ok), 15-Май-23, 10:49 
А где есть?
Ответить | Правка | К родителю #79 | Наверх | Cообщить модератору

82. "Выпуск системы инициализации GNU Shepherd 0.10"  +/
Сообщение от _hide_ (ok), 15-Май-23, 09:45 
>>Чрезвычайно плохо делающий своё дело
> Что-то вы без конкретики... Что конкретно systemd делает плохо из функциональности системы
> инициализации?

Вы баг трекер открывали?
https://github.com/systemd/systemd/issues
Каникулы начались, видимо.

Ответить | Правка | К родителю #65 | Наверх | Cообщить модератору

100. "Выпуск системы инициализации GNU Shepherd 0.10"  –3 +/
Сообщение от Аноним (-), 15-Май-23, 13:28 
То ли дело скриптонаколень которая была до этого: багтрекера нет, вообще фиг доорешься баги починить, ну их никто и не чинил. Годами. Вместо этого рассказывая как, кому и что должно быть не надо. Спасибо но такой подход к делу не рулит. Намного лучше когда апстрим не игнорит траблы даунстримов и чинит свои баги вместо лекторства что там и кому (не)нужно.
Ответить | Правка | Наверх | Cообщить модератору

120. "Выпуск системы инициализации GNU Shepherd 0.10"  +2 +/
Сообщение от Аноним (120), 15-Май-23, 20:12 
>Намного лучше когда апстрим не игнорит траблы даунстримов и чинит свои баги вместо лекторства что там и кому (не)нужно.

"Not a bug."

Ответить | Правка | Наверх | Cообщить модератору

142. Скрыто модератором  +/
Сообщение от Аноним (-), 16-Май-23, 23:13 
Ответить | Правка | Наверх | Cообщить модератору

123. "Выпуск системы инициализации GNU Shepherd 0.10"  –1 +/
Сообщение от _hide_ (ok), 16-Май-23, 10:29 
> То ли дело скриптонаколень которая была до этого: багтрекера нет, вообще фиг
> доорешься баги починить, ну их никто и не чинил. Годами. Вместо
> этого рассказывая как, кому и что должно быть не надо. Спасибо
> но такой подход к делу не рулит. Намного лучше когда апстрим
> не игнорит траблы даунстримов и чинит свои баги вместо лекторства что
> там и кому (не)нужно.

А чем Unit файл из SystemD отличается от наколенного скрипта? Учитывая, что в 80% случаев приходится пилить всё-таки этот наколенный скрипт, потому что создателей приложений просто воротит от "качества" документации в SystemD.

Ответить | Правка | К родителю #100 | Наверх | Cообщить модератору

131. "Выпуск системы инициализации GNU Shepherd 0.10"  +1 +/
Сообщение от Аноним (-), 16-Май-23, 14:19 
> А чем Unit файл из SystemD отличается от наколенного скрипта?

1) Тем что компактнее в раз так эн. Типовой юнит влезает на экран.
2) Все параметры на виду - а не на третьей, блин, странице, вперемешку с кодом.
3) И кстати код вперемешку с конфигурацией, имхо, совсем не круто.
4) Параметры более-менее унифицированы и описаны в мане. В отличие от.
5) Системд это привилегированый агент, который может сам отвесить все сисколы в нужном порядке собирая арену будущего процесса, до того как отдать ему управление.
6) Вызов интерпретера на каждый пшик не то чтобы быстро и эффективно.
7) Системд более-менее может в нормальный логгинг, в отличие от. Так что если нечто померло чаще всего есть хоть что-то полезное в логах.

Например, скриптота при сборке контейнера налетает на тот факт что большая часть системы в энный момент уже недоступна. А зачем HTTP серверу вызывать bash или вон тот интерпретер? Это не требуется для его нормальной работы, вызов оного - сигнал "сервер взломан". Давайте вот блин еще упростим взломщикам развитие атаки. И диагностики что сломалось нихрена, но вы дескать можете сами накодить это.

> Учитывая, что в 80% случаев приходится пилить всё-таки этот наколенный скрипт,

Не, не так. В 95% случаев скрипты как раз нафиг не - и только вот когда реально надо можно вызвать шелл интерпретер с скриптом. Т.к. это чуть менее удобно а вон то делается и средствами системды.

> потому что создателей приложений просто воротит от "качества" документации в SystemD.

Это лучше чем полное отсутствие таковой, с посылом читать третьесортный код. Почему третьесортный? Майнтайнеры не то чтобы великие кодеры и работает это все известно как. Т.е. на машине майнтайнера вроде работало.

Ответить | Правка | Наверх | Cообщить модератору

147. "Выпуск системы инициализации GNU Shepherd 0.10"  +/
Сообщение от _hide_ (ok), 17-Май-23, 10:23 
> 1) Тем что компактнее в раз так эн.

Либо экран Вам поболее, либо память получше. Склероз в таком юном возрасте...

> Типовой юнит влезает на экран.

Естественно слезает, ведь он запускает BASH портянку. Если нужно что-то сложнее, то 30+ строчек кода в юните обычное дело, но куда нам до лаконичности запуска хеловорлдов

> 2) Все параметры на виду - а не на третьей, блин, странице,
> вперемешку с кодом.

Ну зачем мне видеть параметры, если их смысл придумывали шизики, которые даже в документации стыдятся написать подробно обо всех подводных камнях?

> 3) И кстати код вперемешку с конфигурацией, имхо, совсем не круто.

Имхо, Вам бы поучиться, чтобы понять, когда код, когда конфиг, а когда логика декларируется. Если сравнивать, что половина логики задаётся декларативно в unit-е, половина в скрипте запуска и это повсеместно, то, как по мне, лучше всё-таки всё в одном файле, чем в 3х?

> 4) Параметры более-менее унифицированы и описаны в мане. В отличие от.

Только написанное в мане подходит для самых простых случаев, шаг в сторону -- неопределённое поведение в лучшем случае. В худшем - отваливается другая часть системы инициализации. Про параметры окружения я вообще молчу.

> 5) Системд это привилегированый агент, который может сам отвесить все сисколы в
> нужном порядке собирая арену будущего процесса, до того как отдать ему
> управление.

Может, если хорошо попросишь у кого нужно. В почтовой рассылке.

> 6) Вызов интерпретера на каждый пшик не то чтобы быстро и эффективно.

Вы приведите оценку насколько, а потом говорите. И да, воз го***, который тащит и запускает SystemD, видимо, не влияют на скорость.

> 7) Системд более-менее может в нормальный логгинг, в отличие от. Так что
> если нечто померло чаще всего есть хоть что-то полезное в логах.

О боже, что за школота!

> Например, скриптота при сборке контейнера налетает на тот факт что большая часть
> системы в энный момент уже недоступна. А зачем HTTP серверу вызывать
> bash или вон тот интерпретер? Это не требуется для его нормальной
> работы, вызов оного - сигнал "сервер взломан". Давайте вот блин еще
> упростим взломщикам развитие атаки. И диагностики что сломалось нихрена, но вы
> дескать можете сами накодить это.

Волков бояться, в лес не ходить. Вы, наверное, часто запускаете контейнеры на 100ТБ по несколько ТБ ОЗУ в прод? Тогда из-за чего переживаете про взлом? Не понимаете векторы атак, потому что взяты готовые контейнеры из помоек? Ну в этом случае -- могила исправит.

> Не, не так. В 95% случаев скрипты как раз нафиг не -
> и только вот когда реально надо можно вызвать шелл интерпретер с
> скриптом. Т.к. это чуть менее удобно а вон то делается и
> средствами системды.

Фантазии...

> Это лучше чем полное отсутствие таковой, с посылом читать третьесортный код. Почему
> третьесортный? Майнтайнеры не то чтобы великие кодеры и работает это все
> известно как. Т.е. на машине майнтайнера вроде работало.

Так вся эта простыня была только из-за ИДЕИ декларативного программирования системы инициализации? Если да, то я тоже такого хочу, но убожество, которым является SystemD -- это явно не тот случай.

Ну а если Вы действительно уверены в том, что SystemD панацея, пожалуйста, напишите два юнита:

1. U1 работает и поддерживает сервис для U2
2. Запуск U1 вещь затратная и его запуск занимает существенное время
3. U2 не может работать без U1
4. После запуска U2 должен с использованием U1 отрапортовать об успешном запуске.

Я бы назвал эту ситуацию как 2 сильно связанных сервиса.

Напишите Unit-ы которые обеспечат работоспособность связки в рабочих условиях (когда работа U1 может случайным образом стать невозможной).

Ответить | Правка | Наверх | Cообщить модератору

157. "Выпуск системы инициализации GNU Shepherd 0.10"  +/
Сообщение от Аноним (-), 17-Май-23, 22:42 
> Либо экран Вам поболее, либо память получше. Склероз в таком юном возрасте...

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

> Естественно слезает, ведь он запускает BASH портянку.

1) типовой юнит ничего не запускает кроме сервиса. Системд умеет все что надо типовому сервису сам.
2) Bash в стартовых скриптах обычно не используют, если мы про это. Сразу видно практикующего эксперта. Совсем не палится на мелочах.

> Если нужно что-то сложнее, то 30+ строчек кода в юните обычное дело, но куда нам до
> лаконичности запуска хеловорлдов

В шелскриптах кроме параметров еще и всякий обвес и того хуже - логика. Для себя я как програмер считаю смесь кода и его конфигурации антипаттерном.

> в документации стыдятся написать подробно обо всех подводных камнях?

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

> Имхо, Вам бы поучиться, чтобы понять, когда код, когда конфиг, а когда
> логика декларируется.

ИМХО я так то програмер, и не факт что хуже вас. Поэтому могу оценить что вижу. И могу не оценить менторский тон. Как-то так.

> Если сравнивать, что половина логики задаётся декларативно в unit-е,
> половина в скрипте запуска и это повсеместно, то, как по мне,
> лучше всё-таки всё в одном файле, чем в 3х?

Поэтому в 95% случаях и есть только unit-файл. Типовому сервису - выше крыши. Даже с продвинутостями типа изоляции от системы, затяжки секурити каким-нить SECCOMP, основательно кастомизированый и минимизированый доступ в систему (приватный темп, кастомный вид фс, ...).

> Только написанное в мане подходит для самых простых случаев, шаг в сторону
> -- неопределённое поведение в лучшем случае.

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

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

Я собираю кастомные образа систем. В том числе с сервисами которых нет в репах и даже с моими собственными. Удачи в рассказах что там у меня якобы отваливается. А вот скрипты я намаялся отлаживать когда все вроде ок, при тестовом пинке от рута пашет, а при реальной загрузке тишина. И в логах фигвам. Но вы можете накодить логинг сами. Ага, всю жизнь мечтал. Хотя мечтал я вообще-то побыстрей запустить мой кастомный сервис, а не с системными проблемами без логинга бодаться.

> Может, если хорошо попросишь у кого нужно. В почтовой рассылке.

Гарри поттера за меня уже попросили вон те эмбедеры на Linux Plumbers Conf, тот услышал их. За что им там всем спасибо, мне тоже в тему было. Это намного круче чем рассказы что мне должно быть (не)нужно и прочий BS.

> тащит и запускает SystemD, видимо, не влияют на скорость.

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

> Волков бояться, в лес не ходить. Вы, наверное, часто запускаете контейнеры на
> 100ТБ по несколько ТБ ОЗУ в прод?

Нет, конечно. Но мое окружение состоит из мелких железок, мелких виртуалок, контейнеров и UML чуть менее чем полностью. Да, я пользуюсь современными технологиями. Хоть и не в хипстерском виде. Поэтому минимальный демьян может и 30 метров весить на все - и тем не менее это полноценная копия системы, независимая от других. Продвинутые технологии типа CoW и KSM могут даже сделать так что на них не аллоцируется полный объем места на диске или RAM. Чудеса дедупликации - эн виртуалок занимает меньше места в RAM и на диске чем вес виртуалки * N. И я умею в эту магию. Приятно же "оверселлить" и "оверкомитить" самому себе, со знанием дела.

> Тогда из-за чего переживаете про взлом?

Потому что интересуюсь секурити. И поэтому хочу чтобы было удобно мне и неудобно - атакующим. Изоляция от системы и урезание привилегий софту очень в тему.

> Фантазии...

Я довольно интересный фантазер. Который сбилдил чертову кучу кастомных образов систем, себе и клиентам. Маленький нюансик.

> Если да, то я тоже такого хочу, но убожество, которым является
> SystemD -- это явно не тот случай.

Все познается в сравнении. Остальные пока и такое не смогли. Когда и если смогут, будет о чем говорить. А пока системд соревнуется только с секундной стрелкой.

> Ну а если Вы действительно уверены в том, что SystemD панацея, пожалуйста,
> напишите два юнита:

Он не "панацея". Но очень полезный союзник как по мне.

> 1. U1 работает и поддерживает сервис для U2

Шелскриптеры норовят хрень сделать начиная с формулировки хотелок. Что значит "поддерживает сервис для U2"? Предоставляет некие услуги которыми пользуется U2? Например как вебсервис (U2) использует SQL (U1)? Я правильно понимаю общую идею?

> 2. Запуск U1 вещь затратная и его запуск занимает существенное время

И чего? Необходим лимит рестартов в случае сбоя? Лимит числа рестартов? Какая-то специфичная реакция на сбои? Или... ? Спецификация не полная.

> 3. U2 не может работать без U1

"Не может работать" - хреновая спецификация проблемы. Как минимум...
1) Я так понимаю что важен порядок старта. Т.е. U2 после U1, и это скорее "жесткое" требование, нежели мягкое (т.е. пуск U2 только после того как U1 отсигналит что готов?).
2) Из этой спецификации не понятно что произойдет с U2 если U1 помер и/или что надо делать с U2 если U1 помер. Скажем, надо ли U2 принудительно остановить если U1 не работает? И какая реакция если

> 4. После запуска U2 должен с использованием U1 отрапортовать об успешном запуске.

Что значит "с использоваинем"? Статус запуска трекается системд. И с его точки зрения есть статусы тех или иных юнитов. Ну и глобальный статус системы, основанный на том есть ли сейчас проблемные юниты. Для своих сервисов можно пользоваться апи например вачдога через которое можно более детально сигналить системде некоторые вещи. Если надо что-то сверх того это уже сервисы между собой должны разбираться сами через свои апи или что там у них, имхо.

> Я бы назвал эту ситуацию как 2 сильно связанных сервиса.

Да вроде обычная ситуация.

> Напишите Unit-ы которые обеспечат работоспособность связки в рабочих условиях (когда работа
> U1 может случайным образом стать невозможной).

Если работа U1 стала невозможной, U2 очевидно не может работать, по вашим же условиям. Но совершенно не сказано какая должна быть реакция системы на подобное событие. Может, до того как хотелки выдвигать, стоит научиться в их нормальную спецификацию хотя-бы?

Ответить | Правка | Наверх | Cообщить модератору

165. "Выпуск системы инициализации GNU Shepherd 0.10"  +/
Сообщение от _hide_ (ok), 18-Май-23, 02:51 
Подводим итог: SystemD что-то делает и помогает запустить приложения. Вам этого достаточно, железки с 32МБ оперативы Вы не видели изнутри и тем более не пускали на них ничего невозможного. Не встречали, когда SystemD отказывался по UID-у диск цеплять, потому что когда копипастили код из другого проекта -- недокописастили. U1 и U2 -- это обычная связка с ограничением по доступности (сильно связанные сервисы), которая не решается простыми способами в SystemD, ему подавай слабо связанные сервисы, а значит для высоконагруженных или очень чутких к окружению систем он не годится (а где взять другие?).
Все Ваши аргументы -- защита концепции, а не SystemD. Про SystemD Вы очень мало знаете. Счастье в неведении.
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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