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)

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

Естественно. Сейчас «systemd по дефолту» — явление гораздо более распространённое, чем «второгном по дефолту».

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

Она дает такую возможность. Если у тебя нет ресурсов/умения - то не обеспечит, само собой.

То же самое можно сказать и про проприетарный код. Даже если АПИ недокументировано. Так что открытые исходники лишь немного упрощают эту задачу. Порой даже слишком незначительно.

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

Если среди тех, кто считает, что проект X скатывается в УГ, находится достаточное количество разумных людей, эти же люди берут и пишут проект X-штрих. А если таковых не находится, то любое мнение этой группы можно считать необъективным. Меритократия, сэр.

Ну то что у ощутимого процента людей (и я в их числе) пульсайдио барахлит - это факт объективный. Где скачать твой пульсаудио-штрих?

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

Документированное API серьёзно упрощает работу. И, кстати, зачастую с этим в опенсорсе беда: единственная документация — багнутый код, если повезёт — с комментариями.

Лично я бы предпочёл закрытый код с внятно документированным API.

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

Нет, ты не понял.

Если PulseAudio-штрих ещё не существует, значит, либо проблем с ним на самом деле нет, либо они возникают только у людей настолько криворуких и/или ленивых, что их мнение можно не учитывать.

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

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

Я обычный пользователь линукса, у меня после очередного обновления системы этот ваш systemd-logind сегфолтнулся при запуске и оставил меня любоваться на консоль в которой не то что залогиниться, а даже alt ctrl del нажать нельзя. «Здравствуй, init=/bin/sh и приключения на задницу.» Спокойно работает? Да нихера подобного.

Пишу с винды, из горящего танка.

Про убогий журнал, единственное разумное применение которого — перенаправлять сообщения в rsyslog, я уж молчу. Хотя мог бы сказать много чего...

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

А с иксовой сессией енто подружить можно? Зависимость от DM можно поставить, но ведь надо ещё логина дождаться.

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

Magic SysRq Key не осилил, конечно же?

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

Ваще это весьма показательно. Юзер1: «у пользователей системди нет проблем». Страницей ниже тот же самый юзер1: «проблемы создают сами пользователи. у меня проблем нет». Через N страниц при демонстрации реальной проблемы, юзер2: «костыль использовать не осилил, конечно же?».

Наше так называемое сообщество опен сорса — как раз тот самый случай, когда «а бывает, что и весь человек - говно».

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

нужны специальные костыли и подпорки в ядре

Это не костыли, это официальная реализация. Когда юзерспейсу хана, на помощь может прийти только ядро. В форточках Ctrl+Alt+Del тоже реализован на уровне ядра, внезапно.

И вообще, у тебя система хоть из стабильной ветки? Нестабильный софт на то и нестабильный, что в нём может глюконуть что угодно — даже инит, даже ядро, даже Аллах.

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

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

Посему, когда линукс с системд окончательно превратиться во вторую винду, и потому станет ненужным, он сгинет целиком

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

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

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

Неточно выразился, пардон. Прав ты. Заодно и более вежлив :)

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

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

Я дочь офицера и поверьте не всё так однозначно... :-D

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

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

UPD: Интересно, какова же у редхата целевая аудитория, если им на «ленивых» плевать? Похоже, они просто взяли текущую аудиторию линукса и насильно впихнули им свои поделия.

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

Лично я бы предпочёл закрытый код с внятно документированным API.

Ну тогда тебе сначала надо на клык принять, а потом можешь на винфак сваливать. Главное не перепутай - сначала на клык.

anonymous
()

я тут на рашнфидоре откопал нечто - доставляет неимоверно, пару раз чуть не упал со стула:

Они сожрут твоих детей, Марк. Живьем сожрут, понимаеш?
Редхатовские зомби, Марк, они такие. Думаеш чего в
Опенстаке каноникал проигрывают? Потому что редхатовских
зомби пули не берут. Убунтушники их пытаются убить, Марк, но
это трудно. Их только "Юнити" можно. А сколько
убунтушников съели заживо?! Слакварщики плачут как маленькие
мальчики, когда редхатовкие зомби разгрызают им животы
и вынимают еще горячие кишки, Марк. Это страшно,
пропаганда об этом молчит, Линус скрывает что бы не
деморализировать. Жесткая цензура везде, в LKML, в
рассылках... что бы паники не создавать. Представь реакцию,
Марк, когда населению скажут что рядом, в интернетах
живет 6000 зомби которые поедают убунтушников?
Представил? Вот и молчат все в тряпочку, а редхатовские
зомби жрут. И продвигаются все дальше в миддлвэр. Уже в
Ланчпаде пару словили, а говорили коммьюнити мол меритократичное.
Беда, Марк, беда.
timuaz
()
Ответ на: комментарий от timuaz

Особенно «Слакварщики плачут как маленькие мальчики», просто жесть :-)

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

Спасибо, поржал. Продолжайте нас веселить.

Поттеринг тебя повеселит, лалка. «Фильтрование журнала ненужно патамушта гладиолус».

Кстати, как там, баги с максимальным размером журнала за два года все выловили уже? Или еще пару лет ловить будут? Качественный же код, йо.

Вместо того, чтобы взять rsyslog и прикрутить к нему еще один плагин ввода данных, навелосипедили кривую глючную бесполезную прибитую гвоздями к системе инициализации поделку с ничем не совместимым форматом логов, которая при вводе-выводе даных жрёт CPU так, будто втихаря майнит биткойны поттерингу. NIH-синдром он такой.

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

Лично я бы предпочёл закрытый код с внятно документированным API.

Толку-то с апи, если у тебя право пользования отберут?

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

Код при наличии API можно переписать, и это зачастую будет дешевле, чем фиксить лапшу без API.

(Капча testing xperaid как бы символизирует.)

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

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

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

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

Вот только у AGPLщиков можно купить и право разработки.

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

Код без апи тоже можно переписать, и заодно написать к нему апи :)

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

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

x3al ★★★★★
()

Анальное огорождение все ближе
Если так пойдет и дальше то будет gnu/systemd или systemd/linux
И дистрибутивы будут различаться разве что обоями

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

Остается надежда разве что на генту
Где останется выбор системы инициализации и тд.

Ну а если везде системд гвоздями прибьют, то тут либо на фряху свалю
Либо остается Linux From Scratch и пилить свой дистрибутив без системд и с блекджеком и шлюхами.

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

можно закапывать

Если перейдут - закопать

Тебя закопать нужно. =]

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

Если так пойдет и дальше то будет gnu/systemd

:D

на фряху свалю

О нет, только не ты!

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

Но зачем, если есть Alpine?

Баттхёрт многогранен. Если человек настолько дебил, что ему пукан разрывает от systemd, то у него наверняка и другие отклонения есть - тулкитофобия, или боязь GPL, или баттхёрт от зависимостей, или ещё какие-нибудь отклонения. На всех дебилов не угодишь, вот и вынуждены существовать в виде множества мелких кучек с соответствующим запахом и полутора калеками вместо пользователей очередного «правильного» недодистрибутива, удовлетворяющего строго определённому набору баттхёртов и фобий.

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

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

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

Systemd как раз эталонно-модульная система: все API чётко прописаны, хорошо продумано разбиение на независимые компоненты, любой компонент можно без проблем заменить. Другое дело что никто пока не собрался, но тут всё понятно - тех, у кого хватает мозгов написать замену, и так всё устраивает, а безмозглые буратины с баттхёртом могут только бессильно по форумам тявкать: системное программирование это не для идиотов, тут учебником «похапе для дебилов за 12 часов» не обойдёшься.

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

Systemd как раз эталонно-модульная система: все API чётко прописаны, хорошо продумано разбиение на независимые компоненты, любой компонент можно без проблем заменить

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

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

твоё сообщение сарказм? так ведь?

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

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

прочитавший документацию к systemd

так ведь она не успевает за кодом.

судящий о программе

по её говнокоду и отсутствию архитектуры?

я даже не буду опровергать

еще бы))

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

по её говнокоду и отсутствию архитектуры?

Это ты про своё ДНК? Самокритично, но справедливо.

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

timuaz, не позорь доброе имя анонимуса

Систем-д филы, запилите уже новость об новых планах Лёнчика по впиливанию пакетного менеджера на основе ФС :) А то опять не успеете и будете обижаться :)

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

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

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

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

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

Тссс, а то хейтера не поверят. Они вечно несуть чушь что ред хет постоянно всех нагибает и чуть ли не анальным путём припихивает systemd.

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

РедХэт проплачивает продвижение сомнительных разработков несомненно гениального с их точки зрения Лени (в чем, возможно, есть кусок правды, определенный талант все-таки нужен, чтобы создавать правильно впихиваемый высер, так, чтобы незначительные достоинства перекрывали и не позволяли критиковать значительные недостатки), но в то же время это когда-нибудь приведет к значительной унификации дистрибутивов.

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

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