The OpenNET Project / Index page

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

Проект Debian GNU/Linux переходит на новую систему инициализации

07.09.2009 10:57

Разработчики Linux дистрибутива Debian опубликовали план переработки системы инициализации для будущего релиза Debian 6.0 (Squeeze). Пакетная база для Squeeze будет заморожена в декабре 2009 года, а релиз будет выпущен весной или летом следующего года. Кроме ранее анонсированной миграции на загрузчик GRUB 2 и переход на использование для выполнения shell скриптов вместо /bin/sh быстрой и упрощенной оболочки dash, запланирован переход на альтернативную реализацию init-инфраструктуры - Upstart, разработанную изначально для дистрибутива Ubuntu, но также используемую и в проекте Fedora.

По оценке разработчиков, текущее состояние системы инициализации Debian все больше и больше не соответствует тенденциям развития Linux ядра, которое развивается в направлении событийно-ориентированной архитектуры. Например, последние версии ядра позволяют загружать драйверы асинхронно, не блокируя процесс загрузки при выполнении таких функций, как определение дисков, настройка сетевых интерфейсов и другого оборудования. Текущая система инициализации нередко приводит к таким проблемам как отсутствие заданного файла устройства при выполнении fsck или попытке монтирования, недоступности сети в момент подключения NFS раздела из-за задержки инициализации сетевого устройства. К списку проблем также можно отнести сложность и запутанность выбора порядкового номера запуска сервисов с учетом возможных комбинации установки пакетов в дистрибутиве.

В отличие от стандартной init-системы, Upstart базируется на парадигме обработки событий, а для определения последовательности запуска сервисов и оценки возможности их выполнения в параллельном режиме, применяется метод учета зависимостей. Тем не менее, Upstart требует определенной переработки init-скриптов. Например, вместо классического /etc/inittab в системе появляется /etc/event.d. Следует заметить, что подготовка к внедрению системы инициализации, основанной на параллельном запуске сервисов, началась еще во время разработки Debian GNU/Linux 5.0 (Lenny), в котором в Init-скрипты были внесены изменения с данными о зависимостях.

Особенности Upstart:

  • Запуск и остановка задач и сервисов производится через генерацию события;
  • События генерируются при запуске или остановке задач и сервисов, что позволяет организовать привязку к ним других задач и сервисов;
  • События могут быть получены от любого другого процесса в системе;
  • Сервисы могут быть автоматически перезапущены при их непредвиденном завершении;
  • Наблюдение и перезапуск демонов может производится раздельно от их родительских процессов;
  • Связь с управляющим init-процессом может осуществляться посредством D-Bus;
  • Планируемые, но еще не реализованные возможности: генерация событий в промежутки времени или через определенные интервал; генерация событий при изменении файлов или директорий; создание пользовательских сервисов, которые могут управляться непривилегированным пользователем.


  1. Главная ссылка к новости (http://permalink.gmane.org/gma...)
  2. OpenNews: Цели и задачи для будущего релиза Debian GNU/Linux
  3. OpenNews: Вышел релиз Debian GNU/Linux 5.0 (Lenny). Обзор новшеств
  4. OpenNews: Проект Debian GNU/Linux переходит на использование по умолчанию загрузчика GRUB 2
  5. OpenNews: Проект Debian GNU/Linux переходит на двухлетний выпуск релизов
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/23318-debian
Ключевые слова: debian, init, boot, upstart
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (49) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, llex1234 (??), 12:03, 07/09/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • –22 +/
    Смешанные чувства. Скорее плохо чем хорошо. Таким образом развивается проприетарный мир, где всего за несколько процентов профита (снижения себестоимости, а следовательно выигрыша в конкурентной борьбе) идут на десятикратное усложнение всей системы. Ведь пользователю читай и не надо знать как происходит инициализация. Мудрые разработчики уже обо всём позаботились: нажимай кнопку и наслаждайся! Единственное, о чём они не позаботились, так это о потенциальных разработчиках, которые в огромном количестве переходят на Арч (и почему-то чаще всего с дебиана, ну или с генту, но уже по другим причинам).
     
     
  • 2.2, Ъ (?), 12:09, 07/09/2009 [^] [^^] [^^^] [ответить]  
  • +12 +/
    Фееричный бред.
     
  • 2.3, роше (?), 12:12, 07/09/2009 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Зачем бояться новых технологий ?
    Там не так все сложно как вам кажется
     
     
  • 3.17, Аноним (-), 14:40, 07/09/2009 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Есть такие эпитеты в английском языке - bloated и complicated. Не рискну дать перевод (всё-таки это не просто "раздутый" и "сложный"), но upstart именно так и можно охарактеризовать. Было бы не так страшно, если бы у разрабов всё и сразу выходило как надо, а то будет как всегда (hal, dbus, fontconfig пеерехавший на xmlные конфиги, тысячи их).
     
     
  • 4.27, User294 (ok), 18:25, 07/09/2009 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Можно конечно и по старинке юзать древнючий init и пинать 1 сервис в единицу времени. А то что система при загрузке большую часть времени в итоге ничерта не делает, ожидая того и сего - да и черт с ним, "и пусть весь мир подождет". А ждать есть кому и чего - линух встречается в очень разных местах, в некоторых длительное ожидание неприемлимо.
     
     
  • 5.36, Аноним (-), 21:05, 07/09/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Речь даже не про то, что это сначала не будет работать, это полбеды, речь о том, чтобы это настроить под себя, изменить, создать с 0, будет совсем непросто, а надеяться на дяденьку-майнтейнера в наше неспокойное время не приходится.
     
  • 4.32, Vasily Pupkin (?), 19:31, 07/09/2009 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ну да, просто круто сидеть в барахле устаревшем еще 10 лет назад. Все и сразу как надо не выйдет. Но не надо бояться побывать.
     
     
  • 5.35, Аноним (-), 21:00, 07/09/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Сервисы у меня распараллены, но вручную (таки арч, да)
     
  • 4.41, Евгений (??), 01:52, 08/09/2009 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Все еще в ДОСе сидите? А то современные ядра - они такие bloated и complicated...
     
     
  • 5.43, Аноним (-), 07:32, 08/09/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Linux вполне модульный, и при сборке у меня всё ненужное давно отключено
     
     
  • 6.47, Евгений (??), 13:06, 08/09/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Что ненужное вы нашли в апстарте?
     
     
  • 7.48, Аноним (-), 16:34, 08/09/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Я его не осилил. И не я один. Больше того, существует куча вариаций на тему распараллеливания старта сервисов, которые мне кажутся более вменяемыми.
     
     
  • 8.49, Alexey Vostrikov (?), 18:55, 08/09/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Ни асилили - сидите на арче и пилите загрузку руками в апстарте все очень грамот... текст свёрнут, показать
     
     
  • 9.50, Аноним (-), 19:03, 08/09/2009 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Извините, а вы не буду писать с большой буквы , чьих будете И давно ли сами по... текст свёрнут, показать
     
  • 2.4, MNK (ok), 12:19, 07/09/2009 [^] [^^] [^^^] [ответить]  
  • +/
    чёт мне кажется решение не далось им легко
     
  • 2.7, kost BebiX (?), 12:30, 07/09/2009 [^] [^^] [^^^] [ответить]  
  • +46 +/
    Используйте Slackware и будет вам KISS. Я понимаю ваше беспокойство (да, асинхронность всегда сложнее), но если хочется быть серьезным - надо делать все асинхронно.
     
     
  • 3.10, Iv945n (ok), 13:02, 07/09/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Чорт, хотел плюсануть, промазал, минусанул. Сорри. Очень логично, imho, поддерживаю.
     
  • 2.11, шнур (?), 13:04, 07/09/2009 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Debian - GNU/Linux дистрибьютив основанный на Ubuntu ^_^
     
     
  • 3.28, User294 (ok), 18:30, 07/09/2009 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Debian - GNU/Linux дистрибьютив основанный на Ubuntu ^_^

    Блин, так не для этого ли нужен опесорц?! (да, я Капитан Очевидность)

     
  • 2.44, Кирилл (??), 09:48, 08/09/2009 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты о чём? Upstart как раз прост, понятен и легок в настройке и модифицировании. Про init классический, который сейчас в Debian, этого не скажешь. И так уже большинство от него на Debian отказались и пользуют "розетки" подъёма сетевых интерфейсов и daemontools. Ну невозможно уже терпеть, когда, к примеру, при старте сервиса оказалась не доступна DNS-информация или система мониторинга запустилась после старта всех сервисов.
     
     
  • 3.51, аннон (?), 19:21, 08/09/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Ты о чём? Upstart как раз прост, понятен и легок в настройке
    >и модифицировании. Про init классический, который сейчас в Debian, этого не
    >скажешь. И так уже большинство от него на Debian отказались и
    >пользуют "розетки" подъёма сетевых интерфейсов и daemontools. Ну невозможно уже терпеть,
    >когда, к примеру, при старте сервиса оказалась не доступна DNS-информация или
    >система мониторинга запустилась после старта всех сервисов.

    По этому поводу в багзилле дебьяна висит очень показательный баг. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=540575

     
     
  • 4.55, Кирилл (??), 04:34, 10/09/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Ну и это в том числе. Хотя там достаточно потереть adjtime, скорее всего там ошибка накопилась.
     

  • 1.5, empty (?), 12:21, 07/09/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >>К списку проблем также можно отнести сложность и запутанность выбора порядкового номера запуска сервисов с учетом возможных комбинации установки пакетов в дистрибутиве.

    Что от этой SystemV-мусора ничего хорошего ждать не приходится - было ясно ещё двадцать лет назад. В BSD-like системах инициализации всё распараллеливание сводится к правильной расстановке & в init-скриптах.

     
  • 1.12, bircoph (?), 13:06, 07/09/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Что-то я так и не понял, чем UpStart лучше OpenRC. В последнем и асинхронная загрузка с зависимотями есть (причём отключаемая), и скрипты простые, и inittab остался как есть. Иными словами в openrc всё просто и со вкусом, смысл воротить велосипед? Напоминает hal vs udev: первое не нужно, если есть второе, но всё равно громоздят лишнюю абстракцию.
     
     
  • 2.14, mma (?), 13:36, 07/09/2009 [^] [^^] [^^^] [ответить]  
  • +4 +/
    да openrc  хорошо - и быстр и что самое главное прозрачен для пользователя, гибкость инит-скриптов на высоком уровне.
     
  • 2.37, Алексей (??), 21:29, 07/09/2009 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Вообще-то hal и udev - абсолютно разные сервисы с непересекающимся функционалом.
     
  • 2.42, Евгений (??), 02:17, 08/09/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Что-то я так и не понял, чем UpStart лучше OpenRC. В последнем
    >и асинхронная загрузка с зависимотями есть (причём отключаемая), и скрипты простые,
    >и inittab остался как есть. Иными словами в openrc всё просто
    >и со вкусом, смысл воротить велосипед? Напоминает hal vs udev: первое
    >не нужно, если есть второе, но всё равно громоздят лишнюю абстракцию.
    >

    Просто дело в том, что в компаниях вроде Каноникал, РедХат, Новелл и других, сидят программисты на порядок глупее Вас. Они не осознают, что если расширять существующую систему, то сил и времени тратится меньше. Поэтому они и городят велосипеды.

    /s

    З.Ы. читать внимательно до просветления http://www.netsplit.com/2006/08/26/upstart-in-universe/

     
     
  • 3.54, Учаснег (?), 20:23, 09/09/2009 [^] [^^] [^^^] [ответить]  
  • +/
    > Просто дело в том, что в компаниях вроде Каноникал, РедХат, Новелл и других, сидят программисты на порядок глупее Вас. Они не осознают, что если расширять существующую систему, то сил и времени тратится меньше. Поэтому они и городят велосипеды.

    Ой-вэй, не канони кал ли bazaar разрабатывает? Наверное, потому что очень умные, уже 4 года долбутся с бедняжкой.

     

  • 1.13, netc (ok), 13:20, 07/09/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    скажу честно, когда попробывал freeBSD
    понял в чем плюсы rc.conf перед /rc.d/runlevels

    просто, понятно, контролируемо.

    а upstart в дебиане - это не дело, ему оно не нужно совсем. ИМХО

     
     
  • 2.45, Кирилл (??), 09:53, 08/09/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >скажу честно, когда попробывал freeBSD
    >понял в чем плюсы rc.conf перед /rc.d/runlevels
    >
    >просто, понятно, контролируемо.
    >
    >а upstart в дебиане - это не дело, ему оно не нужно
    >совсем. ИМХО

    Оно ему нужно. Причём очень.
    rc.conf во FreeBSD удобен, но его подсистема довольно сложна для разработчика.

     
     
  • 3.52, аноним (?), 20:56, 08/09/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Чего там сложного? Элементарные скрипты из двух функций (а для запуска сервисов и их не нужно) + небольшой и хорошо документированный rc.subr.
     

  • 1.15, Аноним (-), 14:20, 07/09/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Может, они про OpenRC и не знают?
     
  • 1.16, User294 (ok), 14:33, 07/09/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Не прошло и 20 лет как до дебианщиков наконец дошло:)
     
  • 1.18, Thorn (??), 14:59, 07/09/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Так и не понял, причём тут "события"... Если диск есть, но его нет, нужно тупо загрузить драйвер! Но перед загрузкой проверить, что зависимые дрова загружены. Всё.
    А для общего старта, система сама должна выстроить независимые ветки с упорядоченными дровами.
    Эх, чё только не придумают, лишь бы свой и двухколёсный!

    Ребят, спасибо за OpenRC - супир!!

     
  • 1.20, Аноним (-), 15:22, 07/09/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    очепятка : а для определения посдедовательности запуска сервисов
     
  • 1.22, Veter (??), 16:10, 07/09/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Пользую runit, и вам того желаю.
     
  • 1.23, Аноним (-), 16:57, 07/09/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Чего так много недовольных сисVинитом? А помоему бсд-инит уг. Ранлевелами пользуюсь иногда.
     
     
  • 2.24, Andrey Mitrofanov (?), 17:00, 07/09/2009 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >Чего так много недовольных сисVинитом?

    То есть текста новости Вы не читали? ...не осилили и перешли к самовыражению?

     
  • 2.31, User294 (ok), 19:01, 07/09/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Чего так много недовольных сисVинитом?

    В современных реалиях именно классический сис5 инит - плох ТОРМОЗНУТОСТЬЮ. Система с оным при загрузке больше времени ничерта не делает, ожидая того и сего чем делает что-то полезного. В upstart нормальная event-based модель старта, с учетом того кто от кого зависит и чего ему для старта требуется. И достаточно гибкая для того чтобы изображать старичка init-а для тех кто использует классические скрипты. На вкус и цвет фломастеры разные, но в конце концов init давно пора чем-нибудь более вменяемым заменить.

     
     
  • 3.53, аноним (?), 20:58, 08/09/2009 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >В современных реалиях именно классический сис5 инит - плох ТОРМОЗНУТОСТЬЮ.

    Это не самое в нем плохое. Мне лично положить, одун секунду оно будет грузиться или десять, sysv плох общей архитектурной убогостью. Ранлевелы - это феерический, невозможный идиотизм, а их конфигурирование симлинками - вдвойне.

     

  • 1.26, iZEN (ok), 17:59, 07/09/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Демон /etc/event.d в чём-то похож на бздёвый /etc/rc.d/devd.
     
     
  • 2.39, Myc (??), 22:17, 07/09/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Как раз хотел упомянуть его.
    В свое время меня очень порадовала система: пришло событие - запустился скрипт.
    Правда в freebsd эту систему кроме скриптов сети никто и не юзает. :(
     
     
  • 3.40, аноним (?), 23:19, 07/09/2009 [^] [^^] [^^^] [ответить]  
  • +/
    > Правда в freebsd эту систему кроме скриптов сети никто и не юзает. :(

    Юзает. Просто посмотри /etc/devd.conf.

     
  • 3.56, Денис Юсупов (?), 16:56, 12/10/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Очень даже юзает!
    Я себе, скажем, в /etc/devd.conf настроил событие выключать комп при вставке любого, кроме флешки, USB-девайса. Ну стоит у меня этот комп на балконе, мордой от меня, выключать в случае чего замудохаешься :)
     
     
  • 4.57, Аноним (-), 12:32, 20/10/2009 [^] [^^] [^^^] [ответить]  
  • +/
    sudo poweroff не осилил?
     
     
  • 5.58, DarkAGeS (ok), 09:11, 23/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    вы удивитесь, но на freebsd эта команда ни к чему не приведет ;) но с сутью согласен)
     

  • 1.29, Аноним (-), 18:35, 07/09/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >То есть текста новости Вы не читали? ...не осилили и перешли к самовыражению?

    У меня как бы убунта, апстарт... Не вижу каких-то сложностей.

     
  • 1.33, аноним (?), 19:42, 07/09/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    гыгы, а много кто наезжал на Убунту, что от неё никакого толку опен цорс сообществу.
     
     
  • 2.46, Andrey Mitrofanov (?), 10:47, 08/09/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Да! Пусть теперь разработчики Debian впахивают, чтобы помочь Ubuntu помочь им.
     

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



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

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