LinuxForum.Fans
Тема

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

Автор: redix 56 сообщений 1517 просмотров
#358103



Два участника Технического комитета Debian, которому делегировано принятие решения по выбору системы инициализации для будущего выпуска, представили отчёты с анализом целесообразности выбора systemd или upstart. Ян Джексон (Ian Jackson ), автор dpkg, в прошлом работавший в компании Canonical, выступил в пользу перехода на upstart. Расс Олбери (Russ Allbery ), отвечающий за сопровождение ряда подсистем Debian, попытался доказать необходимость перехода на systemd.

Доводы в пользу upstart :

  • Upstart более прост для портирования на системы, отличные от Linux, в то время как systemd очень жестко завязан на возможностях ядра Linux. Адаптация Upstart для работы в Debian GNU/kFreeBSD и Debian GNU/Hurd выглядит вполне реальной задачей, что нельзя сказать о systemd;
  • Upstart более привычен для разработчиков Debian, многие из которых по совместительству участвуют в разработке Ubuntu. Два члена Технического комитета Debian (Steve Langasek и Colin Watson) входят в состав группы разработчиков Upstart.
  • Upstart проще и легковеснее systemd, как следствие, меньше кода - меньше ошибок;
  • Upstart лучше подходит для интеграции c кодом системных демонов. Политика systemd сводится к тому, что авторы демонов должны подстраиваться под upstream (для замены компонента systemd следует предоставить аналог, совместимый на уровне внешнего интерфейса), вместо того чтобы upstream предоставлял комфортные средства для разработчиков демонов.
  • Upstart проще в плане поддержания и сопровождения пакетов;
  • Сообщество разработчиков Upstart более открыто для совместной работы. В случае systemd придётся принимать методы systemd как должное и следовать им, например, поддерживать отдельный раздел "/usr" или использовать только абсолютные пути для запуска.
  • Недостатки Upstart относятся к категории поправимых проблем;
  • В текущем состоянии Upstart уже полностью готов для использования в Debian 8.0 (Jessie);
  • В Upstart более привычная модель определения конфигурации сервисов, в отличие от systemd, где настройки в /etc перекрывают базовые параметры настройки юнитов, определённые в иерархии /lib.
  • Использование Upstart позволит поддержать здоровый дух конкуренции, который будет способствовать развитию различных подходов и будет держать разработчиков в тонусе.
  • Systemd слишком монолитен и не предоставляет возможность выбора, поставляя изначально заданный набор базовых сервисов (например, замену cron, syslog, inetd), в то время как Upstart больше соответствует позиционированию системы инициализации как связующей прослойки между различными программными проектами.
  • Upstart больше проверен временем, в то время как systemd развивается слишком динамично без уделения должного внимания обратной совместимости и не исключая подключения новых зависимостей.

Доводы в пользу systemd :

  • Systemd опережает Upstart по возможностям и продуманности архитектуры. Без существенной переработки архитектуры Upstart не сможет догнать systemd по функциональности (например, перевёрнутая модель запуска зависимостей (вместо запуска всех требуемых зависимостей при старте заданного сервиса, запуск службы в Upstart осуществляется при поступлении события о готовности к работе зависимостей); использование ptrace мешает применению upstart-работ для таких демонов, как avahi, apache и postfix; возможность активации службы только по факту обращения к сокету, но не по косвенным признакам, таким как зависимость от активации другого сокета; отсутствие надёжного отслеживания состояний выполняемых процессов).
  • Systemd содержит относительно самодостаточный набор компонентов, что позволяет сосредоточить внимание на устранении проблем, а не доработке конфигурации с Upstart до возможностей, уже присутствующих в Systemd. Например, в Upstart отсутствуют: поддержка детального статуса и ведения лога работы демонов, множественная активация через сокеты, активация через сокеты для IPv6 и UDP, гибкие средства ограничения ресурсов.
  • Использование systemd позволит сблизить между собой и унифицировать средства управления различными дистрибутивами. На systemd уже перешли Fedora, openSUSE, Sabayon, Mandriva, Arch Linux, кроме того systemd будет применён в будущих выпусках RHEL и SUSE Linux.
  • У systemd более активное, крупное и разноплановое сообщество разработчиков, в которое входят инженеры компаний SUSE и Red Hat. При использовании upstart дистрибутив становится зависим от Canonical, без поддержки которой upstart останется без разработчиков и будет обречён на стагнацию (невозможно предугадать останется Ubuntu на upstart или нет). Для участия в разработке upstart требуется подписание соглашения о передаче имущественных прав компании Canonical.
  • Компания Red Hat не без повода решилась на замену upstart на systemd. Существует опасение, что перейдя на upstart проект Debian через 2-3 года вынужден будет мигрировать на systemd.
  • Для реализации некоторых возможностей загрузки в Upstart требуется использовать фрагменты shell-скриптов, что делает процесс инициализации менее надёжным и более трудоёмким для отладки.
  • Поддержка systemd реализована в GNOME и KDE, которые все более активно используют возможности systemd (например, средства для управления пользовательскими сеансами и запуска каждого приложения в отдельном cgroup). GNOME продолжает позиционироваться в качестве основного окружения Debian, но отношения между проектами Ubuntu/Upstart и GNOME имеют явно напряжённый характер.

Источник: http://www.opennet.ru/opennews/art.shtml?num=38762

#358252

ни единого плюса

#358253
"redix" написал:
Systemd опережает Upstart по возможностям и продуманности архитектуры. Без существенной переработки архитектуры Upstart не сможет догнать systemd по функциональности (например, перевёрнутая модель запуска зависимостей (вместо запуска всех требуемых зависимостей при старте заданного сервиса, запуск службы в Upstart осуществляется при поступлении события о готовности к работе зависимостей); использование ptrace мешает применению upstart-работ для таких демонов, как avahi, apache и postfix; возможность активации службы только по факту обращения к сокету, но не по косвенным признакам, таким как зависимость от активации другого сокета; отсутствие надёжного отслеживания состояний выполняемых процессов).

чо за бред ?

#358299

В общем-то, переход на systemd будет технически оправданным, переход на upstart - политически.

#358304

Ни тот, ни другой вариант не могут быть оправданными. В случае перехода на upstart дебиановцы будут зависеть от Canonical, в случае перехода на systemd - от Red Hat.

#358315
yars написал:
Ни тот, ни другой вариант не могут быть оправданными. В случае перехода на upstart дебиановцы будут зависеть от Canonical, в случае перехода на systemd - от Red Hat.

Что значит будут зависеть? В чём эта зависимость будет выражаться?

#358319

В том, что им придется плясать под ред-хатовскую дудку. А upstart, как выше правильно заметили, рискует остаться без разработчиков.

#358321
yars написал:
В том, что им придется плясать под ред-хатовскую дудку.

А что редхат может им надудеть такого? Никто не помешает дебиановцам патчить systemd на своё усмотрение.

#358324

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

#358327

"yars" написал:
Слишком он дубовый, нетранспортабельный.
Все течет все меняется (Panta rhei © Гераклит из Эфеса).
#358328
yars написал:
Надудеть могут все что угодно, да и не с руки дебиановцам патчить systemd, как сказано выше. Слишком он дубовый, нетранспортабельный.

Гентодевы осиливают почему-то.

text
ls -R /repo/system/sys-apps/systemd/files
/repo/system/sys-apps/systemd/files:
204-0001-polkit-Avoid-race-condition-in-scraping-proc.patch
204-0002-Add-usr-share-keymaps-to-localectl-supported-locatio.patch
204-0003-Allow-tabs-in-environment-files.patch
204-0004-Actually-allow-tabs-in-environment-files.patch
207-0001-swap-fix-reverse-dependencies.patch
207-0002-swap-create-.wants-symlink-to-auto-swap-devices.patch
208-0001-Work-around-link-libsystemd-label-to-libsystemd-logi.patch
208-0002-Update-Makefile.in.patch
gentoo-run.conf
var-lock.mount
var-run.mount
#358330
"fragment" написал:
Гентодевы осиливают

Осиливают, только под Linux, а у Debian редакции с ядрами Hurd и FreeBSD есть.

#358331
"redix" написал:
Все течет все меняется

И что же изменилось с момента перехода некоторых дистрибутивов на systemd? Только наизобретали «новых» проблем, которые уже тыщу лет как решены, и все, да шумихи наделали.

#358333
yars написал:
[quote="fragment"]Гентодевы осиливают

Осиливают, только под Linux, а у Debian редакции с ядрами Hurd и FreeBSD есть.[/quote]

А они Дебиану нужны, ядра эти? Тем более, что практически никто этим не пользуется.

#358334

Может, и не пользуется. Но раз делают - значит, нужны.

#358335
yars написал:
Но раз делают - значит, нужны.

Логики тут нет никакой.

#358339

"yars" написал:
Ни тот, ни другой вариант не могут быть оправданными. В случае перехода на upstart дебиановцы будут зависеть от Canonical, в случае перехода на systemd - от Red Hat.
по мне так systemd - меньшее зло. :(
Поскольку при выборе другого варианта может наступить медленная смерть Debian,а
#358340

Стоит две системы, гружусь в Centos (без systemd — работает), гружусь во что то другое с systemd — работает. А что, с ним что то не так?

#358341
"yars" написал:
дебиановцы будут зависеть от....

Это и есть самое плохое

#358363
"fragment" написал:
А они Дебиану нужны, ядра эти?
"fragment" написал:
Логики тут нет никакой.

Майнтайнеры дебиана, технический комитет Debian и прочие участники проекта Debian - люди, отнюдь, не глупые. И если они собирают Debian не только с ядром Linux, значит, на то у них есть какие-то причины.

"fragment" написал:
Тем более, что практически никто этим не пользуется.

"Практически никто не пользуется" и "никто вообще не пользуется" - не одно и тоже.
Если сравнивать долю пользователей GNU/Linux и Windows на десктопах (процентное соотношение), то про GNU/Linux можно сказать, что им практически никто не пользуется. Но мы вроде как тут знаем, что при этом пользователей GNU/Linux, как минимум, очень много. Хотя пользователей все равно Windows в n-ое количество раз больше.

С таким же успехом, можно вообще заявить "*BSD - нинужно!!!11!!". Но ведь есть своя ниша пользователей *BSD, значит, кому-то все-таки нужно.

Войдите или зарегистрируйтесь, чтобы ответить.