The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Новая версия systemd 214

12.06.2014 17:07

Леннарт Поттеринг (Lennart Poettering) представил выпуск системного менеджера systemd 214, примечательный интеграцией некоторых новых механизмов для организации изоляции сервисов и минимизации привилегий фоновых процессов, обеспечением поддержки сетевых интерфейсов "veth", GRE и VTI в systemd-networkd, средствами для формирования типовой начинки создаваемых tmpfs-разделов (например, воссоздать базовую структуру /var).

Systemd сочетает в себе функции системы инициализации, механизм для контроля за выполнением фоновых процессов, службу для журналирования событий и средства для управления сервисами, сеансами пользователей и подключаемыми устройствами. Для определения параметров сервисов в Systemd используется набор конфигурационных unit-файлов, вместо оформления сценариев запуска в виде shell-скриптов. Система нацелена на интенсивную параллелизацию выполнения сервисов на этапе загрузки системы, вобрав в себя лучшие черты таких систем, как launchd (Mac OS X), SMF (Solaris) и Upstart (Ubuntu, старые версии Fedora). В настоящее время на использование systemd уже перешли такие дистрибутивы, как Fedora, openSUSE, Mandriva и Arch Linux, одобрен переход дистрибутивов Debian и Ubuntu по умолчанию на systemd.

Наиболее существенные изменения:

  • В systemd-nspawn реализована опция "--tmpfs" для монтирования tmpfs-раздела к заданной директории, структура которой может быть воссоздана по специально определённому шаблону. Например, при запуске контейнера можно разместить /var в tmpfs и реконструировать базовое содержимое данного раздела. Для выполнения данной операции достаточно выполнить команду "systemd-nspawn -D /srv/mycontainer --read-only --tmpfs=/var -b", что создаст /var поверх доступной только на чтение основы контейнера и сформирует начинку для пустой директории /var. После остановки контейнера, содержимое /var будет очищено.

    Указанный подход позволяет упростить запуск множества типовых экземпляров контейнера на основе одного базового образа директорий и не заботиться об их изоляции друг от друга. В настоящее время в systemd-tmpfiles добавлен шаблон для воссоздания структуры иерархии /var, а для сервисов реализованы средства создания недостающих в /var директорий. В следующем выпуске ожидается появление возможности загрузки контейнеров с примонтированным через tmpfs пустым разделом /etc или корневым разделом, что позволит ограничиться подготовкой типового содержимого раздела /usr.

    Нововведению также сопутствует несколько улучшений в systemd-tmpfiles: добавлена поддержка строк с типом операции "C", предназначенных для копирования в новый раздел файлов или целых директорий; строки с типами "m" и "z" теперь полностью эквиваленты (рекомендуется использовать "z"); при задании прав доступа теперь допустимо использовать префикс "~", который воспринимается как маска для существующих файлов и директорий.

  • Для сервисов обеспечена поддержка настроек "ReadOnlySystem" и "ProtectedHome", которые применены ко всем длительно работающим процессам systemd. При указании "ReadOnlySystem" разделы /usr и /boot для указанного сервиса будут примонтированы в режиме "только для чтения", что заблокирует возможность несанкционированного изменения системной части операционной системы. При указании "ProtectedHome" в режиме только для чтения будут примонтированы разделы /home и /run/user или данные разделы будут заменены на пустые директории, что позволит добиться ограничения доступа к конфиденциальным пользовательским данным.
  • В сервисе "systemd-networkd", предназначенном для унификации компонентов дистрибутивов, используемых для настройки параметров сети, добавлена поддержка настройки виртуального ethernet (интерфейс "veth") для соединения контейнеров, а также поддержка туннелей GRE и VTI.
  • В udev реализована экспериментальная возможность установки блокировок (flock(LOCK_SH|LOCK_NB)) на файл дискового устройства во время выполнения действия с дисковыми разделами. Приложения, такие как редакторы разделов, могут использовать данную особенность для установки flock(LOCK_EX) как признака временной занятости устройства, при котором udev приостановит выполнения всех действий по работе с диском и после освобождения блокировки перечитает таблицу разделов.
  • Из демона systemd удалена поддержка скриптов инициализации SysV и LSB. Для обеспечения совместимости теперь применяется генерация unit-файлов на основе скриптов инициализации. Указанное изменение привело к заметной чистке обработчика PID 1 от устаревшего кода;
  • Сокращены привилегии различных компонентов systemd: Определение доступных механизмов виртуализации теперь выполняется без получения повышенных привилегий, т.е. systemd-detect-virt не требует установки прав CAP_SYS_PTRACE. Systemd-networkd теперь запускается под непривилегированным пользователем "systemd-network" и получает доступ к необходимым возможностям через capabilities-режимы CAP_NET_ADMIN, CAP_NET_BIND_SERVICE, CAP_NET_BROADCAST и CAP_NET_RAW, что подразумевает потерю возможности записи в файлы с правами root. Аналогичный сброс прав за счёт установки необходимых capabilities и запуска под непривилегированными пользователями обеспечен для systemd-resolved и systemd-bus-proxyd;
  • В Socket-юнитах обеспечена поддержка новых опций: "SocketUser=" и "SocketGroup=" для установки владельца для файлов-сокетов AF_UNIX и FIFO. "RemoveOnStop=" для удаления FIFO и других привязанных к сокетам спецфайлов; "Symlinks=" для создания символических ссылок на файлы с сокетами и FIFO при заведении определённых unix-сокетов;
  • В опцию "Restart=" добавлена поддержка свойства "on-abnormal", указывающего на необходимость автоматического перезапуска при любых ненормальных завершениях, включая нештатные сигналы, core-дампы, истечения таймаутов и срабатывание watchdog-таймеров. Перезапуск не производится только при выходе с кодами завершения или по явным сигналам. От "on-failure" свойство "on-abnormal" отличается допустимостью завершения по всем кодам возврата, в том числе сигнализирующим об ошибках;
  • Если настройка "InaccessibleDirectories=" в сервисе ссылается на точку монтирования, то осуществляется попытка отмонтирования для данного сервиса;
  • Настройка "ReadOnlyDirectories=" в сервисах и параметр "--read-only" в systemd-nspawn теперь рекурсивно применяются ко всем точкам монтирования;
  • Юниты для монтирования теперь могут создаваться в прозрачном режиме через API;
  • Прекращена зависимость от libattr, так как функции для работы с расширенными атрибутами файлов уже присутствуют в glibc.
  • Добавлен новый пассивный целевой юнит "network-pre.target", который вызывается до конфигурации сети, что может быть полезно, например для скриптов межсетевых экранов.


  1. Главная ссылка к новости (http://lists.freedesktop.org/a...)
  2. OpenNews: В systemd добавлены новые возможности по изоляции контейнеров
  3. OpenNews: Новая версия systemd 213 с поддержкой службы синхронизации времени
  4. OpenNews: Линус Торвальдс выдвинул ультиматум на приём патчей от разработчиков systemd
  5. OpenNews: Новая версия systemd 212
  6. OpenNews: Новая версия systemd 211
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/39985-systemd
Ключевые слова: systemd
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (25) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 17:54, 12/06/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +12 +/
    >Из демона systemd удалена

    Лёня, ты ли это?

     
     
  • 2.6, vitalif (ok), 18:15, 12/06/2014 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Дак SysV же поддержка удалена - это же не модная фича. Так что всё в норме.
     
     
  • 3.43, Elhana (ok), 04:31, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нагенегирь в каждый unit файл тупо запуск того-же шелл-скрипта и фсе
     
  • 2.44, pkdr (ok), 11:19, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Готовится перейти в команду третьегнома?
     

  • 1.9, Аноним (-), 18:36, 12/06/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    > Для обеспечения совместимости теперь применяется генерация unit-файлов на
    > основе скриптов инициализации.

    Он меня пугает. Он что, тоже написал AI? Который прошел тест Тюринга и поэтому научился транслировать код в конфиги?

     
     
  • 2.14, Аноним (-), 18:55, 12/06/2014 [^] [^^] [^^^] [ответить]  
  • +7 +/
    > oh, thank you, lenard, for this sweet retrograde's butthurt, i love you so much!

    MGIMO finished?

     
     
  • 3.19, Константавр (ok), 19:20, 12/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ask!!! :)
     
     
  • 4.35, Аноним (-), 23:02, 12/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    мгимо плохому не научит
     
     
  • 5.38, Аноним (-), 23:30, 12/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > мгимо плохому не научит

    - How much watch?
    - Ten watch?
    - Such much?!

     
  • 3.34, maxis11 (ok), 22:56, 12/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    You should say something like this: "Did you finish MGIMO?"
     
     
  • 4.37, Аноним (-), 23:30, 12/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > You should say something like this: "Did you finish MGIMO?"

    I should say something like "you're nuts".

     
  • 2.50, 1 (??), 20:49, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    This is a scool of Alexander Nevsky?
     

  • 1.13, kholeg (ok), 18:52, 12/06/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Даёшь новую специальность: "Systemd-Администратор"!
     
     
  • 2.15, A.Stahl (ok), 18:55, 12/06/2014 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Это ещё ладно. Как бы до "Systemd-Оператор" не дошло -- вот это действительно было бы страшно.
     
  • 2.33, pamela anderson (?), 22:34, 12/06/2014 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Администраторд или администретард
     
     
  • 3.45, Alex (??), 13:19, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Даёшь новый девайс — iSystemd.
     

  • 1.20, Аноним (-), 19:30, 12/06/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Новости о релизах bleeding edge-софта уже даже как-то и не веселят даже
     
  • 1.25, Аноним (-), 20:32, 12/06/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Как я понимаю временная папка tmpfs теперь в оперативе. Например Audacity активно создает временные файлы, может до нескольких десятков Гб доходить при долгой работе (потом удаляет, конечно). Придется переносить обратно на винт.
     
     
  • 2.28, Аноним (-), 21:26, 12/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    tmpfs всегда была в оперативе
     
     
     
    Часть нити удалена модератором

  • 4.39, Аноним (-), 23:33, 12/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Ты лишь забыл уточнить, в какой ОС.

    Именно tmpfs как тип файловой системы - вероятно, в люой ОС которая это поддерживает. В этом и был пойнт tmpfs - она реально временная :).

     
  • 2.36, Stax (ok), 23:12, 12/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Внезапно, все подобные программы, которые могут сохранить (очень много) в /tmp - audacity в том числе - позволяют задать другой каталог для временных файлов в настройках.
     
     
  • 3.46, анононо (?), 13:46, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    например супер баг (фича) mc - копирование файлов на удалённую ssh.
    Умилительно сначала файл копирует в /tmp, потом закачивает. Представь что бывает когда
    свободное местов в /tmp < file_size.
     
     
  • 4.47, Stax (ok), 14:08, 13/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну так исправляйте баг :) Зачем ему это место, если для этой операции по сути никаких файлов не нужно? Если место будет заканчиваться на / - это будет лучше? Причем тут вообще tmpfs?..
    Вот баг, если кто пользуется mc, может исправить.. https://www.midnight-commander.org/ticket/77
    Он еще эти файлы после себя может не удалять, оставляя как мусор, судя по всему: http://www.midnight-commander.org/ticket/32

    Так что пользуйтесь sftp или же сделайте себе alias mc='TMPDIR=/тут-много-места mc'..

     
  • 4.51, Аноим (?), 13:05, 14/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    А зачем для этого юзать mc?
     

  • 1.42, Аноним (42), 04:21, 13/06/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Загрузчик добавить и ядро можно выкидывать
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру