о, на самом деле, иногда нужно. бывает лень выпиливать из софта локали, чтобы адаптировать его под musl. я уж даже сама подумывала написать такую заглушку.
Я это делал, чтоб на генте eselect locale заводилось.
А зачем выпиливать из софта локали? Или оно настолько с C работать не умеет? (Имеется в виду C Locale, конечно)
Ну их нету, но собери libintl, а также gettext (прекрасно собирается) и будут тебе локали. Моя приблуда только поможет самой libc локали задать, и то pot файл у меня кривой.
у меня полно такого софта, который хочет локали из glibc. выпиливала просто вручную эти обращения. если есть некая заглушка, чтобы они не выпендривались и нормально работали - это замечательно.
Просто хотелось б пару программ в Alpine попробовать собрать. Не могла бы ты ответить на пару вопросов о void (именно о варианте с musl)? А то покупка SSD - хороший повод для смены дистра.
void c musl развивается. я не могу сказать, что я сильно активный юзер в том плане, что большинство софтин, которые средний юзер использует, мне не нужны. и наоборот. собственно, я использую i3wm, сижу на Void'е уже несколько лет. причём сборка с musl. проблем не испытываю. но я программист на С/C++ с большим опытом и, например, несобирающийся пакет для меня - не проблема. я собрала образ для загрузки и установила Void c musl на сервер, удалённо, в headless установке. всё работает. но я это как-то даже не документировала, не было необходимости.
у меня есть несколько софтин, которые я просто пропатчила, собрала и установила, без опакечивания. и есть некоторые уже опакеченные софтины, которых не было в репозитории. опакечивание в Void очень простое и по сравнению с другими дистрами исключительно приятное (для программиста). сам Void - rolling дистрибутив, с постоянными апдейтами. но их репозиторий с патчами и темплейтами пакетов для сборки - это git, так что в принципе собрать можно сборку на любой момент, если приспичит. у них есть бинарные репозитории. в принципе, у них свежие пакеты. практически всегда самое последнее стабильное ядро. компиляторы апдейтятся тоже довольно шустро, хотя 8-го gcc ещё нет. но нет никаких проблем собрать. из минусов - не всегда прописаны все зависимости и надо иногда соображать, что ставить. например, c i3wm не тащиться i3status и, например, какая-нибудь менюшка. предполагается, что юзер понимает, что это понадобится, и сам выберет нужные ему дополнения. также бывает, что конфиги к разным сервисам с нуля либо не совсем валидны, либо вообще отсутствуют и надо писать руками. но это редко. сама система сборки пакетов меняется редко. но иногда меняется.
из проблем фиксов для Void c musl - всё то же, что и на любом дистре с Void: локали, более строгие требования к выделению памяти (она не чистится по умолчанию и многие проги глючат из-за предположения, что им выдали занулённый блок памяти - это надо проверять). косяки возникают с использованием udev. Void использует eudev, взятый из генты, причём пропатченный. там более урезанный функционал по сравнению с мейнстримовым udev и иногда приходится в связи с этим править соответсвующие вызовы в софтинах. естессна, никакого ненужно-д нет. в качестве старта используется runit. мне он нравится простотой и лёгкостью конфигурирования. но из некоторых софтин таки надо выдирать с мясом остатки поддержки ненужно-д.
вот как-то так, в общем. на конкретные вопросы про Void могу ответить, если нужно. да, у Void есть IRC на freenode и там тоже отвечают на вопросы. причём там бывает и основной майнтейнер дистрибутива, так что всё вполне адекватно.
На IRC мне сидеть пока некогда, т.к. пока я не уволился, времени в край нету.
Ну и вопросы про Void:
RUnit - это проблема.
Что по USE? Или там больше Arch-way (использую Arch наряду с Gentoo уже более 7 лет, начинал еще со старого, с bsd-style init и rc.conf).
Что c DE? На gentoo была целая проблема их собрать - много пакетов требовало glibc-only фичи, ну и нетривиальные. А я хоть и кое-что в C могу, но не настолько (т.е. быстро поменять заголовочники и добавить прототипы/инлайн заглушки - не проблема, а вот быстро переписать алгоритм, не копируя функционал glibc - та еще)
Можно ли из void сделать полностью ненормальный linux (без gcc и binutils, с clang и libc++)? Если да, то насколько затратно?
Что там с подобием AUR? есть ли такой же великий репозиторий (один, чтоб не искать кучу)?
Формат пакетов чем хорош (именно формат, не ПМ)? он вроде на баш-скриптах и похож на PKGBUILD. И почему всем не нравится RPM?
Мб я извращенец, но вот моя мечта:
musl (но с пофикшеными локалями)
clang как основной (gcc - только для ядра, а я в ядро хоть и умею в сборку и модули - хелловорлды, но не фанат)
systemd (знаю, что ненужно, но без него проблем куча с logind, который гвоздями прибит)
wayland (адекватный, с десктопным протоколом)
не Gnome, не тайлы, а что-то вроде старого LXDE, но на последнем GTK (сам пилю такое помаленьку)
RPM (и только RPM), ибо кастомный формат - это гуд, но все же RPM везде из коробки (CMake, meson, portage), и значит - самый портабельный формат пакетов (если без патчей).
у меня есть несколько софтин, которые я просто пропатчила, собрала и установила, без опакечивания. и есть некоторые уже опакеченные софтины, которых не было в репозитории. опакечивание в Void очень простое и по сравнению с другими дистрами исключительно приятное (для программиста). сам Void - rolling дистрибутив, с постоянными апдейтами. но их репозиторий с патчами и темплейтами пакетов для сборки - это git, так что в принципе собрать можно сборку на любой момент, если приспичит. у них есть бинарные репозитории. в принципе, у них свежие пакеты. практически всегда самое последнее стабильное ядро. компиляторы апдейтятся тоже довольно шустро, хотя 8-го gcc ещё нет. но нет никаких проблем собрать. из минусов - не всегда прописаны все зависимости и надо иногда соображать, что ставить. например, c i3wm не тащиться i3status и, например, какая-нибудь менюшка. предполагается, что юзер понимает, что это понадобится, и сам выберет нужные ему дополнения. также бывает, что конфиги к разным сервисам с нуля либо не совсем валидны, либо вообще отсутствуют и надо писать руками. но это редко. сама система сборки пакетов меняется редко. но иногда меняется.
Это мне нравится, но что-то слишком на Arch похоже. И если есть AUR или подобие - можно попробовать, потому что не хочу слишком большой кастомный реп себе.
я не могу ответить на большинство твоих вопросов, потому что дистр моей мечты - отсутствие ненужно-д, вяленого и gcc в качестве компилятора :) собсна, в этой конфигурации всё работает без проблем и я её использую.
насчёт гуёв - честно говоря, я не пробовала. я не люблю гном с тех пор, как появился третий гном. это всё тяжёлое, тормозное и это невозможно юзать. в Void есть какие-то DE, но я их не пробовала. попробовала только Enlightenment, так как он был для меня новым. не понравилось. но я оттуда стащила удобный эмулятор консоли Terminology. но LXDE там в репах есть, я только что посмотрела. вообще, вот поиск пакетов: https://www.voidlinux.eu/packages/
я не знаю, что такое AUR. у Void есть репозиторий сборочных скриптов на Github для сборки из сорцов. также есть несколько зеркал бинарных репозиториев. в том числе, с glibc и с musl. можно легко и быстро создавать свои собственные репозитории.
формат пакетов мне нравится своей простотой. и минимализмом. пакетный менеджер - на скриптах. но часть утилит для него компилится из сишных сорцов. скрипты в самих пакетах ты можешь писать на чём угодно, если пропишешь соответствующие зависимости для билда. но логично их писать на баше, потому что он довольно мал. впрочем, никто не запрещает юзать другие средства.
я не могу ответить на большинство твоих вопросов, потому что дистр моей мечты - отсутствие ненужно-д, вяленого и gcc в качестве компилятора :) собсна, в этой конфигурации всё работает без проблем и я её использую.
Ну, а чем clang не угодил? Насчет systemd - да, я тоже не особо люблю, что он прибит, но не каждую же софтину патчить (гемор несусветный же). А wayland - он просто пока недопилен. Хотя по мне он ОК.
репозиторий сборочных скриптов
AUR - это сие для ArchLinux. Там 44099 скриптов для сборки. Насколько я понимаю, формат void очень похож на Arch PKGBUILD. Можно, мб, и конвертер написать и получить все блага автоматически.
LXDE там в репах есть, я только что посмотрела.
Спасибо, но я все равно свой псевдо-DE соберу из кусков MATE, LXDE и неизменной vala-panel (ее в репах точно нет). Потому что если брать целиком - то или тормозит, или бажит, или еще что-то. Вот из кусков и собираю.
формат пакетов мне нравится своей простотой. и минимализмом.
Это все гуд. Но в таких форматах нет портабельности - почему и хочу RPM. Он на любом почти дистре соберется.
Кстати, а в void есть разруливание зависимостей по либам, как в RPM (т.е. пакет A требует не пакет B версии X.Y, а libB.so.X.Y, а откуда уж она у тебя - ему пофигу)?
жрёт ресурсы. я сторонник оптимизации, а не написания «красивого» софта, исходя из теории. мне даже предлагали его разрабатывать. я подумала, что не хочу писать на плюсах, и отказалась. иначе меня бы мучила совесть за то, что он жрёт так много ресурсов, а не жрать он в принципе не может: это ООП в полный рост.
Но в таких форматах нет портабельности
я не запариваюсь насчёт портабельности. в конце концов, я могу собрать нужные мне софтины из сорцов. и у меня сейчас нет других дистров на моих серверах. так что меня формат пакетов устраивает вполне.
И как void на серверах? По сравнению с признанными титанами, такими как debian и CentOS?
Хотя debian я не люблю - формат пакетов у него - повеситься можно. Но так, откуда я увольняюсь, только его можно было.
Я лично боюсь роллинг на сервера ставить, потому что падения и прочее, надо больше заморачиваться по отказоустойчивости.
он шустрее в десять раз :) по крайней мере, с musl. если умеешь обращаться с ручной настройкой. и у меня сервера не коммерческие, я там только свои задачи кручу. так что меня никто не принуждает ставить дистры с «поддержкой» или ещё чего-то там. для личных нужд у меня там поднято мыло, всякие там openvpn со сквидами. я там собираю сорцы. всё работает.
у меня не гента, а Void и собираю я пакеты, которых там нет в принципе. разные утилиты, которые мне нужны и прочее такое.
Зачем вы тратите своё время на Linux? Это только ядро, а не система. Могли бы присоединиться к проекту FreeBSD и иметь огромную базу кода и восстребованность своих усилий по портированию и сопровождению нового ПО. Кстати, GCC8-devel (срез 20180107) доступен в портах и может с некоторыми оговорками собрать ядро и систему из исходников, многие порты не привызаны к сборке системным LLVM/Clang - есть поле для экспериментов, анализа и оптимизаций.