Оценка плюсов и минусов при переходе Debian на systemd или upstart

Автор Malaheenee, 31 декабря 2013, 22:08:19

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

dmitry1903

Цитата: Malaheenee от 29 января 2014, 10:24:45Планируется переформулировать выставленные на голосование пункты, учтя возможность одновременного поддержания нескольких систем инициализации, целесообразность выделения системы по умолчанию и необходимость использования только одной системы инициализации в долгосрочной перспективе.

Явное противоречие.

qupl

dmitry1903, нет противоречия. Хотят сейчас несколько, а в будущем оставить одну.

Malaheenee

Цитата: http://www.opennet.ru/opennews/art.shtml?num=38957Юстас Винтер, один из разработчиков порта Debian GNU/Hurd, пояснил, что [...] Используемая в Debian реализация SysV init жестко завязана на особенности ядра Linux, и обеспечить ее корректное портирование на другие платформы весьма проблематично. Более того, для систем на основе микроядра, в силу архитектурных особенностей реализации, более оптимальным решением является systemd.
С такими войнами как бы не огрести сплошных форков вместо Debian :)
Все мы где-то, когда-то и в чем-то были новичками.

qupl

Malaheenee, что-то как-то не вяжется, там systemd  и  sysv местами не попутаны? :)

ferum

Цитата: Malaheenee от 30 января 2014, 10:20:44С такими войнами как бы не огрести сплошных форков вместо Debian
Думаю просто движение вперёд замедлится, до выяснения.
Русские дебианщики против цифрового слабоумия !

Malaheenee

#50
Цитата: http://www.opennet.ru/opennews/art.shtml?num=39032Технический комитет Debian провёл второе голосование по вопросу перехода следующего выпуска Debian на новую систему инициализации. В отличие от первого голосования, по предложению Яна Джексона (Ian Jackson), автора dpkg, были добавлены уточнения о привязке к одной системе инициализации или одновременной поддержке нескольких систем, а также пункт о необходимости проведения референдума среди всех разработчиков. В итоге, после оценки результатов, победу одержал пункт "необходимость дополнительного обсуждения", т.е. процесс принятия решения так и не сдвинулся с места.

Сообщение объединено: 08 февраля 2014, 10:26:56

Тем временем, осуществлен первый выпуск еще одной системы инициализации Epoch.
Все мы где-то, когда-то и в чем-то были новичками.

dmitry1903

09.02.2014 20:39  Systemd выбран в качестве системы инициализации по умолчанию в Debian GNU/Linux

Бидейл Гарби (Bdale Garbee), председатель Технического комитета Debian инициировал, третье голосования по вопросу перехода следующего выпуска Debian на новую систему инициализации. Новый вариант голосования был предельно упрощён для исключения неоднозначностей и вторичных вопросов, и подразумевал выбор системы инициализации, которая должна быть использована по умолчанию в выпуске Debian Jessie на базе ядра Linux.

На этот раз голосование прошло с явным перевесом systemd, что позволяет считать Systemd победителем.

http://www.opennet.ru/opennews/art.shtml?num=39047

Malaheenee

Самый хороший комментарий в той новости:
ЦитироватьЯ, обычный прикладной программист, которому в общем и целом нет дела до всяких там систем инициализации, смотрю на дело так: даже если systemd говно, то в Дебиан из него сделают конфетку.
Ну или, как минимум, покроют запахонепроницаемым покрытием.
Все мы где-то, когда-то и в чем-то были новичками.

ferum

....к сожалению напрашивается вывод: я обычный пользователь linux дистрибутивов , которому в общем и целом нет дела до всяких там систем инициализации, смотрю на дело так: даже если upstart конфета, то в убунту из него сделают говно и ни какая красочная обёртка уже не поможет  :D ;D :D
Русские дебианщики против цифрового слабоумия !

vic5710

печально. для юзера может и все равно, но многим разработчикам ломка стандарта- лишние большие проблемы. red hat таки пробил свой вариант, как бы не стали деньги брать за использование systemd. качаю все двд wheezy на черный день. есть проект astra-linux, сертифицирована на совсекретно в фсб, недавно скачал дектопный вариант в виртуалке посмотрел. вот им облом будет systemd сертифицировать!

Malaheenee

#55
Цитата: vic5710 от 10 февраля 2014, 05:26:10red hat таки пробил свой вариант, как бы не стали деньги брать за использование systemd
Именно поэтому отказались от upstart, так что вот уж за это точно можно не переживать. И потом, sysv наверняка останется как альтернативный вариант наравне с openrc.

Сообщение объединено: 10 февраля 2014, 10:10:22

Архитектурные проблемы systemd, негативно влияющие на стабильность и безопасность
Рич Фелкер (Rich Felker), автор системной библиотеки musl, участник проекта Openwall и член группы Austin Group, развивающей и поддерживающей стандарты POSIX, опубликовал заметку "Broken by design: systemd" с критикой systemd. По мнению Фелкера, архитектура systemd изначально является ущербной из-за интеграции в init-процесс сторонних функций, непосредственно не связанных с процессом загрузки. Подобное нагромождение негативно сказывается на надёжности и безопасности.

Фелкер выделяет три основные архитектурные проблемы systemd:

  • В Unix-системах PID 1 имеет специальное назначение, в частности, PID 1 становится родителем для осиротевших процессов и поддерживает специальную семантику сигналов. В случае краха обработчика PID 1, происходит крах всей системы (kernel panic). Традиционные системы инициализации минимизируют размер кода и число функций обработчика PID 1, в то время как systemd выносит на уровень PID 1 серию демонов, реализующих вторичные функции, что приводит к общему снижению надёжности. Если традиционный init-процесс занимается лишь обработкой сигнала SIGCHLD от осиротевших процессов и реагирует на смену администратором текущего уровня запуска (runlevel), то systemd дополнительно занимается такими вещами, как управление подключением и отключением устройств, изменением точек монтирования, слежение за состоянием элементов в ФС и даже обработка запросов через DBus API.
  • В защищённой системе без systemd, обычно присутствует только один привилегированный процесс, критичный для проведения атаки, - sshd, Все остальные компоненты управляются и получают входные данные только от пользователя root. В случае systemd присутствует канал взаимодействия с непривилегированным пользователем. Реализация расширенных функций в systemd приводит к необходимости выполнения на привилегированном уровне лишнего кода по выделению ресурсов, обработки файлов, разбору сообщений и обработке строковых данных, что увеличивает риск возникновения уязвимостей, которые могут быть эксплуатированы непривилегированным пользователем.
  • Вынос на уровень системы инициализации дополнительных функций приводит к необходимости перезагрузки системы при установке обновлений компонентов systemd, обеспечивающих работу PID 1.
Все мы где-то, когда-то и в чем-то были новичками.

sandaksatru

#56
Цитата: Malaheenee от 10 февраля 2014, 09:48:56Именно поэтому отказались от upstart, так что вот уж за это точно можно не переживать. И потом, sysv наверняка останется как альтернативный вариант наравне с openrc.
Пакеты то sysvinit останутся, но если systemd будет по умолчанию, соответственно и все скрипты инициализации будут переписаны по умолчанию под systemd. Инчае было бы не логично. Не будут же мейнтейнеры поддерживать совместимость с другими системами? Если под systemd существуют костыли для обратной совместимости со скриптами под старую систему, то существование костылей для классического init'a на загрузку скриптов systemd вызывает у меня большие сомнения.

Как итог: захочется вам поставить sysvinit вместо systemd в будущем jessie, ставите без проблем, но все стартовые скрипты пишите ручками. Как, например, в случае и с ныне полузабытым, но уже много лет валяющимся  в репах runit'ом.

Malaheenee

sandaksatru, так сейчас почти в любом пакете есть поддержка и sysv и systemd. Вот будут ли поддерживать sysv дальше - вопрос, но стартовые скрипты останутся.
Все мы где-то, когда-то и в чем-то были новичками.

sandaksatru

Цитата: Malaheenee от 10 февраля 2014, 12:44:18так сейчас почти в любом пакете есть поддержка и sysv и systemd. Вот будут ли поддерживать sysv дальше - вопрос, но стартовые скрипты останутся.
Далеко не почти в любом, как и cкрипты для upstart. Сейчас скрипты для других систем инициализации были не обязательны, и мейнтейнеры могли писать их или не писать по своему усмотрению. Но так как разговоры о замене init шли уже давно, а среди мейнтейнеров есть сторонники как одного, так и другого варианта, мы могли встретить стартовые скрипты в пакетах под обе эти системы рядом с классическими скриптами.

Скрипты то может и останутся, но не думаю, что надолго. При внесении серьёзных изменений в программный пакет, скрипт инициализации тоже частенько меняется. Например, у cups в версиях из stable и sid. И вряд ли в таком случае их будут долго поддерживать, ведь тогда sysvinit останется только у энтузиастов, а писать новые скрипты под не прогрессивные системы никто из мейнтейнеров не будет, как в примере с runit.

vladimir_ar

Пользуюсь systemd и пока весь системный софт, который ставлю, создает свои сервисы для системд. Единственно, в визи systemd старый и не имеет полного функционала. А тупо ставить новее версию из jessie не рекомендую  :) - версия systemd из тестинга уже не поддерживает ядро 3.2 (вываливаемся в kernel panic), поэтому сначала нужно обновить ядро.
Debian Testing, kernel 3.16-2-amd64, OpenBox
AMD A8-3750 / 16Gb RAM / ATI HD6550D (onboard) / Sound ASUS Xonar - DS
_______________________________
Debian Testing, kernel 3.14-2-amd64, OpenBox
HP-655 AMD E1 / 8Gb RAM / ATI HD7310M