Леннарт Поттеринг (Lennart Poettering) представил (http://lists.freedesktop.org/archives/systemd-devel/2014-Jun...) выпуск системного менеджера systemd 214 (http://www.freedesktop.org/software/systemd/), примечательный интеграцией некоторых новых механизмов для организации изоляции сервисов и минимизации привилегий фоновых процессов, обеспечением поддержки сетевых интерфейсов "veth", GRE и VTI в systemd-networkd, средствами для формирования типовой начинки создаваемых tmpfs-разделов (например, воссоздать базовую структуру /var).Systemd сочетает в себе функции системы инициализации, механизм для контpроля за выполнением фоновых процессов, службу для журналирования событий и средства для управления сервисами, сеансами пользователей и подключаемыми устройствами. Для определения параметров сервисов в 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", который вызывается до конфигурации сети, что может быть полезно, например для скриптов межсетевых экранов.
URL: http://lists.freedesktop.org/archives/systemd-devel/2014-Jun...
Новость: http://www.opennet.me/opennews/art.shtml?num=39985
>Из демона systemd удаленаЛёня, ты ли это?
Дак SysV же поддержка удалена - это же не модная фича. Так что всё в норме.
Нагенегирь в каждый unit файл тупо запуск того-же шелл-скрипта и фсе
Готовится перейти в команду третьегнома?
> Для обеспечения совместимости теперь применяется генерация unit-файлов на
> основе скриптов инициализации.Он меня пугает. Он что, тоже написал AI? Который прошел тест Тюринга и поэтому научился транслировать код в конфиги?
> oh, thank you, lenard, for this sweet retrograde's butthurt, i love you so much!MGIMO finished?
Ask!!! :)
мгимо плохому не научит
> мгимо плохому не научит- How much watch?
- Ten watch?
- Such much?!
You should say something like this: "Did you finish MGIMO?"
> You should say something like this: "Did you finish MGIMO?"I should say something like "you're nuts".
This is a scool of Alexander Nevsky?
Даёшь новую специальность: "Systemd-Администратор"!
Это ещё ладно. Как бы до "Systemd-Оператор" не дошло -- вот это действительно было бы страшно.
Администраторд или администретард
Даёшь новый девайс — iSystemd.
Новости о релизах bleeding edge-софта уже даже как-то и не веселят даже
Как я понимаю временная папка tmpfs теперь в оперативе. Например Audacity активно создает временные файлы, может до нескольких десятков Гб доходить при долгой работе (потом удаляет, конечно). Придется переносить обратно на винт.
tmpfs всегда была в оперативе
> Ты лишь забыл уточнить, в какой ОС.Именно tmpfs как тип файловой системы - вероятно, в люой ОС которая это поддерживает. В этом и был пойнт tmpfs - она реально временная :).
Внезапно, все подобные программы, которые могут сохранить (очень много) в /tmp - audacity в том числе - позволяют задать другой каталог для временных файлов в настройках.
например супер баг (фича) mc - копирование файлов на удалённую ssh.
Умилительно сначала файл копирует в /tmp, потом закачивает. Представь что бывает когда
свободное местов в /tmp < file_size.
Ну так исправляйте баг :) Зачем ему это место, если для этой операции по сути никаких файлов не нужно? Если место будет заканчиваться на / - это будет лучше? Причем тут вообще tmpfs?..
Вот баг, если кто пользуется mc, может исправить.. https://www.midnight-commander.org/ticket/77
Он еще эти файлы после себя может не удалять, оставляя как мусор, судя по всему: http://www.midnight-commander.org/ticket/32Так что пользуйтесь sftp или же сделайте себе alias mc='TMPDIR=/тут-много-места mc'..
А зачем для этого юзать mc?
Загрузчик добавить и ядро можно выкидывать