Найти тему
Проект OpenNet

SystemE, шуточная замена systemd на Emacs Lisp

Один из разработчиков дистрибутива Kiss Linux опубликовал код шуточного проекта systemE, позиционируемого как замена systemd, написанная на Emacs Lisp. Предложенный в systemE инструментарий позволяет организовать загрузку, используя sinit в качестве обработчика PID 1, запускающего под PID2 редактор Emacs в режиме "--script", который, в свою очередь, исполняет сценарии инициализации системы (rc.boot), написанные на языке Lisp.

В роли командной оболочки, пакетного менеджера, замены startx/xinitrc и оконного менеджера также выступает Emacs. Для контроля за выполнением сервисов используется runit из пакета busybox. Из планов по развитию SystemE отмечается намерение переписать runit и sinit на Lisp и запускать Emacs как PID 1.

Окружение на базе SystemE может использовать пакеты из Kiss Linux, минималистичного дистрибутива, разработчики которого в соответствии с принципом KISS пытаются построить предельно простую систему, избавленную от усложнений. Штатный пакетный менеджер в KISS написан на shell и включает около 500 строк кода. Все пакеты собираются из исходных текстов. Поддерживается учет зависимостей и наложение дополнительных патчей. Метаданные о пакетах размещаются в текстовых файлах и могут быть разобраны штатными unix-утилитами. В качестве системной Си-библиотеки используется musl, а набор утилит основан на busybox. Предоставляется простое графическое окружение на базе Xorg. При загрузке применяются очень простые скрипты инициализации.