Разработка Chimbalix 24.9 Alphachi. Часть 1
Linux широко известен по всему миру, в него вливают огромные ресурсы даже корпорации, пытаясь сделать что-то пригодное для использования, однако подавляющее большинство людей всё равно предпочитают взаимодействовать с Windows. Порой Linux называют «дряхлым пингвином» и это неспроста: ядро является монолитным, со всеми вытекающими последствиями. Ну а дистрибутивы, погрязшие в зависимостях и пакетных менеджерах, ломаются от любого «чиха».

Я, как обычный пользователь, пытался использовать разные дистрибутивы Linux, несмотря ни на что. Однако мне не удалось найти ни одного пригодного для использования дистрибутива, что привело к рождению Chimbalix — дистрибутива, ориентированного на реальное использование, а не на тысячи бесполезных линуксоидных философий и лозунгов.
реклама
Пока другие в бесконечной погоне за версиями, штампуют разные вариации одного и того же, подавая их под красивыми маркетинговыми лозунгами и обещаниями, буквально меняя только обои рабочего стола и набор установленных пакетов «из коробки», я ориентируюсь на реальное улучшение пользовательского опыта и развитие операционной системы.
Многие наверняка знают то чувство, когда после Windows пробуют всякие Linux и спустя некоторое время появляется ощущение угнетения и раздражения, из-за бесконечного множества проблем и неудобств. Возвращение к Windows после Linux ощущается как облегчение и освобождение от гнёта общей несостоятельности мира «пингвинов». Так же я чувствую себя, когда пробую иные дистрибутивы Linux после Chimbalix.
Разумеется, пока в основе лежит монолитное ядро Linux, о том, чтобы догнать и превзойти Windows и речи быть не может. Но я проделал достаточно большую работу, чтобы даже прошлогодний Chimbalix до сих пор превосходил прочие дистрибутивы в удобстве использования и функциональности.

реклама
Немаловажную роль в развитии дистрибутива играет формат распространения софта под названием Installer-SH. Было бы крайне глупо полностью полагаться на ненадёжные и проблемные пакетные менеджеры с репозиториями, но и строить пустые философские концепции тоже смысла нет. Поэтому я разработал и развил новый формат распространения ПО, который со временем научился работать не только в большинстве существующих дистрибутивов Linux, но даже во FreeBSD.
Как разработчик я прекрасно понимаю, что операционная система бесполезна без прикладного ПО, а Linux крайне плох в плане распространения софта. Именно эту проблему и решает новый формат под названием Installer-SH. Без него не было бы смысла начинать работу над новой версией Chimbalix.
Да, мой дистрибутив далеко не идеален. Более того, я сам пользуюсь своим дистрибутивом, выявляю недостатки, проблемы и набираюсь нового опыта. Именно поэтому я взялся за разработку новой версии дистрибутива: накопилось достаточно опыта и идей, чтобы воплотить их в реальность.

Как некоторые могли уже заметить, я внёс ряд исправлений и изменений, применил существующий пакет обновлений и удалил лишнее из системы. Также обновил прошивки (firmware), необходимые для запуска системы на реальном оборудовании.

реклама
Почему это важно? Потому что монолитный Linux, в отличие от Windows, в прямом смысле мёртв без прошивок для разнообразного «железа». Если какую-нибудь Windows XP можно запустить даже на современном «железе» (есть даже неофициальные сборки с драйверами под современное оборудование), то современный Linux покажет только печаль, с какой-нибудь новенькой Radeon RX Mega Super 99999, вышедшей на несколько дней позже операционной системы.
![]() |
![]() |
И с этим ничего не поделать, таков уж «пингвин» — недружелюбный и отсталый. Поэтому он не способен даже догнать уровень Windows: это фундаментальные проблемы ядра, которые не искоренить просто так.
Увы, но об этих проблемах становится известно только после того, как погрязнешь во всём этом. Токсичные линуксоиды не расскажут о реальном положении дел в мире Linux, особенно если они сами не разбираются в объекте обожания. Вполне возможно, я вообще перейду на FreeBSD в будущем; по крайней мере, это ядро гораздо состоятельнее и лучше любого ядра Linux. Но когда именно — не скажу, ибо не планирую этого в ближайшее время. Может быть, появится что-то вменяемое из дистрибутивов FreeBSD, что можно было бы взять за основу и развивать, но пока что ничего такого не наблюдается.
Так что займусь тем, что уже есть и работает, а потом можно будет и во FreeBSD принести полученный опыт и наработки, когда придёт время.
![]() |
![]() |
реклама
Так что вернемся к разработке новой версии Chimbalix и поговорим о том, чего я хочу от новой версии операционной системы. Прежде всего, я хочу вычистить всё лишнее, чтобы уменьшить размер загрузочного образа насколько это возможно, и в этом деле мне поможет уже достаточно развитый Installer-SH.
Я, как дурачок, занимался компиляцией OBS Studio, чтобы встроить актуальную версию программы в дистрибутив, так как официально не существует адекватных установочных пакетов, не погрязших в аду зависимостей. Предустанавливал полезный софт в систему — всё ради удобства и функциональности. Но этот путь является тупиковым: я понял это уже давно, но не было возможности как-то повлиять на ситуацию.
Сейчас у меня есть Installer-SH, и тот же OBS Studio - уже есть в данном формате. Мне больше не нужно заниматься мракобесием с установкой этой программы через пакетные менеджеры. Благодаря Installer-SH я могу установить сразу две разные версии OBS Studio и одновременно их использовать каждую под свою конкретную задачу. Какой линуксовый пакетный менеджер такое осилит без «бубна»? Вопрос, конечно же, риторический.

Поэтому больше нет смысла встраивать в операционную систему софт вроде OBS Studio, когда он есть в формате под названием «Installer-SH». Также можно перепаковать и массивный LibreOffice, необоснованно разорванный линуксоидами на 40 отдельных DEB-пакетов.
![]() |
![]() |
Какой "умник" вообще догадался, разбить офисный пакет на четыре десятка отдельных установочных пакетов? Почему для Windows осилили создание нормального установочного пакета в едином .msi-файле, а для Linux — такое мракобесие? Не умышленное ли это вредительство?

И хотя я задумал перепаковать офисный пакет в свой, гораздо более удобный и жизнеспособный формат распространения ПО, мне придётся изрядно потанцевать с бубном, чтобы учесть и обдумать костыли, оставленные разработчиками проекта. Возможно, что-то придётся переделать и перенести в новый формат, ради наилучшего пользовательского опыта.

Так или иначе, эти «танцы с бубном» оставим за кадром. Сейчас же сконцентрируемся на очистке дистрибутива от всего, что можно вычистить без серьёзных последствий. Сразу под нож пошла OBS Studio 30, ибо сейчас есть и 31-я и актуальная 32-я версия в формате под названием Installer-SH. Нет смысла держать программу предустановленной, при наличии адекватного установочного пакета с ней.

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

Хотя иконки занимают ощутимое количество места, на самом деле они никому не мешают, в отличие от шрифтов Noto (No Tofu). Хотя сейчас установлены только базовые наборы Noto, это всё равно приводит к хаосу в программах, вроде графических редакторов и офисных пакетов: слишком уж сложно ориентироваться в огромном списке из сотен практически идентичных пунктов. Это уже не столько оптимизация размера дистрибутива, сколько улучшение пользовательского опыта.

Более того, большое количество шрифтов может приводить к тому, что некоторый софт, вышедший из рук не очень компетентных разработчиков (к примеру, последние версии Krita), может зависать во время обработки файлов и кэширования. Я ещё не решился на удаление шрифтов Noto, но серьёзно задумался над этим.

Пока что избавился только от LibreOffice, OBS и Godot Engine с ChimbaBench и это уже позволило заметно сократить размер установочного образа. Из серьёзного у меня ещё остался предустановленный Wine, удаление которого тоже приведёт к значительному сокращению размера образа, но проблема в том, что этот компонент удалять пока нельзя. У меня просто нет альтернативы для установки пригодного для использования компонента Wine. Линуксоидский мрак с репозиториями и пакетными менеджерами даже не рассматриваем сейчас.

Казалось бы: удалил то, удалил это — и всё, операционная система уже не такая полноценная, как была? И да и нет. Я не просто так разрабатываю и развиваю свой формат распространения ПО, уже превосходящий иные линуксоидные форматы, вроде Flatpak и Snap.
По сути, любой может манипулировать установкой и удалением пакетов через пакетные менеджеры, много ума на это не надо. Но что с последствиями такого «линуксоидного» подхода? Что если репозитории исчезнут или будут заблокированы в интернете? Вдруг владельцы начнут вредить пользователям? А если начнутся конфликты? Как пользователю потом вернуть то, что было удалено, если понадобится? Вот тут-то Chimbalix и отличается от прочих дистрибутивов Linux.
Благодаря формату под названием installer-SH я могу позволить себе удалить всё лишнее из операционной системы. Раз уж зашла речь: я сейчас работаю над установочным пакетом LibreOffice 26.2.5. Пока что у меня висит задача по интеграции шаблонов в контекстное меню проводника «Создать файл».

Но у меня уже есть некоторые идеи, да и ещё встаёт вопрос интеграции MIME-типов и иконок. Хотя это скорее второстепенные и не очень важные задачи в данный момент. В любом случае, эти нюансы следует взять на карандаш и реализовать в новых версиях формата под названием Installer-SH.
Так или иначе, пользователь всегда может зайти на официальный сайт LibreOffice и скачать набор DEB-пакетов, если категорически не желает использовать мой инсталлятор и если хватит навыков для установки. Никто никого не принуждает.
Пусть это не самое изящное решение проблемы интеграции шаблонов, но с чего-то нужно начинать. Почему мой инсталлятор до этого момента не умел сам устанавливать шаблоны? Да потому что это не нужно подавляющему большинству ПО: не было смысла распыляться на такие вещи. Но текущий случай показывает, что такой функционал следует реализовать, пусть он и не будет использоваться в 99% случаев. А этот уникальный пакет с LibreOffice оставим как есть, ибо некогда заниматься новой версией инсталлятора. Нужно сначала обкатать новые функции в реальном использовании и только потом браться за внедрение.

Единственная печаль — это языковые пакеты, которые нужно скачивать по одному с официального сайта. Более того, когда на сайте выходит новая версия программы, старые локализации тоже исчезают, а это очень плохо для пользователя. Знаете, какими выражениями я поминал того, кто додумался так раздробить всё на отдельные архивы по 300–900 килобайт? Не скажу, потому что это будет очень грубо.

Более того, я обратил внимание на переводы справки по использованию программы, однако проблема в том, что даже официальный источник потерял ряд архивов.

Как тут не вспоминать того, кто догадался раздробить языковые пакеты на сотню архивов? Зачем линуксоиды вечно создают такие проблемы на ровном месте?

Более того, каждый архив ещё и раздроблен на отдельные DEB-файлы. А ведь по структуре каталогов и файлов прекрасно видно, что абсолютно ничто не мешало сделать единый пакет локализации, включающий весь набор языков. Разработчики LibreOffice в прямом смысле издеваются над пользователями. Не знаю, как ещё это мракобесие назвать, если не издевательством.

Единственная проблема в том, что все локали в распакованном виде весят чуть больше 800 мегабайт. Вероятно, именно поэтому какой-то «умник» разбил всё на сотню отдельных архивов. Но в качестве компромисса я предустановлю ряд распространённых языков, а остальные вынесу в отдельный архив, который положу рядом с основным.

По-хорошему, следует разделить языки по регионам, только перебирать сотни пакетов и сортировать их — занятие не из интересных. Я и так приложил слишком много усилий, чтобы перепаковать несчастный LibreOffice в гораздо более адекватный и полноценный формат под названием Installer-SH.
Осталось протестировать и завершить формирование нового установочного пакета. Первым делом проверяю вспомогательный скрипт установки локализаций. Скрипт до ужаса прост, но при этом достаточно функционален, чтобы автоматически определить установленную программу или её отсутствие.
![]() |
![]() |
![]() |
Также проверяю интеграцию в файловый менеджер и работу выделенного домашнего каталога, предотвращающего конфликты при установке разных версий одной и той же программы. Отмечаю выявленные ошибки и исправляю их.
![]() |
![]() |
Отдельный камень в огород разработчиков LibreOffice, могу кинуть за паршивую обратную совместимость из-за зависимости от glibc 2.34+, что означает несовместимость с дистрибутивами Linux старше 2022 года. Иначе говоря, LibreOffice 26.2.5 запустится начиная с Debian 12 и прочих подобных дистрибутивов, не совсем ущербных. Более того, мой вариант в формате Installer-SH отлично устанавливается и работает даже там, где уже есть прибитый гвоздями к системе офисный пакет.
![]() |
![]() |
Вероятно, некоторые уже позабыли о том, что я работаю над дистрибутивом Chimbalix. Но что поделать, если приходится тратить время на адаптацию и переработку линуксоидного софта? Хочу я этого или нет, но это пришлось бы сделать в любом случае: операционная система без офисного пакета, не нужна и даром.
Кто-то может заявить, мол, мой инсталлер бесполезен и никому не нужен, но вот в чём дело: LibreOffice в формате под названием Installer-SH позволяет установить офисный пакет даже в китайском дистрибутиве Deepin. Когда там The Document Foundation осилят LibreOffice для этого дистрибутива Linux?

Когда LibreOffice выпустят официально для openSUSE, Manjaro, Slackware, ROSA и прочих дистрибутивов Linux? Вот вам и ответ, почему я не пожалел времени и сил на создание установочного пакета в собственном, гораздо более удобном и универсальном формате Installer-SH.

Более того, я ещё и сэкономил место на диске, потому что мой пакет с полным набором локализаций весит всего 280 МБ, в то время как оригинальный архив с россыпью DEB-файлов весит 208 МБ, а россыпь из 122 архивов с локализациями — 131 МБ. Итого имеем 280 МБ в удобном формате Installer-SH против 339 МБ в виде официальной «россыпи» пакетов.

Ну вот, одной заботой меньше. Теперь я могу быть спокоен, потому что офисный пакет в формате Installer-SH можно скопировать прямо на загрузочную флешку с дистрибутивом, если она записана в режиме Full-featured (writable LiveUSB).
https://github.com/Shedou/Chimbalix-Software-Catalog/releases/tag/libreoffice2625

Это было тяжело, по большей части из-за того, что разработчики проекта разорвали всё на полторы сотни кусков, которые пришлось собирать воедино. Но работа определённо проделана не зря. Можно продолжать чистку дистрибутива от застарелого хлама. Правда, нужно будет как-то ознакомить пользователей с новым форматом Installer-SH, в частности с тем, как его использовать.
Впрочем, статья и так уже разрослась до приличных размеров, полагаю, есть смысл завершить текущую часть, а работу над Chimbalix продолжить уже во второй части. Следите за обновлениями, чтобы не пропустить продолжение.

Благодарю за внимание, больше интересных статей в блоге Hard-Workshop.
Лента материалов
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.














