Он выпилил systemd из Debian ради OpenRC. Загрузка не пережила команду

Дэниел Кордова одной строкой apt поменял systemd на OpenRC — и ноутбук перестал загружаться. Он восстановил систему в режиме спасения; звук и индикатор батареи так и остались сломаны. Самый тихий эксперт треда задал главный вопрос: а кто теперь перезапустит упавший сервис?

Вкратце

Спусковым крючком стала проверка возраста: когда такой закон «варился» и systemd добавил для него поле, Кордова решил, что init-система вышла за рамки своей задачи. Его команда замены пыталась выпилить systemd и поставить OpenRC одной цепочкой — и один читатель заметил: если удаление сорвётся на полпути, OpenRC так и не установится.

Второй голос копнул глубже: OpenRC возвращает вам как вашу проблему порядок зависимостей, надзор за падениями и учёт ресурсов через cgroup. Вот это, а не установка, и есть настоящая работа.

Одна строка apt — и ноутбук, который не грузится

Пост Дэниела Кордовы «Замена systemd на OpenRC в Debian» начинается с дискомфорта, а не с бенчмарка. Его «первый настоящий толчок» случился, когда готовился закон о проверке возраста и systemd добавил поле в его поддержку: init-системе, по его ощущению, там делать нечего, ведь она и так уже вобрала в себя загрузчик, схему разбивки дисков, управление пользователями и инсталлятор. Так что замену он выполнил одной цепочкой команд: sudo apt purge --allow-remove-essential systemd && sudo apt install openrc sysvinit-core.

Машина не поднялась. По его словам, OpenRC либо удалился во время purge, либо так и не установился; он восстановился через режим спасения, переподключил WiFi и поставил его вручную. После этого перестали работать индикатор батареи и звук. Юнит systemd для remoteproc, который он переделал в shell-скрипт в /etc/init.d/, он сам признал заплаткой: «Нужно превратить это в нормальный скрипт OpenRC». Его вердикт осторожно положительный, «Пока OpenRC справляется», и обёрнут в призыв к «юниксовой свободе использовать что хочешь».

Тред: установка была лёгкой частью

Самый полезный ответ в треде проигнорировал идеологию и прочитал команду. && означает, что вторая половина запустится, только если первая полностью отработала:

«Не вижу, чтобы openrc ставился до удаления systemd… Моё подозрение: удаление systemd сорвалось на полпути.» — читатель, проследивший сбой до цепочки команд apt

Второй голос назвал, во что OpenRC обходится на самом деле, и это не установка:

«когда сервис падает — кто его перезапустит и что гарантирует, что он поднялся только после того, как его зависимости реально готовы… Вот этот порядок зависимостей и учёт ресурсов через cgroup и есть настоящая работа, и OpenRC возвращает её вам.» — комментатор сосредоточился на переделанном надзоре за remoteproc

Затем вспыхнул старый спор. Несколько человек настаивали, что эксперимент путает две вещи под одним именем:

«Здесь делают ошибку, путая systemd как менеджер сервисов и systemd как проект… systemd не встраивал проверку возраста. Обсуждалось лишь простое поле, позволяющее пользователю указать дату рождения.» — сисадмин отделил менеджер сервисов от зонтичного проекта

Дальше тред раскололся начисто. Тип в духе бывшего основателя и приверженец Gentoo приветствовали любое давление на systemd — «systemd отчаянно нужна конкуренция… им к тому же неуклюже пользоваться», — а раскаявшийся скептик прямо поставил ему в заслугу то, что Linux стал жизнеспособным: «Именно systemd превращает Linux в жизнеспособную современную ОС. Нужно что-то, что свяжет все части ОС единым API». И всплывала повторяющаяся практическая ремарка: если хочешь Debian без systemd, Devuan ровно это и поставляет, без всякой цепочки purge. Принцип KISS, на который ссылался Кордова, подсказывал тред, не делает проще: он лишь перекладывает надзор, порядок запуска и учёт ресурсов с init-системы на тебя.

Получайте такие разборы каждый день

Главные истории Hacker News — на email, в Telegram или RSS.

Следующая новость · 20 из 27 Читать дальше
🚀Tech

Блогер: Microsoft нужна Windows Lite за 49 долларов. Разработчики в треде против

Идея Филипа Бохуна: урезанная Windows без телеметрии, рекламы, ИИ и .NET — только Win32 и лёгкая оболочка, продаётся один раз за 49 долларов. Логика в том, что Microsoft теряет «строителей», которые делают софт. Разработчики в треде быстро поймали противоречие.

★ 82 · 💬 114 · philipbohun.com · 4 мин