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

Больше про /etc/sysconfig/network-scripts и прочие скрипты во многих rpm-based.
Но дебиановская связка ifupdown и /etc/init.d/networking даже лучше идею иллюстрирует - один в один, как в systemd сделано, сишные хелперы и юнит запуска.

redgremlin ★★★★★
()

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

carter
()

ахахаха! шикарная новость! Лео там извергает лучи какашек уже,наверно=)))))

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

Правильный systemd - мёртвый systemd

+100500

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

Прикинь, systemd умеет задавать нестандартные условия, в т.ч. для завершения. Да, если у тебя там лапша на запуск скрипта, то systemd это не умеет напрямую. Если лапша в rc.d твоя, пожалуйста, не пиши больше код. Если чужая - покрой матом разрабов и шли PR.

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

Упороты как раз поцерингофилы и системдлюбы

Я правильно понимаю, что этим ответом ты хочешь сказать, что квазар не упорот?

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

Эм, насколько мне известно, «дыры» (разлоченный бутлоадер) сейчас поставляют вендоры. Т.е. только после разлочки можно получить рута, что правильно.

дыры иногда и полезны бывают.

никогда не полезны. Расширение функционала через уязвимости == отгрызть руку ради протеза - сомнительное удовольствие.

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

Т.е. только после разлочки можно получить рута, что правильно.

Это не так. Я как раз без разлочки рута получил(через уязвимость), а с разлочкой конечно можно прошить рутованное ядро, но вот беда, при разлочке удаляются drm-ключи для камеры и она начинает препаршивейше снимать. Еще вроде экран хуже кажет, т.к. отключается Bravia Engine на разлоченном бутлоадере.

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

Девушка, а вы не замечали случайно двоемыслия у этих фанатиков-ретроградов? У них FreeBSD RIP, а systemd плохой, т.к. он на мертвую платформу, видите ли, не портируется.

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

вызовите санитаров, пусть квазар приносит пользу психбольнице. для опенсорса он безнадежен.

timuaz_one
()

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

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

О боже, ЧТО удаляется? Какой ещё DRM для камеры? Про удаление ключей - это по идее на что-то влияет только если ВДРУГ ты такой ...странный человек... что платные видимо фильмы покупал на своём телефоне?

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

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

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

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

Не unixway'но, ага. Да и скорость загрузки не так важна, если даже у простой домохозяйки (вроде меня) аптайм от 10-12 суток.

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

Квазар, ты клоун. Нет никакого желания отвечать — более чем очевидно, что тебе не нужна нормальная дискуссия. Иди тролль где-нибудь в другом месте, желательно в цирке.

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

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

Можешь на 4pda почитать. Их там даже бэкапить научились. И есть примеры фото, где камера намного хуже снимает после разлочки бутлоадера. А MobileBraviaEngine(фирменный улучшайзер изображения от сони) так вполне себе перестает включатся.

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

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

systemd в настоящее время включает в себя следующее:

  • udev
  • службу журналирования с ни с чем несовместимым форматом базы данных
  • службу управления сеансами пользователя
  • службу префетчинга данных с диска
  • собственные велосипедные утилиты для конфигурации рандомных кусков системы, например, выставления шрифта на терминале, настройки локали т.п.
  • службу сохранения/восстановления состояния wifi
  • службу сохранения/восстановления состояния лампы подсветки монитора
  • менеджер сети
  • DNS-резолвер
  • клиент DHCP
  • клиент NTP
  • http-сервер (для нужд журнала)
  • службу управления контейнерами
  • велосипеную замену для fcron
  • «более лучшую» замену fstab
  • «более лучшую» замену crypttab
  • средства поддержки гибернации системы

Масштаб надвигающегося бедствия можно оцениь по следующему листингу:

$ apropos systemd
init (1)             - systemd system and service manager
journalctl (1)       - Query the systemd journal
loginctl (1)         - Control the systemd login manager
lvm2-activation-generator (8) - generator for systemd units to activate LVM2 volumes on boot
machinectl (1)       - Control the systemd machine manager
pam_systemd (8)      - Register user sessions in the systemd login manager
sd_booted (3)        - Test whether the system is running the systemd init system
systemctl (1)        - Control the systemd system and service manager
systemd (1)          - systemd system and service manager
systemd-activate (8) - Test socket activation of daemons
systemd-analyze (1)  - Analyze system boot-up performance
systemd-ask-password (1) - Query the user for a system password
systemd-ask-password-console.path (8) - Query the user for system passwords on the console and via wall
systemd-ask-password-console.service (8) - Query the user for system passwords on the console and via wall
systemd-ask-password-wall.path (8) - Query the user for system passwords on the console and via wall
systemd-ask-password-wall.service (8) - Query the user for system passwords on the console and via wall
systemd-backlight (8) - Load and save the display backlight brightness at boot and shutdown
systemd-backlight@.service (8) - Load and save the display backlight brightness at boot and shutdown
systemd-binfmt (8)   - Configure additional binary formats for executables at boot
systemd-binfmt.service (8) - Configure additional binary formats for executables at boot
systemd-bootchart (1) - Boot performance graphing tool
systemd-cat (1)      - Connect a pipeline or program's output with the journal
systemd-cgls (1)     - Recursively show control group contents
systemd-cgtop (1)    - Show top control groups by their resource usage
systemd-cryptsetup (8) - Full disk decryption logic
systemd-cryptsetup-generator (8) - Unit generator for /etc/crypttab
systemd-cryptsetup@.service (8) - Full disk decryption logic
systemd-debug-generator (8) - Generator for enabling a runtime debug shell and masking specific units at boot
systemd-delta (1)    - Find overridden configuration files
systemd-detect-virt (1) - Detect execution in a virtualized environment
systemd-efi-boot-generator (8) - Generator for automatically mounting the EFI System Partition used by the current boot to /boot
systemd-fsck (8)     - File system checker logic
systemd-fsck-root.service (8) - File system checker logic
systemd-fsck@.service (8) - File system checker logic
systemd-fstab-generator (8) - Unit generator for /etc/fstab
systemd-getty-generator (8) - Generator for enabling getty instances on the console
systemd-gpt-auto-generator (8) - Generator for automatically discovering and mounting root, /home and /srv partitions, as well as discovering and enabling swa...
systemd-halt.service (8) - System shutdown logic
systemd-hibernate.service (8) - System sleep state logic
systemd-hostnamed (8) - Host name bus mechanism
systemd-hostnamed.service (8) - Host name bus mechanism
systemd-hybrid-sleep.service (8) - System sleep state logic
systemd-inhibit (1)  - Execute a program with an inhibition lock taken
systemd-initctl (8)  - /dev/initctl compatibility
systemd-initctl.service (8) - /dev/initctl compatibility
/* не влезло в одно сообщение */

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

/* остальное */

systemd-initctl.socket (8) - /dev/initctl compatibility
systemd-journal-gatewayd (8) - HTTP server for journal events
systemd-journal-gatewayd.service (8) - HTTP server for journal events
systemd-journal-gatewayd.socket (8) - HTTP server for journal events
systemd-journal-remote (8) - Stream journal messages over the network
systemd-journald (8) - Journal service
systemd-journald-dev-log.socket (8) - Journal service
systemd-journald.service (8) - Journal service
systemd-journald.socket (8) - Journal service
systemd-kexec.service (8) - System shutdown logic
systemd-localed (8)  - Locale bus mechanism
systemd-localed.service (8) - Locale bus mechanism
systemd-logind (8)   - Login manager
systemd-logind.service (8) - Login manager
systemd-machine-id-setup (1) - Initialize the machine ID in /etc/machine-id
systemd-machined (8) - Virtual machine and container registration manager
systemd-machined.service (8) - Virtual machine and container registration manager
systemd-modules-load (8) - Configure kernel modules to load at boot
systemd-modules-load.service (8) - Configure kernel modules to load at boot
systemd-networkd (8) - Network manager
systemd-networkd-wait-online (8) - Wait for network to come online
systemd-networkd-wait-online.service (8) - Wait for network to come online
systemd-networkd.service (8) - Network manager
systemd-notify (1)   - Notify service manager about start-up completion and other daemon status changes
systemd-nspawn (1)   - Spawn a namespace container for debugging, testing and building
systemd-path (1)     - List and query system and user paths
systemd-poweroff.service (8) - System shutdown logic
systemd-quotacheck (8) - File system quota checker logic
systemd-quotacheck.service (8) - File system quota checker logic
systemd-random-seed (8) - Load and save the system random seed at boot and shutdown
systemd-random-seed.service (8) - Load and save the system random seed at boot and shutdown
systemd-readahead (8) - Disk read ahead logic
systemd-readahead-collect.service (8) - Disk read ahead logic
systemd-readahead-done.service (8) - Disk read ahead logic
systemd-readahead-done.timer (8) - Disk read ahead logic
systemd-readahead-replay.service (8) - Disk read ahead logic
systemd-reboot.service (8) - System shutdown logic
systemd-remount-fs (8) - Remount root and kernel file systems
systemd-remount-fs.service (8) - Remount root and kernel file systems
systemd-resolved (8) - Network Name Resolution manager
systemd-resolved.service (8) - Network Name Resolution manager
systemd-rfkill (8)   - Load and save the RF kill switch state at boot and shutdown
systemd-rfkill@.service (8) - Load and save the RF kill switch state at boot and shutdown
systemd-run (1)      - Run programs in transient scope or service units
systemd-shutdown (8) - System shutdown logic
systemd-shutdownd (8) - Scheduled shutdown service
systemd-shutdownd.service (8) - Scheduled shutdown service
systemd-shutdownd.socket (8) - Scheduled shutdown service
systemd-sleep (8)    - System sleep state logic
systemd-sleep.conf (5) - Suspend and hibernation configuration file
systemd-socket-proxyd (8) - Bidirectionally proxy local sockets to another (possibly remote) socket.
systemd-suspend.service (8) - System sleep state logic
systemd-sysctl (8)   - Configure kernel parameters at boot
systemd-sysctl.service (8) - Configure kernel parameters at boot
systemd-system-update-generator (8) - Generator for redirecting boot to offline update mode
systemd-system.conf (5) - System and session service manager configuration file
systemd-sysusers (8) - Allocate system users and groups
systemd-sysusers.service (8) - Allocate system users and groups
systemd-timedated (8) - Time and date bus mechanism
systemd-timedated.service (8) - Time and date bus mechanism
systemd-timesyncd (8) - Network Time Synchronization
systemd-timesyncd.service (8) - Network Time Synchronization
systemd-tmpfiles (8) - Creates, deletes and cleans up volatile and temporary files and directories
systemd-tmpfiles-clean.service (8) - Creates, deletes and cleans up volatile and temporary files and directories
systemd-tmpfiles-clean.timer (8) - Creates, deletes and cleans up volatile and temporary files and directories
systemd-tmpfiles-setup-dev.service (8) - Creates, deletes and cleans up volatile and temporary files and directories
systemd-tmpfiles-setup.service (8) - Creates, deletes and cleans up volatile and temporary files and directories
systemd-tty-ask-password-agent (1) - List or process pending systemd password requests
systemd-udevd (8)    - Device event managing daemon
systemd-udevd-control.socket (8) - Device event managing daemon
systemd-udevd-kernel.socket (8) - Device event managing daemon
systemd-udevd.service (8) - Device event managing daemon
systemd-update-done (8) - Mark /etc and /var fully updated
systemd-update-done.service (8) - Mark /etc and /var fully updated
systemd-update-utmp (8) - Write audit and utmp updates at bootup, runlevel changes and shutdown
systemd-update-utmp-runlevel.service (8) - Write audit and utmp updates at bootup, runlevel changes and shutdown
systemd-update-utmp.service (8) - Write audit and utmp updates at bootup, runlevel changes and shutdown
systemd-user-sessions (8) - Permit user logins after boot, prohibit user logins at shutdown
systemd-user-sessions.service (8) - Permit user logins after boot, prohibit user logins at shutdown
systemd-user.conf (5) - System and session service manager configuration file
systemd-vconsole-setup (8) - Configure the virtual console at boot
systemd-vconsole-setup.service (8) - Configure the virtual console at boot
systemd.automount (5) - Automount unit configuration
systemd.device (5)   - Device unit configuration
systemd.directives (7) - Index of configuration directives
systemd.exec (5)     - Execution environment configuration
systemd.index (7)    - List all manpages from the systemd project
systemd.journal-fields (7) - Special journal fields
systemd.kill (5)     - Process killing procedure configuration
systemd.link (5)     - Network device configuration
systemd.mount (5)    - Mount unit configuration
systemd.netdev (5)   - Virtual Network Device configuration
systemd.network (5)  - Network configuration
systemd.path (5)     - Path unit configuration
systemd.preset (5)   - Service enablement presets
systemd.resource-control (5) - Resource control unit settings
systemd.scope (5)    - Scope unit configuration
systemd.service (5)  - Service unit configuration
systemd.slice (5)    - Slice unit configuration
systemd.snapshot (5) - Snapshot unit configuration
systemd.socket (5)   - Socket unit configuration
systemd.special (7)  - Special systemd units
systemd.swap (5)     - Swap unit configuration
systemd.target (5)   - Target unit configuration
systemd.time (7)     - Time and date specifications
systemd.timer (5)    - Timer unit configuration
systemd.unit (5)     - Unit configuration

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

Ох лол, даже не думал что всё настолько плохо! Спасибо

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

может быть кто-нибудь расскажет в чём проблема ?

В том, что из обычного init сделали развесистый комбайн, в который загоняют функциональность, совершенно ненужную для init. Это напрямую влияет на стабильность работы ОС, так как кода в комбайне вагон, а писать его нормально не умеют. А и если б там звёзды от программирования собрались, всё равно вероятность появления ошибок в коде росла бы. Вот и вся проблема.

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

Да это не двоемыслие, это по сути религия.

«Портировать надо, потому что надо портировать чтобы портировать. Вот в NetBSD портируют, значит все должны портировать неперепортировать.»

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

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

список выше, но самый батхерт доставляют вещи которых нигде кроме systemd нету, например logind который пилитца авторами consolekit а на оригинальный забили по причини невозможности запилить нужный функционал, или udevd потуги форкнуть который просто смешны

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

Я как раз без разлочки рута получил

О-как, не знал

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

Но догмы не обсуждаются и не анализируются, поэтому даешь
«модульность!!!» и «не прибитость гвоздями!!!».

Достаточно почитать рассылки по разным дистрибутивом и поискать что-то вроде «обновился systemd и не загрузилось». Не помнишь, когда такое было при обновлении sysvinit ?

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

Это напрямую влияет на стабильность работы ОС, так как кода в комбайне вагон

По этой логике классический инит вообще работать не может, ведь объём суммарного кода всех утилит превышает systemd даже не на порядок.

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

Да это не двоемыслие, это по сути религия.

Это как раз ваша религия. Про RIP BSD орут те же люди, что поклоняются Пророку.

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

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

А то я всё каких-то глупых людей читаю.

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

Про RIP BSD орут те же люди, что поклоняются Пророку.

Вообще-то я ни в одном посте не говорила RIP оно или не RIP. Но само по себе существование BSD не означает необходимость портирования на него чего бы то ни было. Такая вот странность.

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

По этой логике классический инит вообще работать не может, ведь объём суммарного кода всех утилит превышает systemd даже не на порядок.

Объём кода busybox превышает объём кода systemd более, чем на порядок?

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

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

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

Вообще-то я ни в одном посте не говорила RIP оно или не RIP.

А как же Пророк? Ты еретически искажаешь волю Пророка, который самолично утверждал, что I don't think BSD is really too relevant anymore, and I think that this implied requirement for compatibility with those systems when somebody hacks software for the free desktop or ecosystem is a burden, and holds us back for little benefit.

Но само по себе существование BSD не означает необходимость портирования на него чего бы то ни было.

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

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

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

По словам «ничего не делал но все сломалось» поищи.

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

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

ведь объём суммарного кода всех утилит превышает systemd даже не на порядок.

Ну-ну.

-rw-r--r-- 1 ftp ftp 3579322 Sep 15 18:12 systemd-216-alt3.src.rpm
-rw-r--r-- 1 ftp ftp  127083 Jun 13  2012 sysvinit-2.88-alt4.src.rpm

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

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

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

Из обычного колеса сделали автомобиль...

Странно, обычно автомобиль делают не только из колеса.

Но у Поттерига свой путь. Синк дифферент.

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

coreutils и util-linux забыл посчитать. Речь именно об этих «всех утилитах».

Спрошу еще раз:

Объём кода busybox превышает объём кода systemd более, чем на порядок?

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

Из обычного колеса сделали автомобиль

Увы, нет. На обычное колесо навесили функционал клаксона, залили в него бензин до кучи, чтобы объём не пропадал, и выполнили из светящегося материала, чтобы габариты получились заодно.

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

coreutils и util-linux забыл посчитать. Речь именно об этих «всех утилитах».

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

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

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

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

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

Объём кода busybox превышает объём кода systemd более, чем на порядок?

При чём здесь busybox?

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