LINUX.ORG.RU

Поддержка SysVinit будет удалена из Linux From Scratch

 , ,


0

2

Linux From Scratch был одним из тех проектов, которые продолжали опциональную поддержку системы инициализации SysVinit, но теперь эта поддержка прекращается. Linux From Scratch «LFS» и Beyond Linux From Scratch «BLFS» прекращают поддержку System V Init в будущем.
В будущих версиях LFS/BLFS поддержка System V будет прекращена из-за растущей необходимости постоянного обслуживания и тестирования как System V, так и systemd. LFS/BLFS — это проект, реализуемый силами волонтеров, и поддержание SysVInit является обременительным. Кроме того, поскольку GNOME, а вскоре и KDE Plasma, будут зависеть от функциональности, явно присутствующей в systemd, а не в System V, это станет еще более сложной задачей.

Bruce Dubbs


Это решение обусловлено двумя причинами. Первая причина — рабочая нагрузка. Никто из работающих над LFS не получает зарплату. Мы полностью полагаемся на волонтеров. В LFS 88 пакетов, в BLFS — более 1000. Объем изменений из исходного кода перегружает редакторов. В этом цикле релизов, начавшемся 1 сентября и продолжающемся до настоящего времени, было сделано 70 коммитов в LFS и 1155 коммитов в BLFS (и это число продолжает расти). При обновлении пакетов необходимо проверять многие из них на совместимость как с System V, так и с systemd. При подготовке к релизу необходимо проверять все пакеты для каждой системы инициализации.

Вторая причина отказа от System V заключается в том, что такие пакеты, как GNOME, а вскоре и Plasma от KDE, включают в себя требования, которые предполагают наличие в systemd возможностей, отсутствующих в System V. Это можно было бы обойти с помощью другой системы инициализации, например OpenRC, но помимо процесса перехода это всё равно не решает проблему с существующей нагрузкой.
В следующей версии LFS/BLFS 13.0, планируемые в марте этого года, System V будет по-прежнему доступен, но уже не будет тестироваться редакторами LFS.

Лично мне это решение не нравится. Для меня LFS — это изучение того, как работает система. Понимание процесса загрузки — важная часть этого. Systemd — это около 1678 файлов на языке C плюс множество файлов данных. System V — это 22 файла на языке C плюс около 50 коротких bash-скриптов и файлов данных. Да, systemd предоставляет множество возможностей, но мы потеряем некоторые вещи, которые я считаю важными.

Однако решение необходимо принять.


phoronix

Перемещено dataman из opensource

★★★★★

Последнее исправление: dataman (всего исправлений: 1)

В LFS 88 пакетов

Могли бы для LFS оставить. Написать, что без systemd BLFS не собрать, а самый минимум, в учебных целях, можно с обычным initd.

mky ★★★★★
()

Корпораты просто писать не хотят. Общественники — не могут. Поэтому всё только усложняется. И ничего поделать нельзя.

ugoday ★★★★★
()

Лучше бы наоборот выкинули systemd, GNOME и KDE. LFS же в первую очередь для обучения, а все эти завязанные на продукте Поттеринга вещи обучению только вредят. Как бы я не относился к systemd и остальному софту, не думаю, что он прям так нужен в LFS. Ровно как и не видел ни одного, кто пользовался бы самосборным дистрибутивом (по LFS) на постоянной основе, по крайней мере на дескопе в качестве «повседневной» ОС — слишком велики трудозатраты на поддержание такой системы в актуальном состоянии, ИМХО

mskrasnov
()

Systemd — это около 1678 файлов на языке C плюс множество файлов данных. System V — это 22 файла на языке C плюс около 50 коротких bash-скриптов и файлов данных.

поэтому, разумеется, нужно выкинуть сисв, а не системду.

alegz ★★★★★
()

никто не заставляет следовать инструкциям LFS буквально, можно взять старую версию LFS и скачать-поставить свежий sysvinit,
а можно немного подумать головой, что сейчас не особенно практикуется делать, особенно с засильем ИИ повсеместно.

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

$ /sbin/init --version
SysV init version: 3.09

$ lsb_release -a
LSB Version: n/a
Distributor ID: Gentoo
Description: Gentoo Linux
Release: 2.17
Codename: n/a

--
да, кое-что из systemd присутствует, для поддержки usermount, seats и прочего функционала. LFS-ники вполне могли бы позаимствовать код и опыт

Sylvia ★★★★★
()
Последнее исправление: Sylvia (всего исправлений: 1)
Ответ на: комментарий от Sylvia

а можно немного подумать головой

Сам-то подумал, прежде, чем это советовать? Кому делать нечего — пускай думают, а нормальным людям некогда этими глупостями заниматься.

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

никто не заставляет следовать инструкциям LFS буквально, можно взять старую версию LFS и скачать-поставить свежий sysvinit, а можно немного подумать головой

А можно вообще пойти дальше — не следовать инструкциям LFS совсем. Можно взять софт, скомпилять и не париться. Особенно если подумать головой.

Смысл в LFS был как раз в том, чтобы этот процесс несколько облегчить. Теперь ценность этой инструкции значительно уменьшилась, вот и всё.

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

можно конечно и так, но времени это займет много больше и опыта потребует со сборкой системы с нуля ранее, пусть даже это будет Слака или Гента. LFS все ж таки подсказывает пару важных вещей
1. порядок сборки (зависимости)
2. важные ключики для конфигурации

в LFS также в принципе дают ссылки на скачивание (не надо искать) и необходимые патчи для ПО, которое давно не обновляется, но все еще используется.

опять же альтернатив хватает, BuildRoot или те же скрипты сборки из Слаки или .. свято место пусто не бывает.

Sylvia ★★★★★
()
Последнее исправление: Sylvia (всего исправлений: 1)
Ответ на: комментарий от Stanson

Есть руководство CLFS Embedded, там есть инструкции по сборке (ЕМНИП для ARM и MIPS), ну и естественно без glibc, coreutils и sysv/systemd, а с православными musl и BusyBox, который в свою очередь имеет свой собственный инит.

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

В том и дело. И завязка на одну конкретную, да ещё и такую сложнгую инит-систему сильно портит вот это всё поннимание на поздних этапах. Да, можно обойтись без него точно так же, как и до этого было можно обойтись без sysv (он сам по себе не нужен никому, но он достаточно прост, чтобы перенести опыт на runit, s6 и т.п.). Теперь они зачем-то решили завязаться на systemd, и ничего хорошего в этом нет.

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

Теперь они зачем-то решили завязаться на systemd, и ничего хорошего в этом нет.

Ну оно везде, хочется нам этого или нет. Сейчас ковыряться с sysv довольно бесполезно. Ну пусть бы было допустим openrc, но это маргинальщина та ещё. Кто же виноват, что сообщество полностью прогнулось под корпорации. Многим даже нравится, вот на лоре тоже стайка шакалов фанатов пасётся.

bread
()

Кроме того, поскольку GNOME, а вскоре и KDE Plasma

Нахрена эти монстры в LFS вообще нужны?

Лично мне это решение не нравится.

Как человек, имеющий опыт копания в исходниках systemd, поддерживаю этого оратора.

Нинужно оно в LFS. Лучше бы массово на runit переехали.

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

никто не заставляет следовать инструкциям LFS буквально

Тогда есть большая вероятность упереться в нерешаемую проблему. Вылезут ошибки при сборке и что делать? Тем более новичку, для которого это всё и рассчитано. Ценность LFS в том, что там всё проверено и при следовании инструкциям всё соберётся.

можно взять старую версию LFS

Вот тут, кстати, интересно. Я тоже про это думал, но ведь есть вероятность того, что старые версии какой-нибудь программы не сохранились и их давно удалили. Но в целом для того, кто хочет изучить sysvinit это самый разумный совет. Если что-то работало 20 лет назад, то и сегодня будет работать, процессоры плюс-минус так же работают.

vbr ★★★★★
()
Последнее исправление: vbr (всего исправлений: 1)

Systemd — это около 1678 файлов на языке C плюс множество файлов данных

Чувак до сих пор не открыл для себя сборочные системы. Иначе не понятно нытьё на количество файлов в проекте.

ox55ff ★★★★★
()

1. Почитал тред. Вижу, что многие до сих пор называют LFS дистрибутивом. Это не так. Это просто книжка с набором инструкций.

2. Вытекает из первого пункта. Если следовать этим инструкциям, думать не надо. Это копипаста. Шаг влево, шаг вправо - расстрел. Ничего не соберётся.

3. Для обучения в книжке LFS почти нет ничего полезного. Если ты разбираешься в Linux, то тебе и так всё понятно. Если нет - эта книжка пользы не принесёт.

4. Новость показательна. Если бы книга была обучающей, было бы пофиг на используемый инит. Но LFS не про это. LFS не объясняет что и как работает. LFS про копипасту. А авторам книжки лень писать копипасту под несколько инитов.

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

shell-script ★★★★★
()
Ответ на: комментарий от bread

Сейчас ковыряться с sysv довольно бесполезно.

С этим можно согласиться.

Ну пусть бы было допустим openrc

Ну зачем обязательно openrc? Он достаточно популярен, да, но при этом тоже сложноват для целей LFS. Гораздо проще было бы взять, например, runit. Или s6. Да даже оба можно было бы описать в рамках одной инструкции, и это было бы намного проще (и для писателя, и для читателя), чем один openrc, а тем более systemd. Здесь ведь дело не в том, что лучше в вакууме, а в том, что лучше соответствует целям. И независимо от отношения к systemd, это явно не он. Его уместно было бы поместить в BLFS, туда, в один ряд к DE и прочему более сложному.

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

Чувак наверняка про них знает и пользоваться умеет. Только ни одна сборочная система не обеспечит волшебную мгновенную сборку. Всего лишь радикально уменьшит количество ручной работы.

А сборку проекта всё равно придётся ждать и ждать зачастую долго (ну да, make умеет в многопоточность, но на проекте в полторы тысячи файлов и с ней ждать долго).

hobbit ★★★★★
()