LINUX.ORG.RU

systemd 216

 , ,


1

2

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

Это мажорный выпуск. Помимо прочих изменений, systemd-resolved теперь гармонично дополняет распознаватель заглушек кэширования DNS и LLMNR.

  • timedated больше не читает имена юнитов реализации NTP из /usr/lib/systemd/ntp-units.d/*.list. Альтернативная реализация NTP добавляет
    Conflicts=systemd-timesyncd.service
    в их юнит-файлы, заменяя собой функциональность NTP systemd по умолчанию.
  • systemd-sysusers получила новый тип строки «r» для настройки того, из каких диапазонов UID/GID выделять системных пользователей/группы. Строки типа «u» теперь могут добавлять дополнительную колонку для обозначения домашней директории создаваемого пользователя. Кроме этого, systemd-sysusers теперь может опционально считывать пользовательскую информацию из STDIN вместо файла. Это полезно вызове её из предустановочных скриптлетов RPM, которым нужно создать пользователей перед установкой первого файла RPM, так как этим файлам может требоваться владение этими пользователями. Новый макрос RPM %sysusers_create_inline представлен именно для этой задачи. systemd-sysusers теперь обновляет теневые файлы наряду с базами пользователей/групп, что улучшает совместимость с некоторыми инструментами, например, grpck.
  • Ряд шинных API PID 1 теперь опционально запрашивает у PolicyKit, предоставить ли доступ считающимся непривилегированными клиентам при определённых условиях. Имейте в виду, что интерактивная аутентификация в данный момент пока не поддерживается, но в конечном счёте ожидается добавление и её.
  • /etc/machine-info теперь обладает новыми полями для настройки среды развёртывания машины, а также месторасположения машины. hostnamectl обновлён и снабжён новой командой для обновления этих полей.
  • systemd-timesyncd обновлён до автоматического запроса информации о NTP-сервере у systemd-networkd, который можно обнаружить по DHCP.
  • systemd-resolved теперь включает распознаватель заглушек кэширования DNS и полную реализацию разрешения имён LLMNR. Добавлен новый модуль NSS «nss-resolve», позволяющий использовать собственный «nss-dns» glibc для обнаружения имён хостов через systemd-resolved. Имена хостов, адреса и произвольные RR'ы можно распознавать через D-Bus API systemd-resolved. В отличие от внутреннего распознавателя glibc, systemd-resolved умеет работать с многодомными системами и удерживает DNS-сервера и кэши отдельно и поинтерфейсно. Запросы посылаются одновременно на все интерфейсы, имеющие настроенные DNS-сервера, для корректной обработки VPN и локальных LAN, которые могут распознавать отдельные наборы доменных имён. systemd-resolved может запрашивать информацию о DNS-серверах у systemd-networkd автоматически, который, в свою очередь, может находить её по DHCP. Нововведённый инструмент «systemd-resolve-host» можно использовать для запроса логического DNS у resolved. systemd-resolved реализует IDNA и автоматически использует IDNA или кодировку UTF-8 в зависимости от того, используется ли в качестве транспорта классический DNS или LLMNR. В следующих выпусках планируется добавить в systemd-resolved реализацию DNSSEC и mDNS/DNS-SD.
  • Добавлен новый модуль NSS nss-mymachines, автоматически распознающий имена всех локально зарегистрированных контейнеров по соответствующим IP-адресам.
  • Добавлен новый клиентский инструмент для systemd-networkd — «networkctl». В настоящий момент он полностью пассивен и запрашивает сетевую конфигурацию у udev, rtnetlink и networkd, предоставляя её пользователю дружественным способом. В будущем планируется расширить его до полноценной утилиты для управления networkd.
  • .socket-юниты получили новую настройку DeferAcceptSec=, управляющую sockopt ядра TCP_DEFER_ACCEPT для TCP. Аналогично, для управления TCP Keep-Alive добавлены KeepAliveTimeSec=, KeepAliveIntervalSec= и KeepAliveProbes=. Также поддерживается отключение алгоритма Nagle для TCP (NoDelay=).
  • logind обучен новому типу сессий «web» для использования в проектах наподобие Cockpit, регистрирующих web-клиентов как PAM-сессии.
  • Юниты-таймеры с как минимум одной настройкой OnCalendar= теперь будут запускаться только после достижения timer-sync.target. Таким образом, они не будут проходить перед подстройкой системных часов локальным NTP-клиентом или чем-то подобным. Отчасти это полезно на встраиваемых системах без RTC, запускающимся со сбитыми системными часами.
  • Ключ systemd-nspawn --network-veth= теперь приводит к стабильным MAC-адресам как на внешней, так и на внутренней стороне соединения.
  • systemd-nspawn получил новый ключ --volatile= для запуска экземпляров контейнеров с незаполненными /etc или /var.
  • Клиентский код kdbus обновлён для использования новой подсистемы Linux 3.17 memfd вместо старой, kdbus-специфичной.
  • DHCP-клиент и -сервер systemd-networkd теперь поддерживают FORCENEW. Также есть новые параметры конфигурации для настройки клиентского идентификатора поставщика и режима вещания для DHCP.
  • systemd больше не будет уведомлять ядро о текущем часовом поясе, так как это в любом случае неверно и колоритно, поскольку ядру неведом DST и подобные понятия. Как следствие, временные метки FAT будут всегда считаться UTC, примерно как это уже делает Android. Помимо этого, когда RTC настроены на локальное время (отличное от UTC), systemd никогда не будет синхронизировать их обратно, так как это может смутить Windows при последующей загрузке.
  • systemd-analyze получил новую команду «verify» для оффлайн-валидации юнит-файлов.
  • systemd-networkd получил поддержку парочки дополнительных настроек для слития настроек сети. Также теперь можно настраивать метрику статично настроенных маршрутов. Для сетевых интерфейсов в случае необходимости можно настроить IP-адрес пира.
  • DHCP-сервер systemd-networkd больше не будет запрашивать вещание по умолчанию, так как это роняло некоторые сети. Для оборудования, где вещание необходимо, возможность можно включить обратно с помощью RequestBroadcast=yes.
  • systemd-networkd теперь задаёт адреса IPv4LL (если включено) даже если DHCP успешно настроен.
  • udev теперь по умолчанию отдаёт предпочтение именам сетевых устройств, предоставляемым ядром, если ядро указывает, что они предсказуемы. Это поведение можно изменить изменением NamePolicy= в соответствующем .link-файле.
  • Добавлена новая библиотека systemd-terminal, реализующая полную обработку и отображение TTY-потоков. Эту библиотеку планируется использовать в будущем для реализации подсистемы виртуальных терминалов целиком в пространстве пользователя, взамен текущей реализации в ядре.
  • Добавлен новый инструмент systemd-journald-upload для передачи данных журнала на удалённую систему с запущенным systemd-journal-remote.
  • journald больше не будет передавать все локальные данные другому запущенному syslog-демону. Это изменение сделано, поскольку rsyslog (являющийся на сегодняшний день наиболее широкоиспользуемой реализацией rsyslog) их больше не использует, и вместо этого вытягивает из журнала в свой собственный. Поскольку передача сообщений несуществующему syslog-серверу слишком затратна, было решено просто выключить её. Если у вас запущен syslog-сервер, отличный от последней версии rsyslog, эту опцию нужно снова включить (ForwardToSyslog= в journald.conf).
  • journald опционально поддерживает LZ4-компрессор для больших полей журнала. Этот компрессор работает намного лучше XZ, который использовался по умолчанию ранее.
  • machinectl теперь показывает IP-адреса локальных контейнеров, если знает их, плюс имя интерфейса контейнера.
  • Добавлен новый инструмент «systemd-escape», позволяющий легко экранировать строки для создания имён юнитов и т. п.
  • Сообщения sd_notify() теперь могут содержать новое поле ERRNO=, которое обрабатывается и сохраняется systemd, чтобы потом его можно было отобразить в выводе «systemctl status» для сервиса.
  • Добавлен новый компонент «systemd-firstboot», интерактивно запрашивающий для systemd наиболее базовую информацию (часовой пояс, имя хоста, пароль root) при первой загрузке. Ещё его можно использовать для предоставления этих вещей оффлайн в образах ФС, установленных в директории.
  • Сниппеты sysctl.d/ по умолчанию теперь выставляют net.ipv4.conf.default.promote_secondaries=1. Это позволяет не сбрасывать вторичные IP-адреса, когда первичные удалены.

>>> Источник

★☆

Проверено: fallout4all ()
Последнее исправление: JB (всего исправлений: 4)

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

Ну, ты в курсе, что именно пакеты и особенности управления ими отличают один линукс от другого?

Да. Но я умею отличать фейл программы от фейла процесса.

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

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

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

Не буду тебя кормить, тебе нужно следить за своим весом, а то и так уже близко к последней стадии ожирения

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

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

Как systemd влияет на обычных пользователей?

Она прибита гвоздями к ядру Linux, и посему не является кроссплатформенной.

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

ты умеешь только бздеть и рисовать себе заоблачный скилл, предыдущие треды в development это отлично показали.

А еще мне очень важно твое мнение. Спасибо, что высказал его.

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

гну и линукс когда-то благодаря POSIX и вообще UNIX-подобности вылезли

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

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

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

Вот сидишь ты такой, комментарии на ЛОРе пишешь.
А тут клон Поттеринга закон принимает, что теперь все обязаны в задницу долбиться. А кто не долбится - тот не понимает всей сути нововведений и вообще, устаревший нетолерантный маргинал.

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

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

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

А тут клон Поттеринга закон принимает

вот тут ключевая точка. Не в силах найти логических объяснений своему баттхерту, вы скатываетесь к теориям заговора. Дада, ключевые подсистемы захватили, мейнтейнеров подкупили, дебианщиков вообще под дулом заставили, кровавый Рэдхат. А офисная мебель по ночам переговаривается, твоя собака строит против тебя заговор, мировое правительство жидомассонов облучает тебя со спутников. Вот это вот всё про вас.

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

свобода выбора и взаимозаменяемость компонентов

Благодаря отлично документированным интерфейсам и высокой модульности systemd обеспечивает полную свободу выбора и лёгкую замену компонентов. Вот что значит продуманная архитектура в духе Unix-way.

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

Дада, ключевые подсистемы захватили, мейнтейнеров подкупили, дебианщиков вообще под дулом заставили, кровавый Рэдхат.

А теперь вопрос - на кой хрен всё это тянуть на десктоп?

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

На системд линукс не сошелся. У меня он не работает, откатил обратно опенрц.

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

отлично документированным интерфейсам и высокой модульности

и

systemd

Нельзя ставить в одном предложении.

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

У меня в elementary все работает :)
А вот в F18 был треш и угар, это точно помню. После этого установщик F17 казался идеально вылизанным продуктом. Кстати, а что в итоге в RHEL запихали?

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

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

Те-то как раз ровно на заднице сидят, ничего не принимают.

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

Не замечаешь их? :D

Шучу. Понятия не имею. Но глючнее дистра, чем Squeeze я не видел, хотя долгое время сидел на федоре. К Wheezy это уже не относится, там все намного лучше.

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

А теперь вопрос - на кой хрен всё это тянуть на десктоп?

А что должно останавливать? То, что ты переучиваться не хочешь?

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

So just enable the thing and go on with your life.

Лучший совет в истории обсуждений линукса.

ArtKun ★★★★★
()

Добавлена новая библиотека systemd-terminal, реализующая полную обработку и отображение TTY-потоков. Эту библиотеку планируется использовать в будущем для реализации подсистемы виртуальных терминалов целиком в пространстве пользователя, взамен текущей реализации в ядре.

Где прочитать про это подробнее?

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

То, что ты переучиваться не хочешь?

То, что ломаем работающую годами систему в угоду новой, которая
1. Не приносит ничего нового
2. Нестабильна

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

1. Не приносит ничего нового

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

2. Нестабильна

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

Речь шла о десктопе. Ubuntu 12.04 поддерживается до 2017 года. 14.04 - до 2019. Ни там, ни там systemd нет.

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

НАФЕЙХОА?!! Зачем оно нужно, изменения ради изменений? TTY - одна из самых стабильных частей ядра, они теперь и это хотят сломать

Пользовательскому интерфейсу не место в кернелспейсе.

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

Пришлось пересобрать ведро без FRAMEBUFFER_CONSOLE.

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

Завидуешь - завидуй молча ;)

Но, на самом деле, довольно приятно слышать неожиданные похвалы в адрес твоей работы. Например, как Марабейка в Россию выбиралась. Но, конечно, юзер-репорты бывают всякие ;)

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

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

Ты думаешь, что код systemd не сможет протухнуть? Достаточно, чтоб его авторов появилась новая игрушка. А насчет «скрепя их пердячим паром» - распухший гроб, заколоченный гвоздями, не лучшая альтернатива. Поттерингу стоило остановиться на аналоге launchd, авторы которого более вменяемы и не тащат к себе все, до чего могут дотянуться.

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

активация по сокету - inetd

Как в inetd сервису добавить зависимость от другого сервиса? От успешного монтирования? От существования определённого пути?

logind - ConsoleKit

Их даже делают одни и те же люди. Ну, то есть, в случае ConsoleKit — «делали», проект два года мёртв.

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

1)Слишком толсто. Творения потеринга - как раковая опухоль, выживают отовсюду всех остальных, занимая все место и плотно вплетаясь в систему, где и без них было хорошо. Кстати, до сих пор ржу над тем, как ленарт хотел впихнуть системд зависимостью в третьегном.

2)А своего мнения уже нет, да? Приходится чужие политические речи копировать

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

Научены пульсой ;)

P.S. С пульсой странно. Она у меня не заикается и работает, в целом, приемлемо. Но я в итоге на домашнем компе вынужденно остановился на system-wide демоне, потому что ConsoleKit-или-что-там его сейчас заменяет у меня как-то неочевидно сломаны, а объяснить пользовательским pulseaudio, что карточка на домашнем компе - это тот ресурс, доступ к которому можно и нужно давать любому пользователю, вне зависимости от «localseat», я ниасилил.

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

Как в inetd сервису добавить зависимость от другого сервиса? От успешного монтирования? От существования определённого пути?

Как верно заметили выше - «стопкой полупротухших утилит и скрепами из пердячего пара». Но, в целом, это неплохой способ. Как скотч в армии ;)

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

Не к systemd, а к его апи.

Нафига это вообще нужно? 90% вещей можно сделать и без этого долбаного ограничения.

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

Ну, с обновлением xen 4.1 сломался проброс видеокарточек в гостевую систему. Исправили в версии 4.3 в анстейбле. Естественно, бэкпортировать в стабильную ветку исправление не стали.

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

А почему разработчик должен думать о юзерах? У него есть работа, ему за неё платят. Платят не юзеры, заметь. Я более чем уверен, что никто из хейтеров systemd ни копейки не пожертвовал на разработку того же openrc ни до, ни после появления systemd.

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

Попытка установить из бэкпортов qemu(или libvirt-bin) приводит к удалению гнома. Метапакета, конечно, но apt-get autoremove вынесет почти всю систему.

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

гну и линукс когда-то благодаря POSIX и вообще UNIX-подобности вылезли

Угу, несмотря на GNU Not Unix и никогда не был сертифицированным, как POSIX. Вернёмся в конец 90х — ниша энтерпрайза занята коммерческими UNIX'ами, POSIXивишными по самый юзерленд, в нише «бесплатного UNIX'а» стандарт де-факто — FreeBSD, на десктопах и околодесктопных серверах правит бал совершенно неюниксовая непосиксовая винда. Перематываем в 2014 — *BSD и прочие юниксы разбрелись по тёмным нишевым углам и оттуда только огрызаются на мимопроходящих. И никакой POSIX и UNIX-похожесть им не помогли. А неюниксвейная винда по прежнему держит десктопы. По итогам я бы скорее сказал, что линукс вопреки юниксовости завоевал свою долю.

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

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

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

Слава роботам! Машинам слава! Смерть человекам!

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