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)
Ответ на: комментарий от reprimand

reprimand> я бы на их месте форкнул BSDinit, добавил туда многопоточность, адаптировал (т.е. добавил отключаемые костыли) под современные нужды

Зачем, когда есть initng и RC-системы на любой вклс, плюс ещё и супервизоры?

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

Вот только ACL в линуксе не от systemd идёт. И средства управления до systemd тоже были и есть.

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

Там еще есть целый сетевой менеджер networkd

Как будто в SysVinit не делают своего сетевого менеджера на баше.

собственный DNS-резолвер и службу синхронизации времени

4.2, systemd-resolved и systemd-timedated - это самостоятельные модули.

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

Ок. Всё круто. Но эти возможности есть не благодаря logind, а благодаря особенностям ФС и некоторым системным возможностям Linux.

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

PolarFox> Наименее черезжопищное решение.

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

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

Как будто в SysVinit не делают своего сетевого менеджера на баше.

Если в линуксе всё плохо с сетевым менеджером (а по факту, так и есть), что мешает Герою сесть и начать писать сетевой менеджер? Не кусок сраной systemdOS, а полноценную программу?

это самостоятельные модули.

От этого они не перестают быть ненужно.

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

intelfx> Не systemd, а logind.

Один фиг - это неотвязываемая часть systemd, которая очень плотно интегрирована с ним. Это большая ошибка в проектировании.

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

alpha> И потом этот же человек спрашивает «а зачем нужен сервис который бы это чинил?»

Ага. Поломали, а потом починили и берём славу себе (создаём проблемы, которые героически преодолеваем). Шикарно.

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

PolarFox> Решили провести эксперимент, а что будет если сделать более монолитную архитектуру.

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

PolarFox> Получилось удобнее

Не для пользователей собственных компьютеров.

PolarFox> Для демонописателей и системных администраторов, имхо, тоже вышло удобнее.

Скорее для кулхацкеров.

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

intelfx> У тебя есть способ, как это сделать без logind/consolekit

Надо же. Теперь ты отходишь от темы пользы systemd/logind и начинаешь про consolekit рассусоливать. Ну что ж. Прогресс на лицо - надо продолжать лечение.

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

И всё потому, что от скриптов не уйти - такова специфика сервисов и инициализации.

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

intelfx> А кто сказал, что модульность подразумевает отсутствие межмодульных зависимостей?

Тогда бы и говорили - модульность _на уровне systemd_, а не общесистемная. По умолчанию подразумевается последняя. На общесистемном уровне systemd и его компоненты оказываются настоящим монолитом.

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

Ты же сама написала, что consolekit сломан.

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

Если в линуксе всё плохо с сетевым менеджером (а по факту, так и есть), что мешает Герою сесть и начать писать сетевой менеджер

Хренасе предъявы. А что _тебе_ мешает сесть и начать писать сетевой менеджер, раз уж всё так плохо? Ну или помогать существующему NetworkManager'у? systemd-networkd нужен, в первую очередь, не в качестве полноценной замены сетевым менеджерам, а для настройки сети в простейших конфигурациях, большей частью для встраивания и контейнеров.

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

Хренасе предъявы.

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

Думаю, если бы идея с PA не пришла в голову автора раньше, чем идея с systemd, сейчас бы здесь можно было обсудить systemd-audiod, который «Хренасе предъявы. А что _тебе_ мешает сесть и начать писать аудио-сервер, раз уж всё так плохо? Ну или помогать существующему JACK? systemd-audiod нужен, в первую очередь, не в качестве полноценной замены аудио-серверам, а для работы в простейших конфигурациях, большей частью для дешевых рабочих станций.»

Я всё правильно уловил?

Хренасе предъявы. А что _тебе_ мешает сесть и начать писать сетевой менеджер, раз уж всё так плохо? Ну или помогать существующему NetworkManager'у?

Меня NM устраивает на локалхосте. А вот тот, кого NM не устраивает, сидит и пишет очередной сервис для своей недо ОС. Но, конечно, волен делать всё, что ему вздумается, но при чем здесь стек GNU/Linux? Почему ЭТО ГОВНО позиционируется частью GNU/Linux?

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

intelfx> А вред приносит?

Да. Создаёт дополнительные потенциальные проблемы безопасности.

intelfx> Ещё раз: дистрибутив, которым ты пользуешься, создавался не лично для тебя, а в том числе и для того 1%, которым нужен и мультисит, и fast user switching.

Это пять! Это как же до systemd с logind был мультисит и быстрое переключение между пользователями?.. Дооо! Леннарт спас всех от катастрофы вселенского масштаба!

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

intelfx> Идея logind состоит именно в этом, так что если нельзя — это баг в jack.

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

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

Да нет же! Поцерингофаги считают, что если что-то, что работает нормально без systemd, начало перестало работать, когда systemd поставили, то баг не в systemd.

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

Уже есть. В (open)suse . Назьівался wicked. Недавно вроде переименовали

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

Надо же. Теперь и про cgroups,который к systemd отношения прямого не имеет, начинаются упоминания. Но ведь речь о нужности systemd, верно?

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

— Поттеринг изобрёл control groups!!111

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

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

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

kernelpanic> Зачем? Если это сделать, то он не сможет приносить пользу миру opensource.

Не было предложения отрезать Поттерингу жопу. Так что «приносить пользу» в виде говнокода и какать в бложик на гуглоплюсе он сможет и дальше.

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

alpha> А вот когда ведешь работу над реальным большим проектом, понимаешь, что портируемость - это вагон 'if supported then', а модульность - это матрица тестирования, растущая в геометрической прогрессии

Вот когда смотришь на ребят из NetBSD, возникает желание вмазать тортиком в рыло разработчикам проектов вроде systemd, так как последние способны только ныть, когда им говорят «портируемость». А модульность - выше всё уже было сказано.

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

Инит у systemd как раз не из «быстрых» по сравнению с остальным.

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

Можно свежую ссылку на сравнение скоростей?

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

timuaz_one> дтстровотч

Это тот сайт, где занимаются фаллометрией через накрутку счётчика посещений? Нет, спасибо.

Quasar ★★★★★
()

Фигассе, крутота какая.

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

user_id_68054> но всяко проще будет чем скрипты для sysvinit.

Меньше символов на одну строку ещё не значит проще.

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

И это потенциально большая дырища в системе

Дыры нужны. Без дыр у нас не будет рута в андроиде. Нашли пол года назад уязвимость - сразу появился рут на иксперии в один клик. В 4.4.4 закрыли уязвимость и теперь рут получать через попу надо. Я за небольшое кол-во уязвимостей, а то огородят ведь все что смогут.

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

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

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

Я искал информацию о последней версии RDP. И проброс _отдельных приложений_ как в иксах он до сих пор не умеет.

Quasar ★★★★★
()

ненужная херь от каких-то клоунов

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

А его в бздях уже можно запускать? И планируется ли это?

Судя по их FAQ — собирается и запускается в FreeBSD, но свои функции не выполняет.

uselessd is planned to work as a primitive stage 2 init (process manager)

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

redgremlin> Как будто в SysVinit не делают своего сетевого менеджера на баше.

Это ты про ifupdown и /etc/init.d/networking ?

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

Он нормально работает с иксами, а не через полурабочий xrdp(у меня не взлетел).

Ivan_qrt ★★★★★
()

У поттера от новости жесточайший батхерт! Кастрируют его прелесть!

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

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

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

Была

Не было. Ни словечка, ни намёка.

И Грегу тоже досталось в том же сообщении

Так досталось, так досталось, тот неделю потом плакал

Greg - just for your information, I will *not* be merging any code from Kay into the kernel until this constant pattern is fixed.

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

question4> Можно свежую ссылку на сравнение скоростей?

Не замерял специально. Но тот же sysvinit без сервисов, лежащих мёртвым грузом, на обычном HDD способен и за 7 секунд загрузить ОС (да, Debian wheezy - интереса ради считал). А так есть initng с параллельной загрузкой. Кстати, весь вопрос даже не в том, быстрее или нет, а в том, обеспечивает ли приемлемую скорость RC-система.

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

А вот когда работаешь в Red Had, понимаешь, что портируемость не приносит денег, а модульность - это матрица тестирования и сплошные расходы, в то время как клиентам можно просто скормить один большой блоб и драть деньги за поддержку.

Пофиксил очевидные опечатки.

Вообще конечно интересно было бы посмотреть на параллельную реальность в которой с инициативой создания systemd выступил бы Линус а не Леннарт. Сказал бы что-нибудь вроде: «2010 год на дворе, а десктопа до сих пор нет, давайте наведем порядок!» и предложил бы ровно ту же самую архитектуру и техническую реализацию... забавно было бы наверное.

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

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