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)
Ответ на: комментарий от eugeno

Я не о том, что проще или сложнее, а об оправданности кукарекания по поводу систем инициализации в принципе.

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

А systemd тоже никто не стал бы просто так использовать

Угу, госдеп проплатил.

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

А релиз upstart вынесли в мини-новость. троллфейс.джпег

Видимо их сортируют по уровню вызываемой ненависти.

(Еще троллфейс)

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

А может, потому что рады не использовать, да не вариант уже? Ну вот завтра MS долбанет снова вытащить COM и все начнут писать на COM, а куда денешься?

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

осижываю на Дебиане... Как только будет окончательный перелаз на сыстемДэ - перехожу на FreeBSD. Это закат мира GNU/Linux, как ни прискорбно осознавать.

P.S. Пора откапывать UNIXWare. Да. Как 10 лет назад.

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

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

когда Gentoo откажется от своего велосипеда, OpenRC?

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

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

Когда пользователи начнут массово отказываться от генты

А зачем им от неё отказываться? Пусть не так элементарно, как в дебиане, но сменить систему инициализации там можно без особых проблем.

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

И? Он от этого в дебьяне автоматом появился? Обнова xen в стейбле была 15 мая 2013, в котором проброс так и не работал и 20 августа 2014. Даже если в последней обнове проброс заработал, не кажется, что 15 месяцев на исправление поломки, внесённой секьюрити апдейтом, это перебор?

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

А вот в F18 был треш и угар

F15, дальше только твои кривые руки. с F17 начался золотой век.

Кстати, а что в итоге в RHEL запихали?

то что было в F19

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

Пусть не так элементарно, как в дебиане, но сменить систему инициализации там можно

Сменить генту на кальку или саб тоже можно элементарно. Это тоже способ изменить неустраивающий дефолт.

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

Какая прелесть: задорукий аникей не знает, что обновления нужно в screen/tmux запускать! Ату его! Ату!

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

Улетел вместе со штейблом и старой крысой.

Конечно, и багрепорт никто не написал.

i686, шоле?

i386, но и на amd64 было примерно столько же.

где выхлоп /proc/$PID/status

Name:	gnome-shell
State:	S (sleeping)
Tgid:	3577
Pid:	3577
PPid:	3486
TracerPid:	0
Uid:	1000	1000	1000	1000
Gid:	1000	1000	1000	1000
FDSize:	256
Groups:	0 24 25 27 29 30 44 46 105 110 112 1000 
VmPeak:	  620880 kB
VmSize:	  591092 kB
VmLck:	       0 kB
VmPin:	       0 kB
VmHWM:	  156856 kB
VmRSS:	  156616 kB
VmData:	  240932 kB
VmStk:	     284 kB
VmExe:	      12 kB
VmLib:	   46528 kB
VmPTE:	     732 kB
VmSwap:	    3168 kB
Threads:	9
SigQ:	0/14857
SigPnd:	0000000000000000
ShdPnd:	0000000000000000
SigBlk:	0000000000000000
SigIgn:	0000000001001000
SigCgt:	0000000180014000
CapInh:	0000000000000000
CapPrm:	0000000000000000
CapEff:	0000000000000000
CapBnd:	ffffffffffffffff
Cpus_allowed:	f
Cpus_allowed_list:	0-3
Mems_allowed:	1
Mems_allowed_list:	0
voluntary_ctxt_switches:	1499053
nonvoluntary_ctxt_switches:	134704

И день аптайма при рабочем саспенде — это очень мало.

Тогда где пруф на то, что он протекает?

Например. Про падения не нашёл, в гугле забанили; встречал сообщения о падениях вплоть до 4.4, которая была в сквизе.

Это не пруф, пруфом считается грамотно оформленный багрепорт.

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

Я не о том, что проще или сложнее, а об оправданности кукарекания по поводу систем инициализации в принципе.

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

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

И? Он от этого в дебьяне автоматом появился? Обнова xen в стейбле была 15 мая 2013, в котором проброс так и не работал и 20 августа 2014. Даже если в последней обнове проброс заработал, не кажется, что 15 месяцев на исправление поломки, внесённой секьюрити апдейтом, это перебор?

Это вина отдельно взятого мейнтейнера. Обычно патчи приходят в дебиан очень оперативно. Не надо говорить, что в стейбл ничего не принимают, достаточно посмотреть, как часто прилетают патчи безопасности. Если это что-то серьёзное, то прилетает в тот же день, когда был обнаружен, максимум на следующий день. Что касается данного бага, то нужно бить палкой по голове мейнтейнера.

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

Хы-хы. На выходных проезжал мимо коттеджа, на котором висит объява: «Продам. Ц. 21 млн руб». И нет, до Москвы - ~три с полтиной тыщи верст, и коттедж не самый большой, и не самый помпезный, мои товарищи сейчас помпезнее себе строят ;)

Так что, далеко не у всех чемоданные настроения.

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

Ну, вообще мне здесь заясняют, что debian stable - как те пресловутые 640Kb.

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

Вот что меня в линуксе давно не напрягает, так это скорость загрузки. То есть, я бы сказал, от слова «совсем». Что на роутере с dd-wrt, что на планшетах и записной книжке с ондроедом, что на десктопах и ноуте. И да, у меня на сравнимых десктоп-системах на жестких дисках на одной стоит классический SysV, на другой - systemd, так что, имею возможность оценивать вживую.

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

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

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

ИМХО, стандартизация — это прекрасно.

Был такой товарищ, Прокруст, тоже очень любил стандартизацию.

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

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

Alsvartr ★★★★★
()

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

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

Т.е. его используют не за просто так? Хорошая новость, куда подходить свою долю забирать?

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

Причём тут непосредственная материальная заинтересованность?

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

Я рад за тебя, действительно.

Но есть люди, которых это напрягает. Например, люди, которые мало знакомы с компами, не любят, когда комп «тупит и долго грузится».

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

До берлинского митапа с Леннартом полтора часа осталось

а ты еще не придумал что подсыпать ему в пиво...

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

К слову, меня тоже напрягало, когда мой восьмиядерный зверь, со сверхбыстрой памятью DDR и новейшими HDD, с классическим последовательным init бутался со скоростью винды в конце 90-х на компе средней паршивости.

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

Но есть люди, которых это напрягает.

А есть люди которых системд напрягает. Или они не люди?

Например, люди, которые мало знакомы с компами, не любят, когда комп «тупит и долго грузится».

винда она такая...

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

А есть люди которых системд напрягает. Или они не люди?

Разумеется нет - они тупые жирные тролли.

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

руки?

Нет, на форумах достаточно было жалоб. Сначала я тоже не верил, потом просто сделал LVM-снапшот рута, перевел систему на systemd, и был реально удивлен разницей. Так оно и осталось на systemd.

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

А есть люди которых системд напрягает. Или они не люди?

Пусть юзают не-systemd. В чём проблема? Мэнтейнеры выпилили все альтернативы? Тогда сами идите в мэнтейнеры и поддерживайте альтернативный init, ну или форкайте/создавайте свой дистрибутив.

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

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

gcc выпиливается где-нибудь помимо встраиваемых систем с ограниченными ресурсами? Или это в целях безопасности?

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

Не обязательно, достаточно tty. Вообще, иксовыми эмуляторами не стоит пользоваться без особой нужды, а уж для системно важных задач — и подавно.

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

На форумах есть и обратные жалобы, кстати ;) Т.е. система с системд долго грузится - потом народ ковыряет что да как да почему...

Но не в этом дело, на работе десктопы (IC-2.2 2004г, 512озу, 5400 винты) с sysv грузится за минуту (от включения кнопки до возможности работы в системе). Я считаю это нормально. Свежие компьютеры - загрузка еще быстрее...

Если брать не загрузку от загрузчика до DM, а общее время от включения до возможности работы, то (если на систему кучу сервисов не навесили, мы же о десктопе раз о «простых юзерах»), разница ну не так уж фатальна - на некоторых новых стационарах секунд по 10-15 только до загрузчика раскочегаривается...

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

Конечно, и багрепорт никто не написал.

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

Тогда где пруф на то, что он протекает?

У меня нет. Еле вычистил из системы остатки всяких гномокед и повторять этот процесс не собираюсь. Может, у Extraterrestrial остались.

пруфом считается грамотно оформленный багрепорт

Проблема падучести плазмы в её архитектуре. Вся работа по их устранению сводилась к устранению потенциальных причин и прикручиванию безболезненного перезапуска. На что багрепорт оформлять, на переписывание плазмы?

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

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

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

Пусть юзают не-systemd. В чём проблема?
Это OpenSource

наша песня хороша, запевай сначала!

Это вы так догоняете кол-во сообщений чтоб популяризировать системд? :)

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

Например, люди, которые мало знакомы с компами, не любят, когда комп «тупит и долго грузится».

Эта проблема systemd так и не решена, кстати.

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

systemd-kernelmoduled

Ты хотел сказать systemd-load-modules.service? :)

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