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 ()
Последнее исправление: ymn (всего исправлений: 2)

Ах да, вкусно. Одним пакетом в системе меньше (это я про ntp).

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

ОТЛИЧНЫЙ план! systemd должен грузится из uefi, грузится systemd-microkernelz, он инициализирует железо, и грузит поверх себя linux!!!

Нет, наоборот, systemd грузится поверх ядра Linux и предоставляет новое API для системных вызовов, несовместимое с вызовами Linux, транслирует их в вызовы Linux, попутно удаляя микширование^W ненужные по мнению поттеринга части. Потом они добавляют слой совместимости systemd-linux, который эмулирует API ядра Linux, на самом деле загоняя все в собственный API, который транслирует вызовы в Linux, попутно удаляя ненужные части. Они сделали это с ALSA, пришло время всего Linux.

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

Ну так и писали бы об этом прямо. А то везде написано, что это пытаются сделать новую систему инициализации. Но если они хотят сделать новую базовую систему, то где чёткий план? Судя по тому, что уже приходится городить костыли в виде systemd-networkd-wait-online, - никакого чёткого плана нет и в помине.

Shtirliz72
()

Сколько же тут белок-истеричек. Причём большинство этот системд даже не запускало ни разу.

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

Ну так и писали бы об этом прямо. А то везде написано, что это пытаются сделать новую систему инициализации.

Давно уже пишут, что делают Core OS.

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

Там про ядро и немного не по теме. В старой системе инициализации ничего не поменялось.

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

Интересно, скоро ли это всё начнет разваливаться под собственной тяжестью

Интереса для посчитал размер сырцов sysvinit+bash+coreutils (7.20MiB) и systemd (включая udev, logind, journald, networkd, timesyncd etc) (8.18MiB). Да уж, как только sysvinit не развалился под своей тяжестью — минимально необходимый, но далеко не достаточный, набор sysvinit оказывается размером практически с «монструозного» systemd, раскинувшего свои щупальца далеко за пределы системы инициализации.

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

Интереса для посчитал размер сырцов sysvinit+bash+coreutils (7.20MiB) и systemd (включая udev, logind, journald, networkd, timesyncd etc) (8.18MiB)

И сразу двойной фейл.

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

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

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

Решение про перейти на Network Manager и вписать nginx в «пост-хук» Network Manager'а предлагать не надо, я его знаю, и по уровню кривизны оно заметно превосходит любые ручные действия.

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

ну, на фоне других приколов - это да, почти как ноги Оскара Писториуса.

Хотя персонально мне этот костыль, видимо, и поможет.

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

на фоне других приколов - это да, почти как ноги Оскара Писториуса.

А чо ноги Писториуса? Хайтек же, не какое-то там устаревшее мясо.

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

Почему бы не почитать страничку на fd.o, где описаны причины существования wait-online? (вкратце: сделаем запуск сети асинхронным, чтобы не тормозить загрузку, а для демонов, не умеющих самостоятельно следить за сетью, пусть будет After=systemd-networkd-wait-online.service.)

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

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

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

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

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

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

штатным сервисом он не стартует.

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

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

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

Отичная политика. Сначала надо написать урезанную/упрощённую версию «устройства для забивания гвоздей» для частного случая, потом внезапно оказывается, что по зависимостям следует оставить в системе обе версии, затем надо сказать «нечего экономить байты» и смело запускать обе. Желательно с дополнительным костылём, который позволит им не конфликтовать. А в итоге надо удивляться, почему запуск красивого гуя для домохозяек (который уже написан) требует времени и ресурсов не меньше чем в той же винде, которая славится скоростью и экономичностью.

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

Ну форкните уже пожалуйста GNU/Linux, выкиньте весь GNU из него и запилите уже свой Lennart/Linux. Зачем вы мне debian ломаете?

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

И ничему вы не учитесь. Когда вы уже поймёте, NIH'ить с умом надо. А не вот так вот. «Взять всё и переписать!»

Опять же, к кому обращаешься? Люди везде одни и те же, что в линуксах, что в BSD. Разница в том, что в линуксы контрибутить хотят больше и сделать это легче, чем в вашу секту хранителей юникса.

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

Да хейтерам и школоте что-то доказывать бесполезно. Не пытайтесь даже.

А системд между тем просто работает. Да, есть некоторые проблемы, но если посмотреть на тот же Генту: хочется им поддерживать системд и опенрц параллельно — поддерживают. Хочется кому-то грызть консолекитный кактус — грызут.

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

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

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

ну пускай udev и ntpd/snmpd там будет, а остальное ненужно

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

unix
Linux

леннарт и столман уходят от этого, ибо идиоты

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

а че там поднимать? busybox со всей этой байдой и статикой весит 2mb - целая мини-ось выходит

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

Всегда можно на фрю свалить будет.

Или в Gentoo.

или Slackware, CRUX.

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

В системах, в которых был старый апач, так и было.

Подожди, а когда менялся IP по любой причине — либастрал автоматически проходил по конфигам апача и прочих демонов и менял там этот IP? Хотеть такую старую систему.

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

Это противоручит их идеологии. Пока будут рабочие конкуренты, их будут поддерживать наравне с systemd.

А так Gentoo УЖЕ на systemd. В качестве альтернативы она полностью поддерживается, как и родной openrc. Единственное, что мешает появлению stage3 с systemd, — нехватка людских ресурсов.

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

Это отдельный демон. Просто входит в один пакет.

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

syslogd - отдельный. udev - непонятно конечно, но разработчики udev сами на это пошли, и вероятно на то есть причины. ifconfig (NetworkManager) - отдельный демон. И безумное счастье что его сделали. Теперь возможно будет совместимое решение с удобным конфигом. ifconfig почти ничего не умеет, в том числе WiFi, и вообще говоря умер в пользу id. NetworkManager графический, глючный и некомпилируемый. http, snmp - а где они?

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

Почему вендорлок? Все в маленьких утилитах, код хороший и поделен на части (как мне показалось, на беглый взгляд). Если кому-нибудь понадобиться подробить или сделать модификацию, это, как кажется, не сложно.

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

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

«sysctl» - так это же утилита управления задачами. «свой парсер /etc/fstab» - у них же свой способ подключать диски.

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

а когда менялся IP по любой причине

Мне вот интересно, сервак, который в глобальной сети, вот какая такая ВНЕЗАПНО причина регулярного изменения IP????????
Вы ещё скажите, что у Вас localhost DNS-сервером резолвится.
А то вдруг IP сменится?

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

Что-бы сделать удобным переход на systemd. Сначала fstab удобно парсится. Затем к полученным .mount можно приделывать свои зависимости и сервисы.

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

Причин может быть много. Например им может быть удобнее иметь один репозиторий и консолидировать разработчиков. Такой вот аналог GNU coreutils.

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

Да, но у многих ли OpenSource проектов, таковые имеются?

uhbif19
()

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

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