TGViewer
Гепардово гнездо Гепардово гнездо @gepardchan · 617 subscribers
Post #86 814
https://t.me/itpgchannel/921
https://stal-ix.github.io/

Есть вот такой интересный проект пакетного менеджера и Linux (но не GNU/Linux!) -дистрибутива от pg. Коротко расскажу про отличия от каноничного GNU/Linux:
- во-первых, все бинарники полностью собраны статически, и никаких so'шек нет. Что позволяет как переносить существующие программы куда угодно, так и собирать свои программы статически
- во-вторых, каждый пакет может существовать более чем в одной версии. Система позволяет держать набор realm'ов (чем-то похожи на virtualenv в питоне, только они питоном не ограничиваются)
- в-третьих, дистрибутив пытается еще и упростить задачу кросс-компиляции (то есть, например, можно легко компилить бинарники для любой платформы, находясь при этом на x86)
- в-четвертых, сам способ описания пакетов довольно необычен: для этого используется Jinja-шаблоны, которые собираются в JSON с shell-командами и метаданными. Описание пакета выглядит компактно и настраиваемо, но иногда приходится копаться в слоях шаблонов, чтобы дойти до сути

Примеры использования можно посмотреть здесь.

Еще дистрибутив пробует в bootstrap: собирает всю систему, имея лишь исходники, компилятор C++, Python и shell. Казалось бы, очевидно, что из исходников можно собрать что угодно, но на самом деле все сложнее: например, для сборки компилтора Rust нужен компилятор Rust прошлой версии, и, имея лишь исходники, придется сначала собирать очень древний rustc, а потом многократно собирать все новые и новые версии, пока не дойдет до актуальной.

Я пробовал stal/ix где-то в августе, тогда он еще был очень сырой и почти без документации. Сейчас, скорее всего, ситуация уже сильно получше, но надо смотреть. В целом, основная часть работает как ожидалось, и статические бинарники вполне себе собираются и работают. Из минусов — чтобы это все установить, надо почувствовать себя немного пользователем Gentoo и пару раз дожадаться полной сборки Clang из исходников (а это часа два на восьми потоках CPU). А еще сейчас для установки требуется самому конфигурировать ядро (я тогда ставил в VirtualBox и смог написать и законтрибьютить конфиг ядра для VirtualBox).

А еще пакетный менеджер ix можно поставить отдельно, параллельно с любым классическим дистрибутивом. Увы, документации про это пока нет. Такой режим установки точно избавит от необходимости собирать ядро, но вот Clang собирать придется.
  • 👍 6
  • 🤯 3
  • 💩 2
More from @gepardchan
  1. Sep 7, 2025Итак, расскажу о том, что я сделал еще давно, но про что все никак не доходили руки написа…
  2. Dec 10, 2024https://habr.com/ru/post/472970/ Статья 2019 года, то есть довольно старая, с учетом того,…
  3. Nov 30, 2024Сегодня читал про то, как Debian везде перешел на 64-х битный time_t. Изменение войдет в р…
  4. Nov 26, 2024https://www.ryanliptak.com/blog/every-rc-exe-bug-quirk-probably/ Не знаю, как вы, а я прос…
  5. Nov 22, 2024Еще про проклятые фичи баша https://yossarian.net/til/post/some-surprising-code-execution-…
  6. Nov 21, 2024Про переписывание истории В баше (а точнее, в GNU Readline, который используется башом), е…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →