LINUX.ORG.RU
ФорумTalks

Хз, идеальный он или нет, но мне бы хотелось такой Линукс

 ,


0

1
  • Чтобы состав и границы системы были чётко определены. И система была не тем же унылым ворохом пакетов с накладными усами, а продуманным и проработанным набором функций, который не придётся менять и дополнять каждый месяц.
  • Чтобы остановилась или хотя бы максимально замедлилась безумная гонка изменений в API и системном окружении. Пусть функциональность системы только дополняется со временем; пусть будет некая стабильная сердцевина ядра, а всё остальное - в виде загружаемых модулей, можно даже изолировать остальное от сердцевины - например, чтобы оно могло напрямую читать/выполнять из сердцевины, но запись работала только через некий механизм безопасности.
  • Чтобы система была средой для запуска и работы программ для Linux, Windows и Android, выпущенных за последние *адцать лет. Линуксовым программам подсовываются нужные зависимости пофайлово, виндовым - тонко подогнанные Бутылки Wine (вплоть до патченого uxtheme.dll), андроидовым - виртуальные мобильные окружения на базе какого-нибудь минималистичного эмулятора.
  • Чтобы гарантированно работал графический интерфейс. Пусть в виде универсального видеодрайвера, который не может ничего лучше 1280х720@24, но чтобы РАБОТАЛО ВСЕГДА. Потом сколько угодно переключайся в консоль и убивай GUI.
  • Чтобы графический интерфейс был продуман на уровне проблем пользователя, а не был отражением кода. Например: большой рубильник «Программная графика»/«Аппаратная графика» вместо кучи кнопок и чекбоксов типа «установить проприетарный драйвер» и прочего.
  • Чтобы функциональная мощь Линукса была доступна через GUI. Например, прямо в свойствах окна приложения (через кнопку на заголовке окна) ограничить ему доступ к путям ФС и устройствам, задать сетевой интерфейс и звуковое устройство, и т.д. Или, например, через настройки меню приложений.


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

Да, только там возможность что угодно где угодно подправить от роду не валялась.

Ты это сейчас возможность пересобрать программу из сорцов за экслюзивную фичу выдал что ли?

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

Да, именно так. Пересобери мне rsyslog (и только rsyslog!) с пропатченным gnutls на любом из этих дистров. Чтобы в рантайме только он юзал этот пропатченный gnutls, естественно. Желательно в одну строку, и чтобы каждый апдейт обновлял эту колбасу в каждом её сочленении, но для убогих недодистров можно и скинуть какое-нибудь из требований.

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

Мимо комментарии ответил штоле? При чем тут почти единственная ОС с единым механизмом сборки и настройки, ума не приложу.

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

Пересобери мне glibc с кастомным патчем так, чтобы пересобрать glibc и только glibc, а не еще 12000 пакетов репозитория. Как nix осилит этот тривиальный для любого дистрибутива кейс, тогда и поговорим за практичность его применения.

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

Мимо комментарии ответил штоле? При чем тут почти единственная ОС с единым механизмом сборки и настройки, ума не приложу.

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

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

Это уже реально что-то психическое у тебя. Есть на форуме хоть одна тема с твоим участием, куда ты не пытался засунуть никс?

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

Возможно, что-то можно было бы позаимствовать из Nixos, но в целом, кмк, с ней перемудрили.

alex1101
() автор топика
Ответ на: комментарий от wandrien

Спасибо, что напомнил, в автосраче-то совсем забыл.

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

Линуксовый стек прикладных библиотек?

Тут вообще не при чем. Можешь на рубях или ноджээсе тот же фокус показать, ник у пофиг.

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

Можешь на рубях или ноджээсе тот же фокус показать, ник у пофиг.

На рубях я могу в rvm любой фокус показать, без необходимости обмазываться функциональными костылями на уровне пакетов ОС.

Тут вообще не при чем.

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

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

На рубях я могу в rvm любой фокус показать, без необходимости обмазываться функциональными костылями на уровне пакетов ОС.

Ахаха, давай. Для работы с устройством ввода или каким-нибудь libbpf нужны 1) константа из хедеров твоего ядра 2) нативная библиотечка. Твои действия.

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

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

И этот человек мне рассказывает, что у меня какие-то травмы, которые я не к месту приплетаю.

Необходимость в декларативной конфигурации на том же языке, что и пакетирование или reproducibility нужны любому ядру, любому юзерспейсу и любому языку. Язычковым ПМ, импотентным ПМ и якобы декларативным системы конфигурации пора на свалку истории, пиши ты хоть на джаве под фуксию. Твоя травма про C не при делах.

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

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

nix-фанатикам и больше никому.

Нормальным людям нужно, чтобы комп решал рабочие задачи, а не надрачивать на формат конфигов.

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

Это проблема, потому что нихрена ты, как выясняется, не можешь из своих рубей без единого ПМ, даже вонючую константочку не добудешь.

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

Пересобери мне

В чём проблема-то? В Debian есть некий набор новой информации, которую нужно усвоить, чтобы собирать патченные пакеты, но так вообще везде. Хоть что-то, но нужно будет выучить.

Несколько пакетов так в ручном режиме обновляю, пересобирая, когда выходят новые версии, чтобы наложить свои патчи.

Желательно в одну строку, и чтобы каждый апдейт обновлял

Это глупое требование, потому что нереализуемо в общем виде: патчи могут просто не наложиться. Например, апстрим может вообще отломать фичу, которую ты хочешь патчить. Нет файла — нечего патчить.

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

В чём проблема-то? В Debian есть некий набор новой информации, которую нужно усвоить, чтобы собирать патченные пакеты, но так вообще везде. Хоть что-то, но нужно будет выучить.

В дебиане нет API, чтобы наложить патч из условного ансибла и подсунуть результат условному rsyslog’у; причём ни подсунуть при компиляции, ни подсунуть в рантайме.

Это глупое требование, потому что нереализуемо в общем виде: патчи могут просто не наложиться.

И что теперь, не патчить что ли? Естественно, при апдейтах придётся перенакладывать. Но в дебиане это безальтернаттивно происходит на уровне ручных страданий мэйнтейнера, а в никсе этот патчинг можно делать самому. Или, например, вынести ядропатч в nixos-hardware, и это будет нормально и молча автоматически накладываться, собираться и собираться, скажем с тем, что раз у тебя корень на bcachefs, ядро будет само собираться из репы Kent Overstreet. А вот жить на дебиане с патчем к ядру можно только через боль, ручной труд и страдания, а composability этой поделке из 20 века только снится.

t184256 ★★★★★
()

По всем пунктам подходит Windows 11 с WSL и Android Subsystem

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

В дебиане нет API, чтобы наложить патч из условного ансибла и подсунуть результат условному rsyslog’у; причём ни подсунуть при компиляции, ни подсунуть в рантайме.

Есть. Называется Shell Scripting.

И что теперь, не патчить что ли?

Передёргиваешь.

Ты изъявил желание иметь «серебряную пулю». Я объяснил, что так не получится. А ты сразу от «универсальное автоматическое накладывание патчей не получится» мечешься к «не патчить вообще».

Но в дебиане это безальтернаттивно происходит на уровне ручных страданий мэйнтейнера, а в никсе этот патчинг можно делать самому.

Ух-ты! Я, оказывается, официальный мэйнтейнер! Иначе как объяснить, что мне удавалось пользоваться пропатченным под меня софтом?

Или, например, вынести ядропатч в nixos-hardware, и это будет нормально и молча автоматически накладываться, собираться и собираться

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

Из двух пакетов, которые я патчил наименее давно каждая смена версии корёжила патчи от старых версий. Без адаптации патчей автоматизация мало что даст. Всё равно нужно вручную распаковать, адаптировать патч, проверить, что он действительно меняет поведение на мне нужное.

А вот жить на дебиане с патчем к ядру можно только через боль, ручной труд и страдания, а composability этой поделке из 20 века только снится.

Ещё чуть-чуть, и я поверю, что определяющий компонент твоей индивидуальности это презрение к бинарным дистрибутивам.

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

Есть. Называется Shell Scripting.

Жаль тебе ставить клоуна, но заслужил. Покажи скрипт, который реализует патчинг gnutls для rsyslog, сравним с моим однострочником, и твои сомнения рассеятся, как туман.

Клоунаду про «зато твой ПМ не фронт-портирует патчи сам» готов комментировать, когда увижу, как твой при апдейтах накладывает хотя бы подходящие.

Ещё чуть-чуть, и я поверю, что определяющий компонент твоей индивидуальности это презрение к бинарным дистрибутивам.

Пф, это means to an end. Взял бы хотя бы декларативность конфигурации, которой в твоём дистре тоже нет.

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

Покажи скрипт, который реализует патчинг gnutls для rsyslog, сравним с моим однострочником

Ты пьян, что ли? Вот тебе скрипт:

patch -p1 < ../gnutls.patch

Но обычно патчи накладываются, когда пакет с исходниками распаковываешь. Распаковывается одной командой, да. Я очень сильно сомневаюсь, что в хоть каких-то из широко известных дистрибутивов нужно именно руками патчи накладывать, вызывая patch для каждого патча. Последний раз я такое видел, когда обновления ядра скачивали в виде патчей.

когда увижу, как твой при апдейтах накладывает хотя бы подходящие.

И этот человек что-то там про клоунаду говорит. Не дорос ещё искусственный интеллект чтобы решать, какие патчи подходящие, а какие уже нет. Отсутствие ошибок при выполнении patch не означает, что патч подходит для новой версии. Требуется внимание человека.

твой

Вот это вообще мегалол. Всё скатилось к «мой папа круче твоего».

Пф, это means to an end.

Не-а. Твоё поведение ни разу не прагматизм, оно просто очередное «btw i use arch». Зачем прагматику бегать и в каждую бочку орать, что он гвоздь молотком забил, что молоток рулез, и что все другие инструменты отстой, а когда ему говорят, что есть другие инструменты, пытаться взять на понт и требовать забить гвоздь, скажем, отвёрткой?

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

Ты пьян, что ли? Вот тебе скрипт: patch -p1 < ../gnutls.patch

Нет, ты. Вот тебе ответ: rsyslog.override({ gnutls = gnutls.overrideAttrs(oa: {patches = oa.patches ++ [./some.patch]; }); })

А то, что написал ты, не только запрошенных мной целей не достигает, даже пакета не даёт. Страшно даже представить, через что ты тогда проходишь раз в апдейт всей системы, если это весь твой «скрипт».

Не дорос ещё искусственный интеллект чтобы решать, какие патчи подходящие, а какие уже нет. Отсутствие ошибок при выполнении patch не означает, что патч подходит для новой версии. Требуется внимание человека.

Просто нет. Никто не фронт-портирует патчи при каждом ребэйзе, пока тесты падать не начнут или баг не найдется.

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

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

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

которая не может обработать ни одного особого случая и банально виснет или молча умирает без сообщений об ошибках

Альтернативой будет код, где эти обработки ошибок и прочий мусор весит больше самого алгоритма. На энтузиазме такое писать просто невкусно и муторно, а денег никто вливать в это не будет.

yu-boot ★★★★★
()

Мне кажется, что нужна какая-то универсальная VM машина - типо виртуалки, с подобными функциями. Это можно реализовать в одном проекте, но не возможно сделать - как платформу. Идея хорошая... но много вопросов сразу возникает про согласование разработки такого объема... Вытикает - нужно иметь некий стандарт, пусть сначало на бумаге, как POSIX. А дальше можно было от него оттакливаться.

nager
()
Ответ на: комментарий от yu-boot

В любой большой программе так и есть, сам алгоритм как концепт для идеального случая занимает процентов 10, остальное тупо обработка ошибок и частных случаев и вывод диагностик)

wandrien ★★
()

Примерно понимаю, что хочет ОП. В полном объёме этого вообще нигде нет, особенно последнего пункта, ни в шинде ни в гейОС ни в андроиде. Кеды что-то такое пытаются изображать, и то только на уровне настройки внешнего вида, больше ничего не вспоминается.

Но это нужна централизованная разработка, и разумеется деньги, чтобы кодеры писали «неприятное и неинтересное». За деньги, одна фирма -> будет ещё один зонд и банальное арабство. С линукс-панкотой будет примерно как сейчас всегда. Или-или, два стула. Увы.

yu-boot ★★★★★
()
Ответ на: комментарий от Lordwind

На маке такое только недавно внедрили, так что статистикой не владею

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

no-dashi-v2 ★★★
()

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

Чтобы остановилась или хотя бы максимально замедлилась безумная гонка изменений в API и системном окружении.

Дистрибутивы Линукса собирают специально обученные обезьянки (мейнтейнеры) из того что смогли найти на помойке в Интернете. Писать свой софт обезьянки не умеют, они умеют только подгонять запчасти с помойки друг под друга. Так что если например в новой версии GTK опять поломают API, обезьянкам ничего не останется кроме как смириться и собрать что к нему подходит и выкинуть что не подходит.

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

Мне тут уже объяснили, что никак нельзя отставать от этой шизоидной гонки на костылях, иначе жопа отвалится 😄

alex1101
() автор топика
Ответ на: комментарий от yu-boot

Скритовая системная «мелочь» должна работать надёжнее любых приложений, а не отвяжись.

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

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

no-dashi-v2 ★★★
()
Ответ на: комментарий от no-dashi-v2

Но разве политика закрытия и ограничения не должна вести к большей предсказуемости и стабильности?

alex1101
() автор топика
Ответ на: комментарий от alex1101

Нет. Это вообще крайне слабосвязные сущности. Предсказуемость и стабильность должны достигаться качеством вода и тестированием, а не ограничением. Когда ты выкидываешь работающий стабильный драйвер, система не становится стабильней. Она становится ограниченней.

no-dashi-v2 ★★★
()
Ответ на: комментарий от alex1101

Тем что не загружаю в ядро код от всяких васянов, очевидно. А специально для не понимающих, я поясню - «я не делаю, но могу сделать» и «я не делаю потому что это невозможно» это совсем не одно и то же

no-dashi-v2 ★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)