LINUX.ORG.RU

Первый релиз минималистичной системы инициализации Epoch

 , ,


2

3

Доступен первый релиз новой минималистичной системы инициализации Epoch 1.0 «Sage». Новая система инициализации позиционируется как альтернатива init busybox. Epoch имеет более широкие возможности, не использует shell-скрипты, имеет единый файл конфигурации.

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

Основные особенности Epoch Init System version 1.0 «Sage»:

  • Единый файл конфигурации.
  • Опциональная возможность протоколирования процесса загрузки, в том числе до монтирования файловых систем на запись и без начального RAM-диска.
  • В зависимостях ядро linux, libc, pthreads и /bin/sh опционально.
  • Автоматическое монтирование файловых систем, таких как /dev/, /proc, /sys, /dev/pts, и т.д. до запуска сервисов.
  • Поддержка автоматического перезапуска остановленных сервисов через опцию AUTORESTART.
  • Управление сервисами через команду 'epoch', которая позволяет запускать и останавливать сервисы, активировать и отключать выполнение сервисов при загрузке и управлять уровнями выполнения (runlevel) без привлечения сторонних компонентов, таких как DBus и shell-скрипты инициализации.
  • Отслеживание PID-файлов всех сервисов.
  • Поддержка загрузки баннера приветственного сообщения с поддержкой цвета, и умение читать баннер из файла.
  • Поддержка установка имени хоста перед запуском сервисов, при необходимости из файла.
  • Для обмена сообщениями с init-процессом применяется протокол membus, основанный на использовании разделяемой памяти. Протокол позволяет создавать на C/C++ сторонние инструменты и GUI-интерфейсы для управления работой системой инициализации.
  • Поддерживаемые утилитой 'epoch' команды также доступны в форме отдельных псевдопрограмм, ссылающихся на один исполняемый файл (используются символические ссылки по аналогии с busybox).
  • Поддержка настройки пользователей и групп.
  • Как вариант, доступен аналог /bin/sh, если он не включен в зависимости.
  • Повисший процесс при загрузке или остановке системы можно принудительно завершить комбинацией CTRL-ALT-DEL. Повторный набор комбинации в течении пяти секунд приведет к принудительной перезагрузке.

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



Проверено: Shaman007 ()
Последнее исправление: Wizard_ (всего исправлений: 4)

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

Код хороший, компактный, для всякого обучения самое оно

Для, для обучения подходит прекрасно. Обучения тому как НЕ надо писать код.

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

Чем не устраивает GOTO? Учитель сказал, что нельзя использовать?

Адекватный способ корректно выйти из функции при ошибке. В ядре используется активно.

anonymous
()

Лучше бы launchd портировали

Meyer ★★★★★
()

24 января 2014 года

В день моего рождения! Возможно это что-то значит.

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

Чем не устраивает GOTO? Учитель сказал, что нельзя использовать?
Адекватный способ корректно выйти из функции при ошибке. В ядре используется активно.

Одно дело - одна метка в конце функции, другое - лапшекод.

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

К.О. намекает: неумение использовать goto - признак хренового программиста, да. Это относится как и к неиспользованию вообще, там где оно оправдано, так и наоборот - к перебору в этом самом использовании.

Pinkbyte ★★★★★
()

Единый файл конфигурации? Закопайте это.

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

В ядре используется активно.

Йошкин кот

# cd /usr/src/linux
# grep -iR 'goto' | wc
 113693  686040 12403485
snaf ★★★★★
()
Последнее исправление: snaf (всего исправлений: 1)

Задумываюсь о разработке дистрибутива для себя, честно говоря, эта инит-система меня заинтересовала.

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

Задумываюсь о разработке дистрибутива для себя

Зачем? Из генты можно сделать что угодно.

snaf ★★★★★
()

Приятно видеть альтернативу, но...

Считаем недостатком то, что не использует shell-скрипты.

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