LINUX.ORG.RU

systemd 214

 ,


1

4

11 июня был представлен очередной релиз системного менеджера systemd, совмещающего в себе функции системы инициализации, обратно совместимой с SysV и LSB, ведения журнала и управления сессиями пользователей. systemd основан на модели зависимостей (в противовес событийной модели), производит отслеживание процессов запущенных сервисов при помощи механизма cgroups ядра Linux, поддерживает механизмы сокет- и dbus-активации и предоставляет удобный декларативный синтаксис unit-файлов для описания демонов и других сущностей, что позволяет производить агрессивную параллелизацию при запуске и остановке сервисов.

В рамках проекта также разрабатывается ряд легковесных приложений и демонов, выполняющих второстепенные, но распространённые задачи по управлению системой — от настройки подсистемы VT (systemd-vconsole-setup) до управления сетью (systemd-networkd) и профилирования загрузки (systemd-bootchart).

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

  • Демоны systemd-networkd, systemd-resolved и systemd-bus-proxyd теперь запускаются не от имени root'а и сбрасывают максимум привилегий.
  • Файл resolv.conf, генерируемый systemd-resolved, теперь находится в /run/systemd/resolve.
  • Убрана зависимость от библиотеки libattr, поскольку требуемый функционал уже значительное время предоставляется библиотекой glibc.
  • Код совместимости с System V init и LSB был вынесен из PID 1 в отдельный генератор unit-файлов.
  • Обнаружение виртуализации (systemd-detect-virt) теперь работает без CAP_SYS_PTRACE.
  • systemd-networkd теперь поддерживает создание виртуальных Ethernet-интерфейсов (veth), а также GRE- и VTI-туннелей.
  • systemd-networkd больше не пытается подгрузить модули, требуемые для некоторых типов туннелей, если ядро не делает этого автоматически.
    Если в вашем случае это так (ядро недостаточно новое), предлагается использовать /etc/modules-load.d для принудительной загрузки этих модулей.
  • В секции [Service] юнит-файлов добавлены опции ProtectedHome= и ProtectedSystem=, позволяющие запретить процессам сервиса запись в /home и / соответственно.
  • В секции [Socket] юнит-файлов добавлены опции SocketUser=, SocketGroup=, RemoveOnStop= и Symlinks=, предназначение которых очевидно из названия.
  • Для опции Restart= в секции [Service] добавлено новое значение on-abnormal, инструктирующее systemd перезапускать сервис только в случаях падения, таймаута запуска или срабатывания сторожевого таймера, но не в случае завершения с ненулевым кодом возврата.
    Рекомендуется использовать Restart=on-abnormal или Restart=on-failure для всех долгоживущих сервисов.
  • В systemd-tmpfiles было добавлено действие C (копирование файлов или директорий), а действие m (установка прав доступа и владения) теперь эквивалентно действию z (установка прав доступа, владения и контекста SELinux с поддержкой выбора файлов по маске).
  • Добавлена первичная поддержка перестроения /var при запуске системы, что в конечном итоге должно позволить запускать контейнеры, имея только немодифицируемый образ /usr и tmpfs в качестве корневой ФС (т. н. stateless system).
    Сопутствующий функционал добавлен в systemd-nspawn (ключ --tmpfs=<путь>) и systemd-tmpfiles (уже упомянутое действие C).

Изменения, касающиеся udev:

  • Во время выполнения действий, касающихся файлов блочных устройств, udev теперь блокирует эти файлы при помощи flock(LOCK_SH|LOCK_NB).
  • Пока файл блочного устройства заблокирован, например, с помощью flock(LOCK_EX), udev будет игнорировать все события для этого устройства — предполагается, что этот механизм будет задействован приложениями разметки дисков.
  • Если файл блочного устройства был открыт для записи, его закрытие вызовет повторное сканирование таблицы разделов и (при необходимости) генерацию событий класса change для файлов устройства и всех его разделов.
  • Файлы устройств /dev/fd* теперь принадлежат группе disk, а не floppy.

>>> Объявление о релизе

★★★★★

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

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

только у Лёни-Из-Редхата яйца достаточно большие чтобы встрепетнуть болото несовместимых между собой дистрибов, собрать их под единым знаменем Systemd..

Опухшие яйца и куриныепетушиные мозгов... настоящий герой!

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

В толксах обсудили - /etc/resolv.conf - это то, что пишет сисадмин. А systemd сам свой резолв трогает и теребит.

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

Ранее это всегда делал dhclient, но его удалил по понятным причинам. Замену ему не нашел, поэтому айпи адреса вбиваю пока вручную.

WTF???????????????????????????????????????????

20 лет назад на posix системах работали dhcp клиенты. Что произошло в 2014-м?

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

Это возможно, если за несоблюдение этого формата будут расстреливать. А так, у нас свобода и gpl, так что каждый мутит как хочет, пользуется чем хочет и это здорово, это единство в многообразии. Так что при появлении этого формата его какая-то часть не будет использовать, либо будет выпиливать и создавать форки. И все равно будет «зоопарк», но разве это плохо? Многим кажется, что если у людей не будет выбора, они придут к единению и будет лучше, но это не так. Я пользуюсь арчиком, потому что все остальное меня не устраивает. У меня есть причины. Поделие Поттеринга мне пока не мешает, но если начнет - будьте уверены, я найду как его выковырять или сменю дистрибутив. И это то, за что я благодарен FOSS. За возможность выбора.

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

Они же генерируют много качественого кода

Воистину, разрабы Systemd генерируют код вместо того, чтобы его писать.

dogbert ★★★★★ ()

Во быдлокодит, уже 214

А так новость почитаешь - хорошая годная поделка, хоть конпеляй

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

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

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

fedora 20, но значительная часть пакетов я пересобрал сам с нужной мне конфигурацией.

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

Ты упоротый. Ну закинь, например, в какой-нибудь systemd-rcd-locald, или как там это называется.

Во, нашёл:

https://bbs.archlinux.org/viewtopic.php?pid=1152201

Поверь, rc.local как shell скрипт нужен будет всегда и вечно (в том или ином виде).

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

systemd-nspawn уже можно использовать вместо LXC/Docker?

Стоит отметить, что systemd-nspawn все же не является полноценной системой контейнерной виртуализации/изоляции — если вам нужно такое решение, воспользуйтесь LXC. Этот проект использует те же самые механизмы ядра, но предоставляет куда более широкие возможности, включая виртуализацию сети. Могу предложить такую аналогию: systemd-nspawn как реализация контейнера похожа на GNOME 3 — компактна и проста в использовании, опций для настройки очень мало. В то время как LXC больше похож на KDE: опций для настройки больше, чем строк кода. Я создал systemd-nspawn специально для тестирования, отладки, сборки, восстановления. Именно для этих задач вам стоит ее использовать — она неплохо с ними справляется, куда лучше, чем chroot.

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

Ты упоротый. Ну закинь, например, в какой-нибудь systemd-rcd-locald, или как там это называется.

Во, нашёл:

https://bbs.archlinux.org/viewtopic.php?pid=1152201

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

Поверь, rc.local как shell скрипт нужен будет всегда и вечно (в том или ином виде).

На серверах да, а на десктопе мне пока не нужен.

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

Почему не /run/etc/resolv.conf? Зачем в пути снова слово systemd? И да dns настраивается единожды при настройки сети, никакой нужны в пересоздании файла при старте нет.

Потому что /etc — он один. Не надо идти по пути BSD и устраивать всякие /usr/etc, /usr/share/etc, /usr/local/etc…

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

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

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

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

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

Репозиториями. Т.е. подходом к тому, что считать стабильным.

vurdalak ★★★★★ ()
Последнее исправление: vurdalak (всего исправлений: 1)

Этот и cоcедний треды — прям детекторы дремучих ретроградов. Прямо таких cебе идейных ватников от линупcа, хающих systemd только за то, что не cмогли его оcилить. Фашиcтcкая хунта Поттеринга. Духовные cкрепы и мудроcть веков, заключенные в инитcкриптах. Вражеcкий юникод не пройдет. Только KOI8-R (а еще лучше КОИ7), только хардкор. Только оcиливший double fork dance должен пиcать демонов. Только ванильный Bourne Shell без поддержки даже богомерзкой иcтории команд!

...А вдалеке cлышны cтенания о безвременном забвении sendmail от любителей заворачиватьcя в раcпечатку его конфига и онанировать на разные аcпекты жизни и творчеcтва Эрика Оллмена. Им вторят любители переcобирать qmail. И наконец, оcобое меcто в кунcткамере занимает cорт одминов, у которых наcтоящим юникcом являетcя FreeBSD 4.11, а для деcктопа годитcя только Windows 98 (такой экземпляр мне повcтречалcя в 2007 году).

Жаль только, любители кобола вымерли или на пенcии вдали от компьютеров. В принципе, пожалуй, кобол — один из немногих наcтолько энтерпрайзных языков, что я его идейных любителей и не припомню вовcе.

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

Да хочется красивое решение.

Ага, ядерный модуль, загружающий из sql сервера список команд на автозагрузку.

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

Не передёргивай. Тут кроме ретроградов тут есть футуристы, принципиально не пользующиеся скриптами, боящиеся как огня ntpd, а конфиг sendmail - это просто внутренняя база sendmail-а, конфиг для сисадминов занимает несколько строчек на m4. И, кстати, фанаты qmail также хаяли конфиг sendmaila, утверждая, что параметры командной строки вместо конфига намного прогрессивнее. Слава Столлману, не прижилось.

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

/.../etc - хороший способ, а то ловить параметры по случайным названием - то ещё развлечение...

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

детекторы дремучих ретроградов. Прямо таких cебе идейных ватников от линупcа, хающих systemd только за то, что не cмогли его оcилить. Фашиcтcкая хунта Поттеринга. Духовные cкрепы и мудроcть веков

Шимончег, перестань смотреть телевизор. Ну пожалуйста...

tailgunner ★★★★★ ()

Системд не нужен. Он уже превратился в операционную систему в операционной системе. Дойдет до того что напишут сосбственное ядро, графич сервер, менеджер пакетов и тд. Или внесут свои костыли в эти проекты, что нельзя будет выпилить системд без переписания определенной части

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

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

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

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

Gentoo - воплощение мечты свободы выбора! Дарит тебе технологию Gento Prefix.

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

Ну всякие бывают...

Собственно за поступательное развитие в ПРАВИЛЬНОМ направлении (unicode, OpenRC, ..) и без революций типа сыстемд, которые ни к чему хорошему не приведут.!

multihead ()

В секции [Service] юнит-файлов добавлены опции ProtectedHome= и ProtectedSystem=, позволяющие запретить процессам сервиса запись в /home и / соответственно.

ProtectedHome= позволяет не только запретить сервису запись в /home, но и чтение тоже запретить. Параноики одобряют.

anonymous ()

Изменения, касающиеся udev

И скромно умолчано про то, что эти изменения поломали совместимость с util-linux:

We temporarily dropped the "-l" switch for fsck invocations, since they collide with the flock() logic above. util-linux upstream has been changed already to avoid this conflict, and we will readd "-l" as soon as util-linux with this change has been released.

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

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

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

+100500

идите взад на свою винду - там все уже сделано для вас

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

Шимончег, перестань смотреть телевизор. Ну пожалуйста...

Я его не cмотрю, это эманации ЛОРа так влияют

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

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

Лёня написал универсальное решение, годное для любых дистрибутивов. Накостылять же несовместимые баш-скрипкити поверх утилит из прошлых веков а потом назвать это «Дистрибутивом» - неспортивно. Раскидать системные файлы конфигурации «куда угодно лишь бы не как у других» - неспортивно. И ни на йоту не приближает ЕГО. А зима близко.

Не получится ли как в .NET (языков много, а отличия лишь в синтаксисе)

Это одна крайность. Другая крайность - когда меняют всё, что под руку попадется - ядро, инит, кореутилс. Так, что вроде перешел с одного дистриба линукса на другой - а по ощущениям (и по сложности) - словно новую ОС осваиваешь

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

Эманации влияют, говоришь... тогда алюминиевая шапочка. С заземлением.

tailgunner ★★★★★ ()

А где вот почитать подробнее и системно про этот systemd, включая последние фичи (networkd и так далее)? Последнее, что было, это описание в блоге Поттеринга, но оно уже достаточно древнее.

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

да, но зависимости будут искатся в своем репозитарии, а не в существующем. обе репы никак не связаны между собой.

а так понятно, что я могу установить пакетный менеджер deb или того же арча pacman. Но их наличие не улучшит ничего для меня.

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

208, она же первая из объявленных stable с длительной поддержкой.

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

да, но какая связь между гениальностью и копирайтером эдисоном? Т.е. какова истинность его высера мнения высказывания?

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

Это мануалы, а мне бы что-то типа The systemd for Administrators, но для свежих версий.

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

Не перегружен костылями как deb: Установить пакет? apt-get. Поискать пакет? aptitude. Что в пакете? dpkg. И вот так на каждый чих свой костыль с треугольными колёсами, даже для редактирования changelog отдельный helper, что уж совсем за гранью.

Как говорится ОМГ, ФЕЙСПАЛМ, 4.2
Дальше можно не читать.

ritsufag ★★★★★ ()
Ответ на: комментарий от anonymous
pacman -Qlq pacman | grep bin

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

anonymous ()

с каждым релизом все лучше и лучше.

garik_keghen ★★★★★ ()

Все хорошЕе и хорошЕе. Нет предела совершенству )))

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