LINUX.ORG.RU

Технический комитет Debian рассматривает вопрос поддержки нескольких init-систем

 


0

1

Не так давно технический комитет выбрал в качестве основной системы инициализации для GNU/Linux Debian Jessie systemd. Сейчас проходит голосование, инициированное Яном Джексоном (Ian Jackson), по вопросу привязки пакетов к системам инициализации. Сам Ян голосовал за upstart. Голосующим необходимо расставить приоритет у предложенных пунктов.

Пункты голосования:

  • Приложения не зависят от определенной системы инициализации. Продолжают поддерживаться несколько инитов. Выбор systemd касается только выпуска Jessie и может быть пересмотрен.
  • Сохранение поддержки sysvinit, поддержка пакетами нескольких систем инициализации (рекомендуется мейнтейнерам пакетов).
  • Комитет не готов вынести решение.
  • Требуется дополнительное обсуждение.

Уже проголосовали шесть из восьми участников. Первый пункт посчитали наиболее приоритетным Ian Jackson, Colin Watson. Второй пункт — Don Armstrong. Третий — Russ Allbery, Keith Packard, Bdale Garbee.

Лидирует мнение о неготовности комитета принять решение.

>>> Новость на opennet.ru

>>> Подробности



Проверено: Shaman007 ()
Последнее исправление: Wizard_ (всего исправлений: 5)

Ответ на: комментарий от Quasar

В каноникле, не смотря на хроническую нехватку разработчиков, сумели отвязать logind от systemd.

...и прибили к апстарту? Или нет? Я смогу собрать этот отвязанный logind на произвольной системе (например, под арчем, работающем на форке инитскриптов) и запустить как демон?

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

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

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

Да я знаю про мониторилки, и что они могут. Тут же речь о ключевых(тм) приемуществах systemd.

И я не вижу ничего плохого, чтобы этот функционал был в openrc.

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

Ну и собственно, вот. runit работает как дочерний процесс для демона: если демон сдохнет, runit об этом точно узнает. Допилить сюда изоляцию каждого демона в cgroups не сложно. (Надо будет, кстати, почитать на досуге документацию. Может даже сам попробую запилить prrof of concept в качестве разминки.)

Насчёт openrc не знаю, это же вроде просто набор скриптов, там нет постоянного запущенного процесса. Т.е. мониторить смерть демонов не получится.

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

Ну поделись секретом, как будешь опрашивать/мониторить процесс, и как это сделать «за 10 минут». Мониторилки не предлагать, ими я и сам сделаю

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

Тьфу,

s/runit работает как дочерний процесс для демона/runit работает как родительский процесс для демона/

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

как будешь опрашивать/мониторить процесс

Из родителеского процесса. Или я не понял вопрос.

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

Я согласен, что systemd как компонент вреден для подсистемы, потому что это складывание яиц в одну корзину. Речь о том, что нет _ничего_ плохого, чтобы запихнуть мониторилку на основе cgroups в openrc, т.к. собственно поддержка оных в нем (openrc) есть.

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

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

по этому поводу можно скастить кого-нибудь из разработчиков. Я сам не использую cgroups в openrc, мне достаточно стандартного функционала для инитилки.

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

Это весьма удобно с точки зрения использования - не нужно >ставить дополнительное ПО, но в то же время это >_дополнительный_, _не_перегружающий_ инит систему функционал.

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

systemd-это и есть дополнительное и ненужное ПО. совсем ненужное. А еще и опасное.

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

Казалось бы, все уже решено...

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

Отвалился апач. Как узнаешь, что упал? Или может я не знаю матчасть, просвяти тогда.

Если тебя интересует системная сторона вопроса, то матчасть тут: man waitpid. Родительский процесс всегда точно знает, сдох его потомок или нет. Поэтому концепция простая: запускаем апач и ждём, пока сдохнет.

Вот пример супервизора: http://smarden.org/runit/runsv.8.html

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

И на этом вся «киллерфича» systemd закончится. То есть весь смысл разработки systemd как «надёжного средства мониторинга за демонами» сводится к патчу на runsv. systemd не нужен.

Всё остальное в runit уже есть: API через инованный пайп, запуск/останов по требованию, проверка состояния демона, автоматический перезапуск при падении, перенаправление stderr в лог.

Хотя зависимостей между демонами нет. Но фишка runit в том, что он абсолютно модульный. И добавление поддержки зависимостей сводится к замене утилиты runsvdir на пропатченную версию, которая умеет зависимости. Это тоже не сложно. Думаю, даже любой адекватный фрилансер справился бы с такой работой.

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

пить надо меньше

s/инованный/именованный/

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

Нормальные это ты и остальные костылелепители?

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

О! Тазик теперь понял, о чём речь! Ждём с его стороны предложений выкинуть systemd и ставить супервизор сервисов отдельно от инита.

Понял? о_0 А с чего ты взял, что раньше не понимал?

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

Debian
будущее linux

скорее прошлое.

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

Понял? о_0 А с чего ты взял, что раньше не понимал?

Хз, у меня тоже было ощущение, что не понимал. Путаю с кем-то, видимо. Хотя разве тебя с кем-то спутаешь, звезда ЛОРа.

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

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

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

И никакого неудобства в использовании перечисленного функционала

Мне нужно перезапускать упавший процесс автоматом. Мне тулить систему мониторинга с 100500 фич ради одного рестарта процессов или может лучше использовать встроенную в openrc аналогичную функцию?

а есть только польза в плане быстродействия, безопасности и прозрачности.

О чем и речь как бы.

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

Но факт говорит о том, что в приципе отвязать можно, хоть и с костылями.

То, что отвязать можно, это понятно. Поттеринг же не через либастрал его писал, использует штатные механизмы линукса: pam, udev, dbus...

Вопрос-то в сложности этой отвязки. Учитывая какой говнокод пишет Поттер, вполне возможно, что долгосрочная поддержка этого поделия в отвязанном виде по сложности сопоставима с написанием собственного logind с нуля.

Вообще logind штука нужная. (Как минимум, лично мне.) Если бы она не была прибита гвоздями к поттероподелию, а работала как самостоятельный демон. Но в том виде, как есть сейчас, - закопать вместе с systemd.

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

С того, что я таких сообщений от тебя не замечал.

Глубочайший вывод, лол.

tazhate ★★★★★
()

В новости написана хрень.

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

Расс предлагает не давать жёстких указаний, а лишь настоятельно посоветовать включать патчи для поддержки иных init-систем, но зависимости от конкретной в принципе не запрещаются.

Кит предлагает не решать этот вопрос в рамках Технического комитета, а оставить его сопровождающим Политики, которая и устанавливает правила в этом и других вопросах.

Ну и пункт о дальнейшем обсуждении.

Побеждает, похоже, вариант Кита - значит, конкретные правила будут устанавливать редакторы Политики.

В любом случае sysvinit остаётся, а init-скрипты обязаны поддерживаться, в jessie.

Лично я думаю, что вполне можно доверять сопровождающим в этих вопросах, ибо ещё в текущем stable во вногих пакетах есть поддержка upstart и systemd наряду с умолчальным sysv-rc, и нет причин считать, что со сменой системы инициализации по умолчанию они все вдруг наедятся белены и решать выкинуть всё остальное.

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

Мне нужно перезапускать упавший процесс автоматом. Мне тулить >систему мониторинга с 100500 фич ради одного рестарта >процессов или может лучше использовать встроенную в openrc >аналогичную функцию?

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

О чем и речь как бы.

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

Итог: НЕНУЖНО!

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

Перечисленные выше решения умеют работать на уровне перехвата системных вызовов, или своими методами на уровне системы, но для этого нет необходимости перелопачивать всю подсистему

Какие из? может я что-то не то читаю.

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

Итог: НЕНУЖНО!

А зачем это мне доказывать? Я и сам это прекрасно знаю и говорю:)

leg0las ★★★★★
()

Комитет не готов вынести решение.
Требуется дополнительное обсуждение.

а в чем разница?

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

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

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

templarrr ★★★★★
()

Яном Джексоном

Ian = Айан ; Jackson = Джаксон (если британский акцент) или Джексон (если AmE).

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

Учитывая, что upstart Марку больше не нужен, контрибутить в каноникаловский upstart (а значит и принимать CCLA) скоро станет не только не нужно, но и невозможно

anonymous
()

Следующая новость:
В Ubuntu будет поддержка нескольких init-систем?

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

Jackson = Джаксон (если британский акцент) или Джексон (если AmE).

А если немецкий акцент, то Яксон. А если австрийский — то тоже Яксон, но нужно букву я чуток выделить, как Шварцнеггер. А с японский акцентом (по Поливанову) — Дзяккусон.

Сказать-то что хотел?

anonymous
()

Интересно, а почему никто не предложил идею создать прослойку между системой инициализации и юнитами для запуска сервисов, которая бы обеспечивала один и тот же интерфейс и формат юнитов при работе с разными системами инициализации? Тогда не было бы проблемы с выбором. Кто хочет, использует sysvinit, а остальные - systemd.

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

Ты хочешь создать еще одну лишнию сущность. Расскажи это потерингу, вдруг вдохновится. Во веселуха будет.

mbwa
() автор топика
Ответ на: комментарий от anonymous

годно!!! куда донат слать? <trollmode off>

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

Потому, что лишние костыли и лишние абстракции. Проще на инитскрипты костылей понавешать побольше. Но удобнее всего сделать генератор скриптов/юнитов из базовой информации.

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

Какие из? может я что-то не то читаю.

Почти все, перечисленные в процессе обсуждения, исключая сам systemd.

А зачем это мне доказывать? Я и сам это прекрасно знаю и >говорю:)

Ну вот о чем и речь, что для реализации всех необходимых функций, systemd ненужен)

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

Там писалось про системы мониторинга, скрипты, и отслеживание с родительского процесса

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

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

Там писалось про системы мониторинга, скрипты, и отслеживание >с родительского процесса

Все это возможно реализовать без мониторинга и лишних скриптов, например перехватом системных вызовов. Есть даже готовые решения. Тянуть весь этот хлам в никому ненужную непрозрачную сущность-не есть unixway и имеет только минусы. Вам об этом тоже писалось. Руками нормальные админы делают все нормально, не используя при этом такие костыли и велосипеды как systemd и один раз. Зато получается надежно, понятно, безопасно и прозрачно. Даже если это делается при помощи понятных скриптов. В скриптах в данном случае нет ничего отрицательного-а только положительное. Так всегда было и это доказало свою эффективность.

ChAnton ★★
()
Последнее исправление: ChAnton (всего исправлений: 2)
Ответ на: комментарий от tazhate

В таком случае это становится задачей мониторинга, а не системы инициализации.

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

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

Всё верно. Коммунити - это те, кто пишут код. Вот я пишу. А ты на ЛОРе звёзды набиваешь.

Вот я пишу.

Если не в стол, то респект. Даже не важно, что пишешь и какого качества - все равно делаешь очень нужное дело.

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

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

Да я знаю.

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

Форкать и отвязывать?

Если навалиться, то можно и форкнуть. Тем более, что многие сильно заряжены энергией. Отрицательной, от Леннарта. Своебразный пинок.

ak380618
()

Не, мне нравится: «Технический комитет Debian рассматривает...»
А пользователи что? Сообщество, получается, вообще никакого влияния на ситуацию оказать не может?

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

Там еще упоминался, как минимум, screensaver, которому нужен logind для разблокировки.

На самом деле всё не так плохо. Конкретно в данном случае logind выступает только в роли прослойки между dm и скринсейвером. (раньше в этой роли выступал consolekit)

Просто если ты уже ввел пароль в окне dm, то тебе не нужно еще раз вводить пароль в окне скринсейвера: dm тебя перекидывает на vt с иксами и посылает скринсейверу сообщение разблокироваться.

Я не думаю, что там что-то прибито гвоздями, просто если logind не запущен придётся дважды вводить пароль.

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

Там еще упоминался, как минимум, screensaver, которому нужен logind для разблокировки.

Ничего, всё равно через некоторое время гномеры выпилят скринсейвер, ибо пользователю это не нужно. :)

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