LINUX.ORG.RU

uselessd — форк systemd

 , ,


6

8

uselessd — попытка урезать systemd до базовых функций: initd, супервайзор процессов, система зависимостей — но без изоляционизма и агрессивной навязчивости (когда комбайн лезет всюду и делает себя незаменимым). Также обеспечивается поддержка платформ без glibc и планируется поддержка ядер отличных от Linux. За основу взят systemd 208.

На сайте перечислены следующие ключевые отличия:

  • Совместимость с musl и uClibc.
  • Отказ от journald, libqrencode и libmicrohttpd. Отказ от бинарных логов. Лог по умолчанию идёт в LOG_TARGET_KMSG_OR_SYSLOG.
  • libudev и udevd необязательны. Ноды устройств можно создавать чем угодно.
  • Удалены избыточные типы юнитов: devices, timers, swaps, mounts, automounts.
    • Device units завязаны на udev и вместо них можно обойтись правилами udev.
    • Timer units не нужны, так как есть cron и его новые аналоги, например fcron.
    • Swap units удалили как сложные, агрессивные и малополезные. Рекомендуют пользоваться настройками sysctl и util-linux.
    • Automount units и mount units удалены для упрощения. Рекомендуют autofs или Berkeley Automounter.
  • Удалены вспомогательные демоны (hostnamed, timedated, localed, logind...) Удалены генераторы кроме getty-generator и rc-local-generator, так как они дублировали имеющийся функционал или были привязаны к удалённым типам юнитов.
  • Удалены средства настройки систем MAC/ACL, включая SMACK, IMA и SELinux, чтобы не загромождать и не привязываться к одной системе. Для совместимости с существующими конфигурациями остались поддержка SELinux в D-Bus API и SMACK в сокетах.
  • systemd-fsck заменили вызовом /sbin/fsck.
  • Частичная поддержка FreeBSD.

Авторы uselessd подчёркивают, что он ещё сырой, и не рекомендуют его для повседневного использования.

Новость на OpenNet

Исходные тексты

>>> Сайт проекта

★★★★★

Проверено: Shaman007 ()
Последнее исправление: Wizard_ (всего исправлений: 4)
Ответ на: комментарий от AS

«Не влияют»? Деинсталлируй и попробуй загрузиться (с sysvinit).

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

Мне лично утилита systemctl нравится сильнее...

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

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

Ты, видимо, хочешь сказать, что systemctl restart postgresql — это не россыпь, а service postgresql restart — россыпь. Кэп в недоумении.

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

Уже такая задача как просмотр списка сервисов в автозагрузке в убунте с помесью апстарта и сис5 — задача нетривиальная.

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

Они ни коим образом не влияют на процесс загрузки и не имеют отношения к sysvinit.

Почитываю скриптики в /etc/init.d и вижу, как они «не влияют».

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

В каждом systemd треде появляются знатоки по форменной архитектуре, и ценители эталлоного качества кода.

Да что ты знаеш о коде конёк безрогий?

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

Спрошу «навстречу»: какая часть традиционных инит-скриптов сможет обойтись одним лишь busybox'ом?

Что значит «какая часть»? В любой железке.

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

BSD (все 3, в разной степени) — это само по себе пример того, как надо проектировать ПО. И если некий архитектурный астронавт не в состоянии это осознать, это характеризует исчерпывающе не BSD, а астронавта.

И поэтому все что кто-то где-то пишет обязано быть портировано на BSD? Портирование ради портирования, решил заменить портированием для красоты?

Кстати, какое отношение systemd имеет к desktop, если разрабатывается для внедрения на сервера сотрудниками корпорации, продающей поддержку серверов?

Он на нем работает.

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

Ну или помогать существующему JACK?

JACK, мягко говоря, не для десктопа.

А вот тот, кого NM не устраивает, сидит и пишет очередной сервис для своей недо ОС

Ты собираешься впихивать NM в каждый контейнер? Ну, это твоё право.

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

Почитываю скриптики в /etc/init.d и вижу, как они «не влияют».

Верно. Эти скрипты пишут авторы ПО так, как хотят. Их можно писать хоть на Perl. Будем теперь говорить, что sysvinit зависит от Perl ?

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

CRON в общем случае не для инициализации нужен, если что.

а по факту — занимается он тем что инициирует запуск короткоживущих обслуживающих программ.

(таже самая инициализация).

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

В Fedora я помню одну масштабную проблему: в первом релизе systemd не дружил с selinux. А, и потом вторую, когда ещё sendmail чудил задерживая загрузку, а жаловались все на systemd. И это с Fedora 15.

А если в Альте при обновлениях постоянно ломается systemd - это в общем-то и не только о systemd может говорить. Ты поосторожнее все-таки нестабильностью пугай.

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

что ты хочешь этим показать? открой любой приличный коммерческий софт под юникс в составе которого есть демон, например от Veritas, HP или BMC, и ты увидишь один нормальный инитскрипт, который работает на всех без исключений посикс-системах так как написан на чистом sh и не зависит от внешних пукалок. то, что кто-то для proftpd написал дистро-специфичные инитскрипты, ни о чем не говорит — единственное что такие дистроспецифичные скрипты давали кстати это красивый вывод, цветом и т.п. на теримал при старте/стопе, чтобы выглядело единообразно в одном дистрибутиве.

val-amart ★★★★★
()
Ответ на: комментарий от alpha

И поэтому все что кто-то где-то пишет обязано быть портировано на BSD?

Портирование тут ни при чем. Ваши боевые котики тут имели неосторожность вспомнить про RIP-BSD-крикунов. Забыв, что RIP-BSD — это официальная позиция Пророка. Теперь вот попиваю кофий и смотрю, как ты изворачиваешься.

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

Замечу в качестве ремарки, что кое-кому не помешало бы портировать свою портянку на другую операционную систему хотя бы для того, чтобы поучиться программировать. Когда проблемы с переносом кода между экосистемами BSD и GNU/Linux перестанут быть непреодолимой задачей для Поттеринга, можно было бы осторожно задуматься о собственном велосипеде. Не забывая оглядываться на код тех, кто старше и умнее.

Но чукча же не читатель.

Он на нем работает.

Я не спрашивал, где этот код работает, я спросил, какое отношение красношляпа имеет к рынку настольных систем.

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

Эти скрипты пишут авторы ПО так, как хотят.

4.2. Их пишут ментейнеры как могут. Дистрибутивы недостаточно одинаковы для того, чтобы инит-скрипты работали везде.

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

Ты собираешься впихивать NM в каждый контейнер? Ну, это твоё право.

Читаем внимательнее то, на что отвечаем.

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

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

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

Не. It's fucking hopeless. Это такая тактика: забывать содержание диалога двумя и более постами выше и обвинять собеседника в том, что он-де изворачивается и не предоставляет никакой конкретики.

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

user_id_68054> факт того что все компоненты systemd — являются неотъемлемой частью хорошо-работающей системы инициализации

Quasar> Офигенно. Вебсервер и генератор qr-кодов как часть системы инициализации. Я понимаю, что на это много раз намёки шли, но чтобы так прямо об этом заявить... Это какая толстота нужна!

умник, в новости речь идёт о том чтобы выкинуть из systemd якобы необязательные компоненты, подразумевая о том чтобы затем заменить их на другие альтернативные демоны, решающие строго свои специфичные задачи (якобы основываясь на принципе «unix-way»).

а после выкидывания компонентов «Вебсервер и генератор qr-кодов» — на что ты их собрался заменять?

или ты такой хитрый хочешь сказать "а я просто выкину \«Вебсервер и генератор qr-кодов\» и не буду их заменять ни на что!", но такая отговорка не прокатит, так как получается что ты хочешь не изменить архитектуру, а просто ухудшить её :-) ..

...а я ведь так и написал (выделяю большими буквами главную мысль, читай внимательно) — "... являются неотъемлемой частью ХОРОШО-РАБОТАЮЩЕЙ системы инициализации"

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

Верно. Эти скрипты пишут авторы ПО так, как хотят. Их можно писать хоть на Perl. Будем теперь говорить, что sysvinit зависит от Perl ?

Перл то ладно, но вут руби....

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

поучиться программировать

сам то программировать умееш?

Когда проблемы с переносом кода между экосистемами BSD и GNU/Linux перестанут быть непреодолимой задачей для Поттеринга, можно было бы осторожно задуматься о собственном велосипеде. Не забывая оглядываться на код тех, кто старше и умнее.

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

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

Я не спрашивал, где этот код работает, я спросил, какое отношение красношляпа имеет к рынку настольных систем.

прямое. овер 90% корпоративных десктопов с луниксом — редхат.

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

val-amart ★★★★★
()
Ответ на: комментарий от Deleted

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

Кое-кто (конкретно devzero) на протяжении двух страниц строит из себя крутого программиста и архитектора, не понимая при этом очевидной вещи: первичен юзерспейс, а не ядро. Если ядро не умеет того, что нужно юзерспейсу — проблема в ядре. И если ядра *BSD не имеют кучи фич, требуемых systemd — фиксить/дописывать нужно *BSD, а не systemd. Такие вот дела.

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

CRON в общем случае не для инициализации нужен, если что.

а по факту — занимается он тем что инициирует запуск короткоживущих обслуживающих программ. (таже самая инициализация).

по такой логике шелл это тоже система инициализации. что дальше, systemd-shell-helper с бинарными командами?

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

и посрать на сервера

а проблемы с их чтением после креша <...> никого не волнуют

Пруф or GTFO, очевидно же.

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

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

ты не понял, речь о том что sysvinit, как и bsdinit, никак не регламентирует формат и структуру самого скрипта запуска — хочешь шелл, хочешь руби, хоть на Си пиши. главное чтобы executable был. это дает отличную гибкость.

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

зоопарк какойта

а если на целевой системе нету руби?

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

Но пока их пишут на шелле с использованием хреновой тучи вспомогательных утилит — хрупкость systemd мы будем сравнивать именно с суммарной хрупкостью sysvinit + шелла + означенных вспомогательных утилит.

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

почитай бложик Пророка, я в этой грязи снова копаться не буду.

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

val-amart ★★★★★
()
Ответ на: комментарий от intelfx

сравнивай с чем хочешь. я вижу, у тебя большой опыт. особенно если учесть что «хренова тучи вспомогательных утилит» это essential everyday tools для миллионов людей, вот уже 40 лет как, то конечно они очень, очень «хрупкие».

я кстати про «хрупкость» ничего не говорил. я понимаю что это такая дисциплина спецолимпиады, спорить с воображаемыми аргументами воображаемого оппонента, но я на лоре достаточно давно чтобы устать от этих игр.

val-amart ★★★★★
()
Ответ на: комментарий от intelfx

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

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

А ты то хоть знаешь, зачем в systemd нужен вебсервер и генератор qr-кодов? Они нужны для сислога. Который можно было бы вполне сделать отдельным компонентом.

goingUp ★★★★★
()
Ответ на: комментарий от val-amart

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

1. Лекго настраивается на текст. 2. Загрузочный образ сд или двд или флеш должен содержать утилиту чтения.

Все.... Вопрос снят.

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

Есть и другие вопросы, например при повреждении файла журнала journald нет утилиты для восстановления

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

или ты такой хитрый хочешь сказать «а я просто выкину \«Вебсервер и генератор qr-кодов\» и не буду их заменять ни на что!», но такая отговорка не прокатит, так как получается что ты хочешь не изменить архитектуру, а просто ухудшить её

В квотезы!

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

умееш?

нагуглиш?

А уроки ты уже сделал?

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

Кое-кто (конкретно devzero) на протяжении двух страниц строит из себя крутого программиста и архитектора, не понимая при этом очевидной вещи: первичен юзерспейс, а не ядро. Если ядро не умеет того, что нужно юзерспейсу — проблема в ядре. И если ядра *BSD не имеют кучи фич, требуемых systemd — фиксить/дописывать нужно *BSD, а не systemd. Такие вот дела.

А теперь мы с интересом послушаем ЫКСПЕРТА. Какие фичи ядра, необходимые системе управления демонами, не умеют ядра BSD. Ыксперт в студию!

Deleted
()
Ответ на: комментарий от val-amart

по такой логике шелл это тоже система инициализации. что дальше, systemd-shell-helper с бинарными командами?

Бери выше! systemd-iexplored.

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

а вы не замечали случайно двоемыслия у этих фанатиков-ретроградов?

Ты это о ком?

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

почитай бложик Пророка, я в этой грязи снова копаться не буду.

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

разве можно спорить с тем что бинарные логи читать многократно сложнее

Конечно, можно.

less /mnt/rescue/var/log/messages

vs.

journalctl -D /mnt/rescue/var/log/journal

и для этого требуется специализированный софт, который при восстановлении системы с большой долей вероятности недоступен

С чего бы это он недоступен? Не вижу причины.

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

journalctl -D /mnt/rescue/var/log/journal

Вот только journalctl должен понимать ту же версию бинарного формата, что лежит у тебя /mnt/. Иначе OOPS.

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

journald складывает логи для каждого systemd юнита, значит не такое оно уже и отдельное, да и наверняка заворачивалка stderr запущеной апликухи тоже больше часть journald нежели systemd

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

Дурь какая-то O_o

Ну все же просто. Чтобы те кто не заплатил за патенты(китайцы всякие) не могли использовать патентованные алгоритмы - используют drm-ключи.

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

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

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