LINUX.ORG.RU

Upstart


4

0

Всего сообщений: 12

В Linux Mint будет выбор между systemd и Upstart

Группа Linux General

Об этом заявил главный разработчик дистрибутива Linux Mint — Clement Lefebvre. По его словам, он пока не намерен прекращать поддержку системы инициализации upstart, дав пользователям возможность выбора между проверенными решениями и новыми технологиями.

В будущих выпусках Cinnamon 2.6 и MATE 1.10 будет предоставлена возможность использовать как ConsloleKit, так и systemd-logind. Таким образом разработчики смогут более точно определять причины проблем с пользовательскими сеансами и управлением питанием, так как станет легко отделить проблемы, специфичные для графического окружения и менеджера сеансов.

>>> Подробности

 , ,

Sunderland93
()

Разработчики Debian не приняли правило о поддержке нескольких систем инициализации

Группа Debian

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

Референдум был инициирован членом технического комитета Яном Джексоном, который является сторонником системы инициализации upstart. Ян считает, что необходимо предотвратить зависимость пакетов от какой-либо конкретной системы инициализации, в частности - рост числа пакетов, зависимых от systemd.

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

>>> Подробности

 , , ,

anonymous
()

Upstart 1.13.1

Группа Open Source

Тихо и незаметно состоялся выпуск очередной версии событийно-ориентированной системы инициализации Upstart. Список нововведений следующий:

  • Исправление механизма переключения между состояниями сервиса при его перезапуске.
  • Убран запуск сессии сервисов в chroot по умолчанию. Для возвращения прежнего поведения введена опция "--chroot-sessions".
  • Убран баг самопроизвольного изменения значения umask при перезапуске сессионных сервисов..
  • Добавлена опция для initctl "--confdir", позволяющая задавать множество путей к директориям файлов конфигурации системных сервисов. Также добавлены опции "--append-confdir" и "--prepend-confdir" для максимально гибкой настройки.
  • Теперь команды «set-env» и «unset-env» для initctl могут воспринимать множество переменных окружения за раз.
  • Добавлена поддержка возможностей cgroups с помощью введения новой стансы «cgroup». Она использует в своей работе утилиту cgroupmanager и доступна для всех видов сервисов - как для системных, так и для сессионных. Поддержка cgroup's может быть по желанию отключена при сборке из исходного кода. Примеры использования новой стансы см. в мане по init.
  • Убран баг с падением сессионного сервиса при его рестарте с использованием команы «initctl unset-env».

А также внесены многочисленные дополнения в документацию и тесты.

Ссылка на ChangeLog для upstart 1.13.

>>> Подробности

 

LongLiveUbuntu
()

Upstart 1.12

Группа Open Source

7 марта сего года вышла очередная мажорная версия системы инициализации Upstart. Список изменений и улучшений в ней следующий:

  • Больше не наблюдается явление косвенной утраты владения консолью — особенно сильно было заметно в средах-контейнерах.
  • Исправлена ошибка, которая могла вызывать некорректное завершение утилиты initctl, вызванной с командами семейства «enviroment».
  • Устранено некорректное использование внутренней переменной, которое могло привести к падению.
  • Исправлено состояние перезапуска, которое могло установиться при использовании неверно написанных сервисов.
  • Исправлено состояние перезапуска, которое могло установиться при сериализации сессии D-Bus.
  • Утилита init-checkconf теперь допускает к использованию файлы сервисов пользовательских сессий и может исполняться от имени root.
  • В мост upstart-socket-bridge добавлена поддержка IPv6.
  • Теперь утилита telinit может работать в системе в отсутствие системной шины D-Bus.
  • Многочисленные добавления и исправления в тестах и документации.

>>> Подробности

 

LongLiveUbuntu
()

Ubuntu переходит на systemd

Группа Ubuntu Linux

Mark Shuttleworth анонсировал переход Ubuntu на systemd вслед за Debian.

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

>>> Подробности

 , , ,

plm
()

Debian опять не смог определиться с системой инициализации по умолчанию

Группа Debian

По итогам голосования, проведенного среди членов Технического комитета Debian о выборе системы инициализации по умолчанию для Debian Jessie, победил вариант «дальнейшее обсуждение». Это уже вторая попытка Технического комитета решить вопрос путем голосования. Предыдущая неудачная попытка была 28 января.

В качестве мотивов, по которым участники поставили дальнейшее обсуждение выше других альтернатив, можно отметить следующее. Steve Langasek считает, что формулировки опций в бюллетене для голосования подлежат переработке. Кроме того, было высказано сомнение в том, что конституция Debian позволяет Техническому комитету принимать соответствующее решение.

>>> Подробности

 , ,

AEP
()

Технический комитет Debian не смог выбрать новую систему инициализации: ничья между Upstart от Canonical и systemd от Red Hat

Группа Debian

Всего несколько дней назад перевес был на стороне systemd. Тогда четыре из восьми членов технического комитета Debian высказались за systemd, а три за Upstart. Своё мнение на тот момент не высказал лишь Andreas Barth. Вчера же Andreas Barth наконец-то сделал выбор, а выбор этот в пользу Upstart от компании Canonical.

>>> Подробности

 , ,

anonymous
()

Upstart 1.11

Группа Open Source

Тихо и незаметно вышла очередная версия прогрессивной системы инициализации Upstart. Список нововведений и изменений следующий:

  • Добавлена опция --no-dbus для программы init, позволяющая отключить реакцию на события, передаваемые по мосту upstart-event-bridge.
  • При перезапуске инит-сессии её окружение теперь сериализуется.
  • Модули upstart-dbus-bridge и upstart-socket-bridge теперь не затирают существующую переменную PATH.
  • Модуль upstart-file-bridge теперь может отслеживать событие создания директории. Так же сокращен объем отладочного вывода по умолчанию.
  • upstart-local-bridge позволяет теперь задавать дополнительные проверки корректности ввода.
  • Увеличена скорость завершения сессии.
  • Добавлены опции конфигурации --disable-local-bridge и --disable-socket-bridge.
  • Переписаны интеграционные тесты для модулей Session Init и upstart-file-bridge.
  • Теперь маска режима создания файлов сохраняется для Session Init.
  • Добавлено соединение Session Init с сессией службы D-Bus по запросу.
  • Ускорено время проверки соблюдения соответствия ABI.

А также была обновлена документация и внесены многочисленные уточнения в тесты.

>>> Подробности

 ,

LongLiveUbuntu
()

Upstart 1.10

Группа Linux General

Тихо и незаметно вышла очередная версия прогрессивной системы инициализации Upstart. Список новшеств с версии 1.8 таков:

  • Apparmor поддерживает два новых правила: 'apparmor load' и 'apparmor switch'.
  • Теперь сериализации подвергаются все объекты.
  • Доступно уничтожение унаследованных переменных окружения в инит-сессиях.
  • Возможность определять множество директорий с файлами конфигурации во время исполнения инит-сессии.
  • libupstart: клиентская библиотека для взаимодействия с Upstart из сторонних продуктов.
  • upstart-dbus-bridge: новый переходник для взаимодействия с сигналами D-Bus.
  • Множество мелких улучшений и исправлений.
  • upstart-local-bridge: новый переходник, обеспечивающий запуск заданий Upstart через локальные сокеты.
  • upstart-dconf-bridge: новый переходник для инит-сессий.
  • upstart-dbus-bridge: новая опция '--bus-name' для доступа к переменным DBus включенным в обработку событий dbus-event(7).
  • Новая строфа «reload signal» для возможности заданиям определить произвольный сигнал, который можно послать главному процессу.
  • Включение в инит-сессии заданий-образцов.
  • Исправление обработки изолированных сессий с помощью re-exec.
  • Исправление обработки завершения инит-сессий.
  • Новый модуль для Python 3 и сопутствующий ему набор тестов, предназначенные для тестирования Upstart, работающего как PID 1 и в режиме инит-сессии - привилегированном или нет.

>>> Подробности

 ,

LongLiveUbuntu
()

Upstart 1.8

Группа Open Source

22 марта сего года вышла очередная версия системы инициализации Upstart. В состав новой версии включено два новых компонента:

  • upstart-file-bridge — позволяет привязать выполнение работ к событиям, связанным с изменением, созданием или удалением файлов и директорий. В путях допускается использование масок. Например, для генерации события при создании crash-файлов можно использовать конструкцию «start on file FILE=/var/crash/*.crash EVENT=created»;
  • upstart-monitor — утилита для наглядного мониторинга за потоком событий в Upstart.

Взято с opennet.ru

>>> Подробности

 

LongLiveUbuntu
()

Upstart 1.7

Группа Linux General

4-го марта сего года вышла новая версия системы инициализации Upstart.

Список нововведений таков:

  • Новые команды для initctl: set-env, unset-env, get-env, list-env, reset-env, list-sessions (кроме последней, относящейся к D-Bus).
  • Новые сигналы для D-Bus: EventEmitted, Restarted - и метод EndSession.
  • Возможность запуска с PID > 1 для управления пользовательскими сессиями.
  • Новый мост событий Upstart между системным и пользовательским уровнями.
  • Возможность для пользовательских заданий читать и изменять файлы конфигурации, находящиеся во freedesktop-совместимых локациях.
  • Возможность для пользовательских заданий запрашивать останов системы.

>>> Подробности

 

LongLiveUbuntu
()

systemd — новый подход к инициализации системы

Группа Open Source

Lennart Poettering, сотрудник компании Red Hat, представил концепцию принципиально нового механизма управления инициализацией системы — systemd (system daemon), которая вобрала в себя достоинства классического System V init и более современных launchd (Mac OS X), SMF (Solaris) и Upstart (Ubuntu, Fedora), но при этом лишена многих их недостатков. В разработке этого проекта ему помогали сотрудники Red Hat, Novell, IBM, Intel и Nokia.

systemd опирается на современные linux-технологии: cgroups, AutoFS, D-Bus, и при этом совместим с исторически устоявшимися механизмами: init-скриптами, стандартными командами shutdown, poweroff и т.п. Предоставляемый systemd функционал позволяет заменить не только систему инициализации, но и ряд других подсистем, в частности, cron, (x)inetd, xdm/kdm/gdm/..., частично даже SELinux.

Основные идеи, использованные при создании systemd:

  • Контроль над сокетами. Многие демоны, запускаемые при инициализации, взаимодействуют с другими демонами через unix domain и сетевые сокеты, и большинство существующих систем инициализации запускают демона-клиента только после того, как демон-сервер запустится и создаст сокет. Вместо этого, systemd создает сокеты, а затем запускает демонов, передавая им эти сокеты. Даже если демон-клиент запустится быстрее и начнет использовать сокет раньше сервера, ничего страшного не произойдет: его запрос будет буферизован и передан серверу, как только тот сможет его обработать. Такой подход уже используется в Mac OS X (launchd), позволяя этой ОС достигать впечатляющей скорости загрузки.

    Аналогичный принцип используется systemd и при запуске служб, использующих шину D-Bus.

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

  • Фоновое монтирование. Такие операции, как монтирование, проверка и активация квот файловых систем, занимают весьма значительную долю загрузочного времени. В большинстве современных систем они выполняются последовательно, до запуска всех демонов. systemd же предлагает монтировать не-жизненно-важные ФС только тогда, когда они кому-то понадобятся. Для этого используется механизм AutoFS. Например, многие служебные демоны вовсе не обязаны ждать, пока смонтируется огромный и к тому же зашифрованный /home.

    Разумеется, этот подход неприменим к /, /proc, /sys и т.п.

  • Минимизация числа вспомогательных процессов. В настоящее время значительная часть работ по инициализации производится шелл-скриптами, что приводит к колоссальным времязатратам. В частности, Леннарт пишет:

    On my system the scripts in /etc/init.d call grep at least 77 times. awk is called 92 times, cut 23 and sed 74,

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

    В качестве альтернативы Леннарт предлагает предлагает переписать критичные участки на C, а также вынести часть функционала в самих демонов и в systemd. Сейчас для systemd уже готовы написанные на C подсистемы монтирования и установки имени хоста. До полной победы, отмечает Леннарт, работа предстоит огромная, но результат того стоит.

  • Отслеживание процессов. В ныне используемых системах инициализации в принципе возможна такая ситуация, когда при неправильном форке процесс может «потеряться». Например, так может произойти с некорректно написанным CGI-приложением, и процесс останется работать даже после остановки веб-сервера.

    Для предотвращения таких ситуаций systemd использует интегрированный в ядро Linux механизм контрольных групп (cgroups). Если приложение не имеет доступа к псевдо-ФС, управляющей работой cgroups, то оно не может самостоятельно покинуть свою группу и «потеряться».

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

  • Ограничение процессов. systemd предоставляет множество возможностей ограничить или расширить полномочия процессов, контролируя такие параметры, как uid, gid, umask, рабочий и корневой каталоги, класс и приоритет CPU и I/O, наличие доступа на чтение и запись к смонтированным файловым системам и отдельным каталогам и т.п. Также можно использовать возможности по ограничению ресурсов, предоставляемые cgroups.

Базовым элементом systemd являются модули (units), которые связаны между собой и имеют определенный тип. Каждый модуль может требовать для своей работы другие модули, конфликтовать с модулями, запускаться только после или до определенного модуля (директивы конфигурации Requires, Conflicts, Before, After, Wants). Из типов модулей определены:

  • service — обычный демон, поддерживающий операции start, stop, restart, reload. Может быть представлен родным (native) файлом конфигурации systemd или System V init-скриптом.
  • socket. При обращении к сокету генерируется событие, для которого можно настроить обработчик. Например, автоматически запускать определенные службы при обращении к заданному сокету. В этом отношении systemd похож на давно известный (x)inetd, однако при этом поддерживает unix domain сокеты и FIFO.
  • device. Отметив нужные устройства в конфигурации udev, впоследствии можно использовать такие события, как появление и удаление устройства, в качестве событий systemd, назначив на них обработчики. Например, при появлении устройства bluetooth будет запущена соответствующая служба.
  • mount. systemd контролирует все точки монтирования файловых систем. В целях обратной совместимости поддерживается сбор информации о точках монтирования из /etc/fstab.
  • automount. Для помеченных таким образом точек монтирования, монтирование выполняется только при обращении к ним.
  • target. Более гибкий аналог уровней исполнения (runlevels), используемых в System V init. Представляет собой группу служб, объединенных по функциональному назначению. Например, multi-user.target идентичен runlevel 5, а bluetooth.target приводит к инициализации подсистемы bluetooth.
  • snapshot — во многом похож на target. Позволяет «запомнить» существующую конфигурацию units (запущенных служб, открытых сокетов, смонтированных ФС) с тем, чтобы в дальнейшем восстановить это состояние. Позволяет, например, перейти в emergency shell (сейчас это init 1), а затем полностью восстановить набор запущенных служб. Другой пример — выход системы из состояния suspend.

Надо заметить, что systemd отличается от SMF, во-первых, тем, что позволяет оперировать не только зависимостями между службами, но и событиями, например, «готовность устройства» или «обращение к сокету». Во-вторых, systemd использует более простой формат файлов конфигурации (.desktop aka .INI против XML в SMF).

От upstart же systemd отличается более высокой степенью параллелизации, и как следствие, более высокой скоростью загрузки. Например, если демон A требует для работы сокет, открытый демоном B, то upstart сначала запустит демона B, а затем демона A, в то время как systemd создаст сокет сам и запустит обоих демонов одновременно, что занимает примерно в два раза меньше времени. Используемый в upstart принцип, когда ключевыми событиями является лишь запуск и остановка демона, Леннарт и его коллеги считают изначально неэффективным.

Well, the point of the part about Upstart above was to show that the core design of Upstart is flawed, in our opinion. Starting completely from scratch suggests itself if the existing solution appears flawed in its core. However, note that we took a lot of inspiration from Upstart's code-base otherwise.

>>> Подробности

 , , smf, ,

nnz
()