LINUX.ORG.RU

Выпуск systemd 213

 ,


0

4

systemd — система инициализации и менеджер служб для Linux, совместимые со скриптами инициализации SysV и LSB. systemd обеспечивает возможности агрессивной параллелизации, использует сокеты и активацию D-Bus для запускаемых служб, предлагает запуск демонов по необходимости, отслеживает процессы при помощи контрольных групп Linux, поддерживает мгновенные снимки и восстановление состояния системы, монтирование и точки монтирования, а также внедряет основанную на зависимостях логику контроля процессов сложных транзакций.

Основные изменения:

  • Новый демон «systemd-timesyncd» для синхронизации времени по сети. С целью упрощения реализованы лишь возможности SNTP-клиента, код не перегружен излишней серверной функциональностью. Демон запускается с минимумом привилегий и умеет взаимодействовать с networkd, чтобы работать только при наличии подключения к сети. Кроме того, он умеет периодически сохранять текущее время на жестком диске и при следующей загрузке сразу восстанавливает его, не дожидаясь начала очередной синхронизации. Это полезно для устройств, в которых отсутствуют часы реального времени (Raspberry Pi, встраиваемые устройства). Восстановленное при загрузке время будет не самым точным, но это лучше, чем ничего. При этом, требуется создание в системе отдельного пользователя и группы «systemd-timesync».
  • Отключена поддержка «seqnum» в libudev, поскольку, если устройства находятся в различных пространствах имён, их номера не будут последовательны.
  • Для «systemctl list-timers» и «systemctl list-sockets» добавлен ключ --recursive, отображающий юниты указанного типа для всех локальных контейнеров.
  • Служебные юниты получили новую директиву RebootArgument=, с помощью которой можно передать ядру аргументы для следующей перезагрузки, если перезагрузка осуществляется через использование StartLimitAction=.
  • Кроме того, этим же юнитам добавлена директива FailureAction=, через которую можно указать, какие операции будут выполнены в случае сбоя сервиса. Все это работает аналогично директиве StartLimitAction=, но в данном случае, указанные операции будут выполнены немедленно после первого же сбоя, а не после нескольких попыток перезапуска проблемного сервиса.
  • Утилита hostnamed теперь может работать с информацией об имени ядра, релизе и версии.
  • На графики, создаваемые утилитой bootchart, добавлены сведения cgroup.
  • Сервисы получили поддержку опции CPUQuota=, с помощью которой можно жестко ограничить в процентах потребление сервисом процессорного времени. Это значение не будет превышено, даже если процессор простаивает.
  • systemd-networkd обучен поддержке IPIP и SIT-туннелей.
  • Скриптам инициализации LSB добавлена зависимость от network-online.target, вместо network.target. За счёт этого, их поведение становится более похожим на то, каким оно было в SysV.
  • Добавлена поддержка опции ядра fsck.repair=, которая определяет, что fsck сделает при загрузке с некорректно отмонтированными файловыми системами.
  • Парсер конфигов (.ini) теперь игнорирует разделы, имена которых начинаются с «X-». Это открывает дорогу к созданию в конфигах специфичных разделов для нужд других приложений.
  • machined получил новый API для запроса IP-адресов зарегистрированных контейнеров.
  • Добавлен новый вызов call sd_uid_get_display(), позволяющий запросить информацию об основной сессии пользователя. Основная сессия выбирается из числа всех сессий. Например, графическая сессия будет предпочтена текстовой.
  • У systemd-networkd появился компаньон — крохотный демон systemd-resolved, который вносит изменения в resolv.conf, основываясь на конфигурации DNS для сетевых интерфейсов. В будущем, сюда добавят локальный кэш DNS и mDNS с поддержкой DNSSEC.
  • Включена по умолчанию утилита systemd-networkd-wait-online, которая вносит задержку в network-online.target до того момента, пока не будет настроено подключение к сети.
  • Две новых опции: StartupCPUShares= и StartupBlockIOWeight=. Они работают аналогично CPUShares= и BlockIOWeight=, но только при загрузке системы.
  • hostnamed теперь предпочитает брать имя хоста из /etc/hostname, если оно там указано, а не через DHCP. В systemd, параметры, определённые локальным администратором, традиционно имеют больший приоритет, чем любые другие.

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

anonymous

Проверено: fallout4all ()

Так, похоже, что следующий в списке отсрела это NTP. Когда уже появится LennartOS, что бы все наконец вздохнули свободно?

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

Готов поставить бессмертную душу на то, что в новости «Во FreeBSD 11 будет включён новый легковесный демон синхронизации lightntpd, не обременённый серверными возможностями» ты был бы в числе ярых одобряторов.

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

Если это будет «do one thing and do it well» — то почему бы и нет? (Хотя Фряха мне абсолютно ортогональна, у меня своё «болото».)

А Ленарт какой-то Emacs пилит. $EDITOR init там, похоже, что и не пахнет. Но зато комбайн знатный вышел.

Напомните мне пожалуйста, что уже впилили в эту поделку? Я начну:

  • lauchd (ex init)
  • syslogd
  • /dev (udev)
  • ifconfig (NetworkManager)
  • http
  • qr
  • ntpd
  • snmp (?)
  • ...
  • кто следующий?

Извини, но что это всё делает в init???

К тому же это всё не портабельно. (И слава ЛММ! Хоть других эта зараза не затронет.) В любом случае мне всё это сильно не нравится. Получается такой странный vendor-lock в мире свободного ПО.

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

UPD: вот это вот init(8), а что пилят RadHat я своим умом постичь не могу.

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

А ещё туда зачем-то запихнули свой sysctl и свой парсер /etc/fstab.

AX ★★★★★ ()

Новый демон «systemd-timesyncd» для синхронизации времени по сети.

А systemd-mailclient когда будет? Люди ждут же!

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

ifconfig (NetworkManager)

false

http

false

ntpd

false

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

Извини, но что это всё делает в init???

systemd - не инит. Вообще, чем дальше, тем больше systemd напоминает мини-BSD - некое едино разрабатываемое ядро операционной системы. Только, в отличие от *BSD, не ставится задача сделать универсальную ОС, а только центральную системную часть с минимально необходимым прикладным уровнем, который уже по потребностям заменяется на «внешние» пакеты. Десктоп стоит дома и втыкается в роутер - накой ему ntpd и networkmanager? Ноут, аки блудница, мечется от одного вайфая к другому - а тут в дело входит NM. Нужен бэкап хомяка раз в день - хватит и таймеров системд, сервер с кучей регламентных задач - а тут уж полноценный крон нужен. И т.д. и т.п.

redgremlin ★★★★★ ()

Судя по чендж логу он становится все монструозней. Никогда не пользовал но вангую срач в треде.

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

как это «впилили»? разве это все не модульно и не может быть отключено/удалено/установлено по требованию?

Я всегда думал, что Леннарт пишет не комбайн, а набор core system utils. Зачем он решил переписать ntpdate, я конечно не уразумею - ну что ж поделать. Питон Жив Перл Мертв, NIH и прочие недостатки молодых да плечистых приходится воспринимать как данность, потому как старички сами ничего не делают и замену не взрастили.

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

А ещё туда зачем-то запихнули <> свой парсер /etc/fstab

Мусье предлагает всех принудительно писать .mount юниты? Месье знает толк в обратной совместимости.

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

Мусье предлагает всех принудительно писать .mount юниты?

Мусье предлагает открыть для себя mount -a.

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

только лишь упрощённой альтернативой

Ну и зачем все эти недоделки?

Тот же, тобой упомянутый, cron — уж пороще не придумаешь. Делает свою простую работу вот уж 40 лет как. И делает хорошо. И тут урезали и заменили.

Извини, я это не понимаю.

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

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

насчет нетворкманагера соглашусь, не нужно ни на десктопе ни на сервере

anonymous ()

периодически сохранять текущее время на жестком диске

А где astrald, чтобы узнавать время, на которое выключалось устройство?

Восстановленное при загрузке время будет не самым точным

«мягко» сказано. Точность примерно +/- бесконечность

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

Зачем он решил переписать ntpdate

ntpdate deprecated. ntpd слишком крут.

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

Получается такой странный vendor-lock в мире свободного ПО.

ноно, сейчас понабигут редхатошкольники и будут орать как макаки

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

во-во, молодые да плечистые.

ntpdate is d e p r e c a t i n g, not d e p r e c a t e d yet.

не хочешь ntpd - ставь sntp

все еще не понимаю, зачем пилить свое, вместо патчей в существующий проект (вообще понимаю конечно - РедХат Линукс Фор Воркстейшенс)

anonymous ()

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

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

mount -a не умеет в .mount юниты

Что мешает использовать mount -a для /etc/fstab и собственный парсер для собственных юнитов?

AX ★★★★★ ()

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

Получается похоже на что-то типа udisks2. Т.е. есть демон, который может диски форматировать, бенчмарки делать и еще кучу всего. И есть некая «Дисковая утилита», которая отдает команды и показывает что получилось. В целом идея неплохая, но это как бы не совсем unix.

Для меня Linux - это прежде всего самая популярная unix-совместимая ОС, а тут всякие policykit, у которых в зависимостях spidermonkey. Их уже по третьему кругу переписывают, никак не перепишут.

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

ntpd слишком крут.

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

И поддержу anonymous'а

не понимаю, зачем пилить свое, вместо патчей в существующий проект

+1

beastie ★★★★★ ()

вот это эпичный набор костылей :)

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

Ну и зачем все эти недоделки?

Простое должно быть простым, сложное должно быть возможным.

И тут урезали и заменили.

4.2 по обоим пунктам. Не урезали, так как таймеры не являются аналогом задач крона и им доступен функционал, недоступный крону. Не заменили, так как никуда крон не делся.

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

«мягко» сказано. Точность примерно +/- бесконечность

Чем меньше разница между системным и реальным временами, тем быстрее они синхронизируются. Даже неделя отставания - это всё равно лучше, чем от самого 01.01.1970 лопатить.

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

А ещё туда зачем-то запихнули <> свой парсер /etc/fstab

Мусье предлагает всех принудительно писать .mount юниты? Месье знает толк в обратной совместимости.

Вроде ж был уже системный вызов в glibc на разбор fstab? #include <fstab.h> (если не путаю) и вперед... Зачем свой изобретать?

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

Что мешает использовать mount -a для /etc/fstab и собственный парсер для собственных юнитов?

А зачем использовать в каких-то случаях mount -a, если у нас всё равно уже свой парсер есть? Универсально работающий механизм банально поддерживать намного проще.

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

не понимаю, зачем пилить свое, вместо патчей в существующий проект

Потому что Lennart Poettering is an asshole.

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

если у нас всё равно уже свой парсер есть?

Парсеров будет как минимум два, т.к. у *.mount и fstab совершенно разные форматы. Так зачем писать второй, когда есть уже готовый?

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

Так зачем писать второй, когда есть уже готовый?

Потому что Лёня пишет быстрее, чем читает, в чём сам признавался. ☺

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

Потому что Лёня пишет быстрее, чем читает

Другими словами, типичный Алексей Бабушкин.

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

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

Там полноценная реализация ntp-протокола, включая серверную часть. Или ты предпочитаешь ftp-клиенты с поддержкой режима ftp-сервера?

(но хуже)

4.2

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

Что мешает использовать mount -a для /etc/fstab и собственный парсер для собственных юнитов?

Затем же, зачем в дебиане в сисвинит парсят fstab на баше, несмотря на такой замечательный mount -a.

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

Там полноценная реализация ntp-протокола, включая серверную часть. Или ты предпочитаешь ftp-клиенты с поддержкой режима ftp-сервера?

Путаешь тёплое с мягким. ntpd по своей природе P2P. А вот ntpdate — это да, только клиент.

Но это всё равно не оправдывает написание n+1 клиента, вместо поддрежки уже готового и проверенного.

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

чем от самого 01.01.1970 лопатить

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

MahMahoritos ★★★ ()

NIH растёт и процветает. Ждём когда в этом говнокоде начнут массово находить дыры

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

Просмотрел ещё раз простыню костылей. Туда ещё и avahi и переписанный unbound (?) впихнуть решили! (Про avahi меня даже не удивляет.)

Итак добавим в список:

  • fstab / mount
  • dns / mdns
  • vpn
  • ...
  • to be continued
beastie ★★★★★ ()
Ответ на: комментарий от MahMahoritos

Там фишка в том, что время должно быть гарантированно монотонно. Т.е. по хорошему нельзя взять вот так и сказать, что вчера было 1. января 1970, а сегодня 29. мая 2014. (Хотя ntpdate так имхо и делает, в отличае от ntpd)

Перевод времени осуществляют за счёт ускорения/замедления часов. Т.е. пока ты эти 44 года ускоренно протикаешь, не один год пройти может.

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

Путаешь тёплое с мягким. ntpd по своей природе P2P

Нет. По природе он древовидный клиент-серверный. Для работы в P2P режиме надо настраивать все сервера в peer-группе и группа может быть только на одном уровне.

А вот ntpdate — это да, только клиент.

ntpdate deprecated и вскоре будет удалён. Официальный ntp-клиент в линуксе нонче ntpd -q

Но это всё равно не оправдывает написание n+1 клиента, вместо поддрежки уже готового и проверенного.

Я так понимаю, ты так же осуждаешь разработчиков FreeBSD, которые переписывают гнутые утилиты, разработчиков гнома, потому что был уже КДЕ, разработчиков генту, потому что была уже слака etc? sntp мог их не устраивать по целому ряду причин - лицензией, избыточностью, упоротостью автора sntp и/или Лёни. Не бог весть какой сложный протокол, чтобы бояться переписать (к слову, куда как более громоздких майлсерверов в линуксе сильно больше одного), зато результат будет «родной» для systemd, с возможностью расширения в сторону более плотного взаимодействия с другими частями (например, посылка специального сообщения в случае слишком значительного изменения времени).

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

зачем в дебиане в сисвинит парсят fstab на баше

Это проблемы дебианщиков. Люди здесь причём?

AX ★★★★★ ()

Кто-нибудь вообще может мне сказать, что хотят сделать в итоге разработчики с systemd? Где декларация о намерениях, где внятное объяснение? Где список тех служб, которые туда в итоге хотят включить и вообще схема позиционирования systemd в linux?

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

в этом случае пофиг, какое системное время, оно после первого же ответа перепишется.

В этом случае нам далеко не пофиг какое системное время, если мы не хотим увидеть что-нибудь вроде «superblock last mount time in the future» при запуске. Или предложишь в initramfs запихать ntp-клиент вместе с поднятием сетевого стека?

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

Когда уже в systemD lennartplayerD запилят? А то надоело грузить ядро, хочу порно прямо из системы инициализации смотреть.

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

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