LINUX.ORG.RU

Systemd 207

 


0

3

Вышел новый релиз популярной системы инициализации и управления сервисами GNU/Linux.

В этой версии:

  • добавлена логика, позволяющая автоматически монтировать home и swap разделы на GPT-дисках, что позволяет отказаться от fstab-файла на множестве конфигураций;
  • добавлена минимальная утилита для сохранения яркости дисплея между перезагрузками;
  • теперь сервис может быть перезапущен, если он определенное время не сообщал о своей активности (watchdog);
  • новый генератор getty-сервисов, который позволяет запускать getty не только на основной консоли ядра, но и на любой другой, указанной в параметре ядра console;
  • опции InaccessibleDirectories= и ReadOnlyDirectories= теперь могут принимать пути, начинающиеся с -; systemd будет учитывать, что файлы могут и не существовать;
  • journalctl -o и похожие команды теперь понимают новый режим отображения "short-precise", похожий на "short", но показывающий отметки времени;
  • больше кода распространяется под LGPL;
  • systemd больше не передает параметры окружения из ядра и initrd сервисам, однако это все еще возможно через параметр ядра systemd.setenv=;
  • команды systemctl set-log-level и systemctl dump перемещены в состав systemd-analyze;
  • systemd-sysctl теперь не читает файл /etc/sysctl.conf; если вам всё же это нужно, создайте на него симлинк из /etc/sysctl.d/99-sysctl.conf;
  • исправлены некоторые баги; добавлены другие, незначительные изменения.

>>> Подробности

★★★★★

Проверено: Shaman007 ()
Последнее исправление: Wizard_ (всего исправлений: 16)

Ответ на: комментарий от derlafff

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

Вообще-то, да, всё ок.

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

А даже если бы не запоминал, то для этого есть DE и системные утилиты.

Угу нынче в линуксах ноут после загрузки хреначит 100% яркостью по глазам, пока ты сквозь слезы не залогинишься. Тогда ДЕ раздуплится загрузит поверменеджер и он наконец вернет яркость на минимум.

Зачем привязывать конкретно запоминание яркости к systemd, я не понимаю.

Теперь оно начнет работать изкоробки, а не после допиливания.

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

Разумеется, ведь яркость монитора и управление службами/логинами/системными журналами ну ОЧЕНЬ тесно связаны.

Не исключено, что Леннарт верит, что PA падает, так как ему слишком темно.

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

А вот когда на шелле всерьез программируют, это плохо, потому что по определению ненадежно.

а аргумент перед «плохо» какой? Ненадёжно по каким параметрам? init-система - нормальное решение, где требуется гибкость, компактность,etc или нет?

P.S. Чем шелл плох, что вдруг он стал плох и неподходящ с приходом системдэ?

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

Утилита, имеющая отношение к параметрам монитора, просто обязана быть частью systemd, я знаю.

А еще и заодно быть утилитой, занимающейся энергосбережением, логгером, планировщиком, http-сервером с генератором QR-кодов, и уметь еще 100500 функций. А ты не знал?

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

systemd выключает комп за 5 секунд. upstart или openrc так умеют?

Меряльщик пришел. У меня с openrc от ядра до приглашения в kdm грузится 9 секунд, причем из них секунду-две занимает старт иксов. SSD.

Зато моя опенрц не умирает, когда я что-то поменял в системе.

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

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

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

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

Идиотизм

когда-то отказ от xorg.conf тоже выглядел странно.

Если в стандартном случае fstab будет пустым, чем это плохо?

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

AX активно юзает венду

Ты окончательно упоролся.

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

а аргумент перед «плохо» какой? Ненадёжно по каким параметрам?

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

init-система - нормальное решение, где требуется гибкость, компактность,etc или нет?

По определению, нет. Инит система стоит в _каждом_ компьютере. Все задачи, которые она решает стандартны. Это не то, что должно решать на шелле...

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

Угу нынче в линуксах ноут после загрузки хреначит 100% яркостью по глазам, пока ты сквозь слезы не залогинишься. Тогда ДЕ раздуплится загрузит поверменеджер и он наконец вернет яркость на минимум.

Люди, не осилившие зайти на арчевики (или чем ты там пользуешься) и почитать про настройку яркости при старте иксов, должны страдать.

Зачем привязывать конкретно запоминание яркости к systemd

Теперь оно начнет работать изкоробки, а не после допиливания.

Казалось бы, как связаны два этих предложения?

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

когда-то отказ от xorg.conf тоже выглядел странно.

ИЧСХ xorg.conf в итоге вернули, пусть и в виде нескольких файлов.

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

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

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

По определению, нет. Инит система стоит в _каждом_ компьютере. Все задачи, которые она решает стандартны. Это не то, что должно решать на шелле...

стандартны, стандартны. Почему шелл для этого не годится?

anonymous
()

Леннарт мне сказал, что ему надоело каждый раз заново менять настройки яркости.
Говорит: «Ну пришлось еще добавить всяких фич для релиза, чтоб не позориться...»

nerdogeek
()

Очередной говнорелиз. Но про отсутствие надобности в fstab интересно: как теперь настраивать и где это полезно?

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

ИЧСХ xorg.conf в итоге вернули, пусть и в виде нескольких файлов.

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

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

А что ты там настраивать собрался? Во-первых, настроено всё уже, во-вторых, там давно уже нечитабельные uuid'ы вместо устройств.

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

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

Да, лучше. Потому что код на СИ пишут централизованно и постоянно развивают. А костыли на шелле пишут под себя, грязненько, просто чтобы работало.

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

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

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

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

во-вторых, там давно уже нечитабельные uuid'ы вместо устройств.

ну это в инсталляторах так конфигурят, но никто не мешает использовать метки, lvm-устройства или путь к файлу устройсва в /dev. Лично я обычно переделываю uuid на нормальный путь к устройству.

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

Да, лучше. Потому что код на СИ пишут централизованно и постоянно развивают. А костыли на шелле пишут под себя, грязненько, просто чтобы работало.

на примере системдэ мы видим говнокод, который намертво прибит даже к путям в системе. Код грязный, пишут под себя (не вынося ничего в отдельные проекты), лишь бы работало в системдэ.

Почему лучше писать говнокод на Си, чем на шелле? Почему говнокод компилируемый предпочтительнее?

anonymous
()

добавлена логика, позволяющая автоматически монтировать home и swap разделы на GPT-дисках, что позволяет отказаться от fstab-файла на множестве конфигураций;

гыгы, Леннарт переизобрел фстаб. Маунт-то свой запилил уже?

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

Да нет. Там устройства. А настраивать... точки монтирования, порядок проверки, опции монтирования ФС. Ещё есть mount -o bind. С подходом Леннарта будет проще монтирование прописывать скриптом при загрузке.

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

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

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

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

но мне как раз нужны пути и я ставлю их. Для меня константа, это мой lvm с его /dev/mapper/осмыслееныегруппа-том.

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

А если не роешься, то нормально. И даже если UUID использовать, то можно нарваться на проблему одинаковости идентификаторов. В случае бэкапа, например.

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

Там устройства

Только в дистрибутивах из каменного века типа шлаки.

А настраивать... точки монтирования, порядок проверки, опции монтирования ФС

Настраивается в установщике один раз.

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

Современные дистрибутивы волне позволяют вписывать именно устройства. А в инсталляторе указывать один раз... А вот фиг. Потребуется, например, FTP-сервер поставить, ав целях безопасности надо одну директорию к другой примонтировать, ибо линки запрещены. Теперь систему переустанавливать? И да - как в инсталляторе это проделать?

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

на примере системдэ мы видим говнокод, который намертво прибит даже к путям в системе.

Пути в системе инициализации приходится прибивать.

Код грязный, пишут под себя (не вынося ничего в отдельные проекты), лишь бы работало в системдэ.

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

Почему лучше писать говнокод на Си, чем на шелле? Почему говнокод компилируемый предпочтительнее?

потому что в шелле нет средств для решения всех возникающих проблем. Нет развитой многопоточности, нет исключений и тому подобного. А в шелловом фреймворке вообще нет ничего, кроме пары директорий с симлинками и набора правил, типа запускаем /etc/init.d/service старт-стоп-статус.

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

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

Белка-истеричка.jpg. Не нравится — юзай fstab

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

Пути в системе инициализации приходится прибивать.

чтоб было универсальнее, наверное! и еще овер 9000 обёрток над coreutils на каждый чих - для улучшения универсальности. Утилита поменялась - правь исходник. Нужен ключ специальный - правь исходник) необходима своя замена какому либо модулю - правь исходник, или вообще ПНХ, т.к. блоб есть блоб.

способствует улучшению управляемости

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

потому что в шелле нет средств для решения всех возникающих проблем.

средства для решения всех возникающих проблем? Это не шелл, это системдэ, да?))) О чем мы говорим, тебя походу покусали менеджеры.

anonymous
()

добавлена логика, позволяющая автоматически монтировать home и swap разделы на GPT-дисках, что позволяет отказаться от fstab-файла на множестве конфигураций;

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

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

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

Внезапно, да. См. init-скрипты Debian. По странному стечению обстоятельств Debian один из немногих, кто не собирается пока переходить на systemd.

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

когда-то отказ от xorg.conf тоже выглядел странно.

Если в стандартном случае fstab будет пустым, чем это плохо?

Если определить, какие устройства есть в системе, и каковы их свойства, можно автоматически путём опроса, то как вы собираетесь определять, куда монтировать тот или иной том? А опции монтирования где указывать? А псевдоФС как монтировать?

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

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

А с каких пор в C есть исключения?

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

Зато ошибка в shell-скрипте не обрушит init в segmentation fault. Зато init не использует библиотеки, которые не проектировались с расчётом на надёжность. Много можно таких «зато» вспомнить. Если интересно, поищите дискуссию о systemd в рассылке debian-devel в трёх частях, где сопровождающий, защищая systemd от критики, умудряется её подтверждать.

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

Systemd — это, прежде всего, система загрузки, причём только одна из. Зачем привязывать к ней всё подряд, когда можно вместо этого оформить отдельные проекты, которыми могут пользоваться все?

man IE vs Netscape

Bagrov ★★★★★
()

Вышел новый релиз популярной системы инициализации и управления сервисами GNU/Linux.

популярной

сажа

добавлена логика, позволяющая автоматически монтировать home и swap разделы на GPT-дисках, что позволяет отказаться от fstab-файла на множестве конфигураций;

может откажемся и от файла '/.' ? А чё так? Зачем он нужен? Вот в Windows нет такого файла, и ничего, Angry Birds тоже работает.

теперь сервис может быть перезапущен, если он определенное время не сообщал о своей активности (watchdog);

действительно: зачем исправлять быдлокод, который постоянно падает? А давайте во ВСЕ системы встроим костыль для поднимания упавшего быдлокода?

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

ППЦ. Вот оно, следствие поворота с UNIX Way: раньше надо было просто прочитать яркость на выходе, и записать на входе. А теперь будем жрать что дают. Ок, яркость запилили. А громкость к 2014у или к 15у году?

больше кода распространяется под LGPL;

Я правильно понимаю, что «модульность systemd» это когда из 69и модулей все 69 под разными лицензиями? А теперь только 68, ибо уже целых две под LGPL?

systemd больше не передает параметры окружения из ядра и initrd сервисам, однако это все еще возможно через параметр ядра systemd.setenv=;

WTF?

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

Указать специальные GPT type ID разделам

а как всякие atime выставлять? как вообще параметры для монтирования указывать?

xpahos ★★★★★
()

Я считаю,что программа не нужна. К чему плодить зоопарк сущностей, когда и так всё работает (примером чему служит Убунта)?

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

Шо-то мне казалось, что ты не обычная истеричка-хейтер

сажа

без комментариев

может откажемся и от файла '/.' ? А чё так? Зачем он нужен? Вот в Windows нет такого файла, и ничего, Angry Birds тоже работает.

давай. а от fstab тебя никто не вынуждает отказываться

действительно: зачем исправлять быдлокод, который постоянно падает? А давайте во ВСЕ системы встроим костыль для поднимания упавшего быдлокода?

лол. зачем исправлять быдлокод, который постоянно падает? А давайте изо ВСЕХ языков программирования выпилим обработку исключений, раз быдлокод не нужен

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

лолчто?

WTF?

именно то, что написано

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

Это вроде как противоречит самой идее системде, не? По-правильному нужно было юнит написать, а они утилиты лобают.

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

Вот идиотизм. Да безынтересно вообще за сколько выключается компьютер. Нажал на кнопку (пусть даже и виртуальную) и повернулся к нему спиной. Потому что он тебе _уже_не_нужен_. Сколько он будет останавливаться? Какое мне дело?

Я так понимаю, что по скорости загрузки у него перед остальными преимуществ уже нет?

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

Это каким нужно быть дебилом, чтобы такое писать?

        } else if (dbus_message_is_method_call(message, "org.freedesktop.systemd1.Manager", "StartUnit"))
                job_type = JOB_START;
        else if (dbus_message_is_method_call(message, "org.freedesktop.systemd1.Manager", "StartUnitReplace"))
                job_type = JOB_START;
        else if (dbus_message_is_method_call(message, "org.freedesktop.systemd1.Manager", "StopUnit"))
                job_type = JOB_STOP;
        else if (dbus_message_is_method_call(message, "org.freedesktop.systemd1.Manager", "ReloadUnit"))
                job_type = JOB_RELOAD;
        else if (dbus_message_is_method_call(message, "org.freedesktop.systemd1.Manager", "RestartUnit"))
                job_type = JOB_RESTART;
        else if (dbus_message_is_method_call(message, "org.freedesktop.systemd1.Manager", "TryRestartUnit"))
                job_type = JOB_TRY_RESTART;
        else if (dbus_message_is_method_call(message, "org.freedesktop.systemd1.Manager", "ReloadOrRestartUnit")) {
                reload_if_possible = true;
                job_type = JOB_RESTART;
        } else if (dbus_message_is_method_call(message, "org.freedesktop.systemd1.Manager", "ReloadOrTryRestartUnit")) {
                reload_if_possible = true;
                job_type = JOB_TRY_RESTART;
        } else if (dbus_message_is_method_call(message, "org.freedesktop.systemd1.Manager", "KillUnit")) {

И так на полторы тысячи строк. Простыня одним if else if.

Это у него везьде:

        } else if (streq(name, "CPUShares")) {
        } else if (streq(name, "BlockIOAccounting")) {
        } else if (streq(name, "BlockIOWeight")) {
…и так далее…
        } else if (streq(key, "result")) {
        } else if (streq(key, "reload-result")) {
        } else if (streq(key, "control-pid")) {
… и ещё десяток

Я там ешё почитал — страх и ужас. «Зачем нужно алгоритмическое программирование, если есть блочное копировани»? Неподдерживаемый write-only быдлокод, уже готовый рухнуть под собственной тяжестью. Не, ребята, он не засланец, он часранец натуральный. И то, как активно это говно кушают, заставляет меня быть спокойным за будущее альтернативных линуксу систем.

«Небо, небо не видело такого позорного пацака». Нет, скрипач не нужен.

baka-kun ★★★★★
()
Ответ на: комментарий от lucentcode

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

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

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

Не, тумблер на пилоте делает это еще быстрее, если не ноутбук, конечно :).

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