LINUX.ORG.RU

самый продвинутый и юзабельный дистр в 2020

 , , , ,


0

3

Всем привет. Хочу выбрать себе дистрибутив мечты. В силу различных причин я давно не использовал Linux на десктопе, зашел на дистровотч - смотрю, много дистров появилось разных на любой вкус. За ограниченное время разобраться во всем этом досконально нереально, а полжизни тратить тоже не хочется. Но поверхностно все же что-то оценить пришлось и у меня сформировались такие критерии для выбора:

  1. Не rpm-based (стабильность RHEL и CentOS мне не нужна, а свежий софт очень даже). OpenSuse мало пакетов, Fedora не рассматриваю тоже, когда пробовал была глючной какой-то бета-тестинговой мурой. Но! Хочу иметь возможность поставить rpm в систему штатным pm - куча разного пропритерного софта выпускается под rpm-only.
  2. Это может быть бинарный дистр, но в котором легко опакечивать нужные тебе программы. Может быть и source-based, но так чтобы было просто подключить бинарную репу с вменяемыми и более менее протестированными сборками, либо еще лучше где бинари собираются с минимальными зависимостями, а тем, кому не хватает, просто перекомпилять штатным pm, слака не подходит для такого варианта или LFS. Подходит и вариант, типа gentoo, когда опакечены только самые жирные проги, но все же в gentoo их было мало, когда я на нее последний раз смотрел, то что собирается за пару минут вообще не проблема поставить из исходников (со своими USE-флагами или аналогами, естественно).
  3. Если бинарный дистр, то без systemd (сразу очень многие дистры отпадают, что остается? Devuan, Void, Crux, NixOS, Guix, еще может парочка производных от Арча) и другими глупыми зависимостями типа какая-то прога на Gtk тащит Gnome или Qt-утилита пол-KDE.
  4. Нужен какой-то компромисный вариант между rolling-release и stable-окаменелостью. Ролллинг не подходит хотя бы потому что я не собираюсь обновлять систему очень часто, а только те пакеты, новые фичи в которых меня интересуют. Варианты обновляться через день, раз в неделю или даже раз в месяц, чтобы потом не зарешивать какие-то стремные проблемы - проходят мимо. Debian-stable тоже не то, слишком старый софт. В идеале иметь систему в которой системные штуки отделены от прикладного софта, системщину обновляем отдельно (по необходимости, и версии некоторых программ фиксируем), или можем выбрать только security-updates, а вот среды разработки, компиляторы / интерпретаторы языков, чтобы обновлялись на самые свежие. Hardened-gentoo не очень шарю о чем это, но звучит интересно, если можно расскажите в двух словах, как оно на практике и какие существуют аналоги?
  5. Возможность тонкой настройки зависимостей если_надо. Из тех дистров, что я знаю это gentoo и производные, но я бы лучше поставил бинарь, и если меня там не устривают зависимости (их надо иметь возможность предварительно посмотреть перед установкой) - тогда собираю из сорцов, а если устраивают ставлю предкомпиленный пакет от мейнтейнеров. Во FreeBSD примерно так оно и работало (6.0 последняя версия, которую юзал).
  6. Адекватная политика мейнтейнерства, не заброшенный дистр, но и не такой, который воплощает в жизнь идеи отдельной корпорации. Софт обладает какой-нибудь степенью надежности, а политика сборки и опакечивания не скомпроментированной репутацией, адекватные зависимости и все такое. Если ты научился норм опакечивать, то чтобы было просто закоммитить свой пакет, а не всем было наплевать.
  7. Легко настраивать, менять и перекомпилировать ядра так, чтобы потом, если что можно было откатиться на последнюю рабочую версию.
  8. Возможность одновременно устанавливать и использовать несколько версий одного и того же пакета удобным способом (как я понимаю, эти возможности есть в gentoo в той или иной степени и nixos / guix, может еще какие-то варианты решений существуют без излишнего оверхеда?). При этом часть программ, которые я выбрал, пусть зависят от библиотек и других программ динамически, т.е. не каждый пакет с собой жестко тащит конкретные версии, а есть опции настройки.
  9. Дефолтное окружение и ядра без проприетарщины, НО если очень хочется - то должен быть простой способ ее вкомпилить в ядро, выбрав конкретно что нужно или подключить бинарный оверлей / репу. Относительная степень трастовости тоже важна, на сколько это конечно возможно в случае проприетарщины.
  10. Фичастый пакетный менеджер. Как я понимаю, самый продвинутые сейчас это nix, guix, portage и pacman. Может есть еще что-то, о чем мало кто знает?
  11. Какие-то простые преднастроенные дефолты не очень интересуют, minimal-install вполне покатит как основа. Но опять же, если есть на основе дистра хороший live-cd - то welcome! (псевдо)-графический инталлятор тоже гуд, не хочется все руками настраивать, хотя это не фатально.
  12. Если это производный дистр, то обязательна бинарная совместимость с базовым или использования сорс-оверлеев базового дистрибутива (возможно, как дополнительных, главное совместимость).
  13. Archlinux, Debian, Ubuntu, Mint, Manjaro, OpenSuse, Slackware, Elementary, MX, Antix, Megeia, Altlinux не предлагать. Спасибо :)

P.S.: пока что рассматриваю такие варианты - Guix (смущает полное отсутствие проприетарщины и сыроватость), NixOS (не нравится язык настроек, неясно, как там с сорс-бейзд), Funtoo (кажется полузаброшенным), Gentoo (слишком дофига компилять, бинарные репы скудные), Void (пакетов мало), Devuan (почти все те же проблемы, что у Debian, кроме SystemD), Crux (слишком хардкорно).

Кстати, самая большая проблема генты - реализация мультилиба. Его по логике надо было слотами делать. Вот в дебиане ставятся пакеты разных архитектур независимо, мало того, можно поставить параллельно армовые архитектуры и пускать эмулятором. Всё разместится в /usr/lib/(триплет).
А в генте получается - каждая архитектура ставится с одинаковыми юзфлагами. На x32 это приводит к невозможности использования llvm поскольку llvm не умеет x32 и ты не можешь отключить юзфлаг для одной из архитектур

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

И что в этом плохого?

Я писал не про „хорошее“ или „плохое“ а про то что все gentoo-based, в условиях когда всю работу выполняет гента, умереть очень трудно.

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

С gentoo есть такая проблемка

„Такая проблемка“ есть с твоими хотелками - их реализовать можно только в LFS, gentoo…

init_6 ★★★★★
()
Ответ на: комментарий от no-such-file

конкретно п.6 т.е. чтобы не было местечковым полудохлым болдженосом. Нет пути.

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

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

Разрешаю. Но я на ноуте отключал Secure Boot. Как с ним работает (и работает ли) войд, я без понятия.

kachsheev ★★★
()

Funtoo. Как бы роллинг релиз у гентушных оверлеев (которые можно использовать без изменений) и релизы в основных репах. По остальным пунктам подходит так же как и Gentoo.

UPD: > Funtoo (кажется полузаброшенным)

Чо? Почему?

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

полжизни тратить тоже не хочется.

пришел на готовенькое?

стабильность RHEL и CentOS мне не нужна

две звезды, а все равно путаешь с неизменяемостью

бинарный дистр

что меншает в любом дистре собрать все что угодно из исходников?

без systemd (сразу очень многие дистры отпадают

не, давай сразу свободные дистры, системд это баян уже

Дефолтное окружение и ядра без проприетарщины

сколько раз в день смотришь исходники?

по сабжу - фряха

chenbr0
()

NixOS. Как это не нравится язык настроек, он лучше галимой схемки

anonymous
()

Но! Хочу иметь возможность поставить rpm в систему штатным pm - куча разного пропритерного софта выпускается под rpm-only.

О других претендентах ничего сказать не могу, но в gentoo пакет openoffice-bin устанавливается из rpm посредством portage.

Но нужен ebuild файл

Из бинарных пакетов есть libreoffice-bin, firefox-bin, google-chrome, openjdk-bin и ещё чуть, но маловато.

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

Всмысле не хочешь??? Ну предложи замену которая поддерживает ДЕКЛАРАТИВНОЕ конфигурирование, переведи все пакеты на неё

anonymous
()

Очень нравится под такие потребности artixlinux (качественный arch на любой вкус нелюбителям systemd? openRC, Runit, S6) и voidlinux.

В void-е имея инструменты в виде rpmextract и прочие, проблем даже со всякой экзотикой типа 1C не испытывал.

One ★★★★★
()

Классический сборник взаимоисключающих требований, неосиляторства и фанатизма.

Alve ★★★★★
()

слака так-то почти по всем пунктам подходит. не нравится slackpkg - в слакбилдах есть nix

Avial ★★★★★
()

Предлагаю вот такой набор:

  • Slackware 14.2 x86_64
  • sbopkg - ПМ для сырцовых пакетов
  • slackpkg+ - ПМ для бинарных пакетов
  • nix - Продвинутый ПМ если нужно что то необычное, например несколько версий одной программы одновременно

Лучше Gentoo потому что есть бинарные пакеты, лучше Void потому что не RR, лучше Guix и Nix потому что есть нормальные пакеты, система в целом проще, и привычнее.

stasolog
()
Ответ на: комментарий от cetjs2

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

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

Это выглядит как раковая опухоль с метастазами.

anonymous
()

Calculate linux посмотри, бинарная гента.

TheKnight ★★★
()

… Debian … не предлагать.

Ну и зря.

Rootlexx ★★★★★
()

Самые продвинутые и юзабельные дистрибутивы ты уже исключил

neocrust ★★★★★
()

Fedora не рассматриваю тоже, когда пробовал была глючной какой-то бета-тестинговой мурой

Дальше читать не стал.

papin-aziat ★★★★★
()
Ответ на: комментарий от alienclaster

там какие-то сложности с пересборкой мира и свои приколы, короче оно не генту и не совсем надстройка над ним.

Я не знаю какие там сложности - превращал Gentoo в Calculate и наоборот пару лет назад без каких-либо проблем. Может быть ты перепутал с Sabayon? Там свой пакетный менеджер и есть некоторые из описанных тобой трудностей(по крайней мере они возникли у меня)

Pinkbyte ★★★★★
()

Под твои хотелки лучше всего подходит Void. Хотя я бы всё же взял Arch и выпилил systemd — это не так уж сложно. Хотя тебе ещё и обновляться не нравится… Явный Void тогда.

anonymous
()
Ответ на: комментарий от alienclaster

Ладно, расскажу.

Легко ли туда установить rpm?

Установить легко, пользоваться не пробовал.

Что с LTS-ветками и security-updates?

Есть два канала, один с релизами раз в полгода, другой — unstable.

Я пользуюсь unstable. Если обновление что-то ломает (что происходит редко), я просто откатываю его командой nixos-rebuild switch --rollback, пишу issue в nixpkgs и жду пока починят.

Просто ли в поставить проприетарщину

Просто, нужно лишь включить nixpkgs.config.allowUnfree.

Что на счет совмещения, например, guix поверх gentoo?

Так можно, но зачем?

Как там дела с графическим (или псевдографическим) установщиком?

Нет ни того, ни другого. Но ручная установка очень проста, nixos-install делает почти всё сам.

Есть ли возможность зафиксировать или обновлять только часть пакетов

Есть, но довольно неудобная. Когда, наконец, завезут Flakes, станет удобно.

а часть например пусть обновляются с динамическими либами

В NixOS нет свалки в /usr, так что несколько версий одной и той же либы могут мирно сосуществовать. Приложения используют именно ту либу, от которой зависят.

и чтоб можно было самому это все настроить нормально

Nix это тьюринг-полный dsl которым конфигурируется вся система целиком.

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

Есть два канала, один с релизами раз в полгода, другой — unstable.

Хотелось бы скорее что-то в таком духе: stable + sucurity updates (можно только для системных утилит), и выборочно интересующие меня программы обновлять из unstable. Мне не нравится подход в стиле «чтобы все не грохнулось при обновлении, надо обновлять часто», обычно я не часто что-либо обновляю, только критические уязвимости и до unstable версий с новыми фичами именного того софта, который использую непосредственно в работе.

Если обновление что-то ломает (что происходит редко), я просто откатываю его командой

Откатывается все или только то, что криво встало?

Так можно, но зачем?

Использовать фишки (типа юзфлагов, слотов итд) и репу генты.

Есть, но довольно неудобная. Когда, наконец, завезут Flakes, станет удобно.

А Flakes не костыль в подобных системах? Почему бы данный функционал не реализовать с помощью штатного pm?

Приложения используют именно ту либу, от которой зависят.

На сколько просто изменить зависимости для конкретного приложения? Можно ли указать для группы приложений, чтобы они зависили от либы версии >= x.y?

В идеале я хотел бы видеть (или настроить) возможность, например, отдельно обновлять системные либы (указать перечен, лучше преднастроенный список) и программы отдельно, gui и de, отдельно среды разработки, например, и какие-то проприетарные пакеты. Как такое организовать?

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

Fedora Silverblue бы подошла, но там systemd.

Deleted
()

Теперь по пунктам.

Не rpm-based

Debian не rpm-based.

Хочу иметь возможность поставить rpm в систему штатным pm - куча разного пропритерного софта выпускается под rpm-only.

Например?

Есть возможность конвертировать rpm в deb с помощью alien и установить штатными средствами.

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

Лёгкость опакечивания относительна. В принципе, достаточно базового понимания, что делаешь, для получения которого можно почитать документацию [1] [2].

Если бинарный дистр, то без systemd

Не читайте до обеда советских газет и крики фанатиков. У systemd есть и плюсы, и минусы - но не просто так на него перешли практически все крупные дистрибутивы.

Если прямо «аж трисёт» от systemd - можете посмотреть в сторону Devuan. (Хотя степень невасянства данного дистрибутива и непротиворечие п. 6 вызывают некоторые сомнения.)

Нужен какой-то компромисный вариант между rolling-release и stable-окаменелостью

Debian-stable тоже не то, слишком старый софт

ПО в stable, действительно, не самых последних версий, но тут вопрос: вам шашечки или ехать?

Если для какого-то ПО необходима версия поновее, то есть несколько вариантов:

  1. В официальный репозиторий stable-backports попадают новые версии программ, собранные в окружении стабильной ветки. Однако там есть не все пакеты.

  2. Если нужной программы нет в backports, можно воспользоваться flatpak/snap.

  3. Ещё можно смешать ветки, установив нужные пакеты из testing/unstable/experimental. APT имеет гибкую систему приоритетов, позволяющую разруливать установку и обновление пакетов из разных репозиториев.

Например, у меня в stable установлен gnome-boxes из testing, для чего добавлен репозиторий testing, и в /etc/apt/preferences.d/default.pref указано:

Package: *
Pin: release n=buster
Pin-Priority: 990

Package: *
Pin: release n=buster-updates
Pin-Priority: 990

В результате простая команда apt install <пакет> будет устанавливать из stable, а для установки из testing можно использовать apt install <пакет>/testing или apt -t testing install <пакет> (вторая форма приведёт к установке и зависимостей из testing). При этом пакет, установленный из testing, будет продолжать обновляться из testing.

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

Возможность тонкой настройки зависимостей если_надо

Дистрибутив двоичный, поэтому просто так исключить необходимые зависимости не выйдет. Однако в APT есть несколько уровней зависимостей:

  • Depends, которые нельзя проигнорировать. Туда обычно попадают библиотеки, с которыми связана программа.

  • Recommends, куда попадают пакеты, которые скорее всего тоже понадобятся, например, gcc рекомендует libc-dev. Такие зависимости включены по умолчанию, однако их можно не устанавливать в каждом конкретном случае или вообще отключить.

  • И другие.

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

Если не устраивают зависимости из ряда неотключаемых, то можно штатным образом установить зависимости для сборки пакета командой apt build-dep <пакет>, скачать его исходный код командой apt source <пакет>, изменить правила сборки, отключив соответствующую функциональность, и пересобрать.

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

Присутствует.

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

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

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

Это практически в любом дистрибутиве так, разве нет?

Возможность одновременно устанавливать и использовать несколько версий одного и того же пакета удобным способом

В Debian это возможно лишь для библиотек (разные версии ABI которых технически являются разными пакетами). Установить несколько версий произвольного пакета штатным менеджером пакетов нельзя.

Вроде как желаемое можно осуществить с помощью flatpak в любом поддерживающем его дистрибутиве.

Дефолтное окружение и ядра без проприетарщины, НО если очень хочется - то должен быть простой способ ее вкомпилить в ядро

По умолчанию проприетарные компоненты (включая прошивки) в Debian не устанавливаются, но доступны в секции non-free.

Фичастый пакетный менеджер. Как я понимаю, самый продвинутые сейчас это nix, guix, portage и pacman. Может есть еще что-то, о чем мало кто знает?

Можно конкретнее? Какая функциональность нужна?

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

Какие-то простые преднастроенные дефолты не очень интересуют, minimal-install вполне покатит как основа. Но опять же, если есть на основе дистра хороший live-cd - то welcome! (псевдо)-графический инталлятор тоже гуд, не хочется все руками настраивать, хотя это не фатально.

Лично я всегда устанавливаю Debian в минимальной конфигурации, и затем уже наращиваю его нужным мне ПО. Это штатный способ установки, не требующий особых временных затрат. (Хотя почитать инструкцию по установке никогда не помешает.)

Archlinux, Debian, Ubuntu, Mint, Manjaro, OpenSuse, Slackware, Elementary, MX, Antix, Megeia, Altlinux не предлагать. Спасибо :)

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

Впрочем, это ваше дело. Не хотите - как хотите. Может, подскажут что-то более подходящее.

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

Мне не нравится подход в стиле «чтобы все не грохнулось при обновлении, надо обновлять часто»

Что ценно, обновления никогда не разваливают систему. Следствие воспроизводимости и изоляции артефактов.

Откатывается все или только то, что криво встало?

Это откат с предыдущему состоянию системы. Кстати, он даже не обязателен, можно прямо в GRUB выбрать нужное состояние.

Использовать фишки (типа юзфлагов, слотов итд) и репу генты.

Для конкретных пакетов есть аналог флагов (override). Кто-то начал делать аналог глобальных use флагов, но не закончил.

Слоты бессмысленны: каждый пакет живёт в /nix/store независимо друг от друга, и в системе может быть сколько угодно версий одного и того же пакета.

А Flakes не костыль в подобных системах?

Наоборот, то, что есть сейчас — костыль. А сделают наконец нормально.

Можно ли указать для группы приложений, чтобы они зависили от либы версии >= x.y?

Нельзя: nix вообще не резолвит версии. Там другой подход к зависимостям.

В идеале я хотел бы видеть (или настроить) возможность, например, отдельно обновлять системные либы (указать перечен, лучше преднастроенный список) и программы отдельно, gui и de, отдельно среды разработки, например, и какие-то проприетарные пакеты. Как такое организовать?

Можно фиксировать nixpkgs для конкретных пакетов, можно выносить пакеты в отдельный репозиторий или конфиг.

quantum-troll ★★★★★
()

Много фантазий и волнений по вещам которые мало значимы или попросту не нужны.

Под полный набор требований ничего не подходит, т.к. часть требований маргинальные (например, отсутствие systemd), а дистрибутивы, которые обеспечивают такие требования, не обеспечивают остальное.

1 - не rpm based (т.е. rpm чем-то не угодил), но с поддержкой rpm? Требование конфликтует само с собой

2 - fedora, rpm спека для простых вариантов не сильно сложнее pkgbuild’а

3 - не нужно

4 - fedora

5 - не нужно, если нет тревожных расстройств. Если сильно нужно, то можно везде, какая разница, где пердолиться?

6 - fedora

7 - первая часть не нужно, вторая - fedora (n последних версий ядер сохраняется при апдейте)

8 - много возни непонятно ради чего

9 - любой

10 - dnf самый фичастый из классических ПМ. Только немного тормозной

11 - fedora everything, там есть разные шаблоны, в том числе minimal install

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

много возни непонятно ради чего

это определение ко всем пунктам подходит

chenbr0
()

В силу различных причин я давно не использовал Linux на десктопе

Причин, я так понимаю, прибавилось. Идиотизм требований в выборе дистрибутива на лицо. Чего тебе вообще надо, нет и не будет ничего идеального, не существует дистрибутива мечты. Даже если ты его сам соберешь, то наткнешься на непреодолимые трудности – в одиночку ты не сможешь его поддерживать, а организуешь коллектив, столкнешься с мнением каждого отдельного человека. У всех мечта разная, как-то так. Короче, ставь что-то из мейнстрима и не парься, дистрибутив нужен не ради самого дистрибутива а под твои задачи, способа его настройки под свои задачи и поддержание его в актуальном состоянии.

anonymous
()

Требования к дистрибутиву без задач, это конь в вакууме. Какие-то хотелки. Может тебе только видоси с котиками, ну так любой в таком случае.

anonymous
()

Fedora не рассматриваю тоже, когда пробовал была глючной какой-то бета-тестинговой мурой.

Откуда вы только берётесь?

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

ставь крукс, будешь сам себе и бог и дьявол.

anonymous
()

Судя по твоим запросам, тебе прямая дорого в генту.

anti_win ★★
()

Обычно такие бредовые вбросы от новорегов-троллей.

anonymous
()

а вообще, мое мнение:

хочешь породвинутого - nixos

юзабельного - минт

anonymous
()
Ответ на: комментарий от alienclaster

Из 2008 года

Чего ты вообще ожидаешь? Попробуй то-сё и сам реши для себя. Не ставь что-то экзотическое, просто не осилишь. С возрастом энтузиазм утихает на второй день. Сужу по себе, тоже поставил линукс в прошлом году с перерывом в десять лет. Ну неохота ковыряться, что-то там собирать, настраивать… Видимо переболел этим тогда. Попробовал, но нет цели, в результате протестировав с десяток, остановился на KDE Neon. На весь негатив против убунты, системд, мне наплевать – главное стабильность, свежий KDE, весь необходимый мне софт.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.