LINUX.ORG.RU
ФорумAdmin

Какой смысл «выбирать между линуксами»?

 


0

1

Создаю тему не ради холивара)

Просто я чет щас призадумался…

Если мы допустим делаем «бэкенд». Один фиг все будет в докере/кубере и т.п.

Тогда вопрос какая разница «какой линукс брать»? Ведь грубо говоря весь мир может ставить «убунту» и дальше все уже будет запускаться в докерах…

Зачем тогда нужен например Red hat? И почему он так популярен и зарабатывает так много денег?

Объясните плиз. Я правда не могу этого понять…

★★★

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

И это тоже. Благо линукс очень хороший друг, - он сам себе выбирает друзей. Иногда мешает, а иногда обидно https://cs13.pikabu.ru/post_img/big/2019/10/03/3/1570073497168377000.jpg

Для примера https://1codim.ru/blog/1c-linux-docker-lx%D1%81-systemd-nspawn/

Хорошего выхода в рабочую неделю

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

Дополню, принципиально, копался в закладках (не скажу почему там нет про мной заявленное от intelfx о средстве доставки. Извиняюсь за введение в заблуждение), вроде тот комментарий о котором думал: Docker vs LXD(LXC) (комментарий)

В довесок, про экспертизу и из смежной темы про генту и сборку из исходников, для примера:

2 megabaks: Векторизация ,как и было предсказано Зальцманном из бухгалтерии

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

Это да, проприетарь обычно под Ubuntu и RHEL только.

Честно говоря, я не имел ничего против Ubuntu до недавнего времени – когда они стали распространять часть патчей безопасностей для multiverse и universe пакетов только для Pro подписки, причем с момента релиза 24.04 LTS еще не прошло 3 года!

Лично мне это кажется возмутительным. Требовать денег за расширенную по времени поддержку вполне нормально, но тут урезают ранее доступный сервис – ранее эти секции поддерживались 3 года, на 2 года менее, чем основные, что по 5 лет.

Vsevolod-linuxoid ★★★★★
()

Что такое «линукс»? Понятно, что в контексте обсуждения это не ядро, а операционная система.

Операционная система линукс это набор ряда программных компонентов. Большинство компонентов имеют открытую лицензию и разрабатываются совершенно разными компаниями и людьми. Ядро, glibc, systemd, coreutils и многое, многое другое. Они поставляются в виде набора исходных кодов с конфигурационными скриптами для сборки.

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

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

Таким образом первая ценность дистрибутива - поставка ОС в собранном и протестированном виде (ну или хотя бы в виде повторяемых и однозначных скриптов для сборки). Разработчик ОС тратит время на то, чтобы научиться собирать каждый пакет, ищет нужные патчи, разрабатывает файлы конфигурации, чтобы всё работало из коробки.

Если ты попробуешь использовать LFS, Arch или другой rolling дистрибутив на постоянной основе, ты обнаружишь, что новые версии пакетов порой ломают конфигурацию и тебе нужно адаптировать твои настройки для новых пакетов. Это может быть небольшой проблемой для личного десктопа, когда каждое обновление ты проводишь вручную и можешь отследить и отладить изменения. Но для сервера, на которые обновления устанавливаются автоматически, это может быть проблемой. Хочется, чтобы оно просто работало с нулевыми усилиями. Для таких нужд поставщик ОС предлагает заморозить версии программных компонентов так, чтобы их обновления не требовали никаких ручных модификаций файлов настроек. Но, конечно, в то же время требуются обновлять версии для исправления проблем безопасности и, возможно, других багов. При этом оригинальный разработчик программы совсем не факт, что заинтересован в этом всём. Таким образом разработчику ОС фактически нужно проводить доработку большинства компонентов, пусть и поверхностную, бэкпортируя все исправления безопасности и часть исправлений багов в старые версии.

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

Теперь перейдём к Ubuntu/RHEL. Не очень понятно, почему ты спрашиваешь - зачем нужен RHEL, но не спрашиваешь - зачем нужна Ubuntu. Ведь Ubuntu появилась после RH. Но в целом простой ответ на твой вопрос - RH используется многими крупными компаниями по разным причинам. Это один из самых популярных дистрибутивов для тех, кто готов платить деньги. RH финансирует разработку ряда базовых компонентов линукса, поэтому его компетенции в создании ОС ни у кого не вызывают сомнений.

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

Если переформулировать вопрос более корректно - зачем нужна Ubuntu. То тут ответ тоже простой. Традиционно RH не очень хорошо представлен на рынке бесплатных дистрибутивов. Раньше для его использования нужно было пользоваться разными клонами вроде CentOS. Сейчас появилась возможность устанавливать RHEL бесплатно, но там тоже свои нюансы, например нужно регистрироваться у них на сайте, получать т.н. «лицензию разработчика». В общем для RH рынок бесплатных пользователей не очень интересен, они его не то, чтобы совсем игнорируют, но это совсем не тот опыт, который пользователь получает, просто установив ту же Ubuntu. Поэтому и популярно множество других дистрибутивов.

В то же время Ubuntu это вполне себе коммерческий дистрибутив и установив его бесплатную версию тебе сразу предлагают купить подписку. Думаю, что это самый популярный серверный дистрибутив по числу установок. И это ответ на вопрос - почему не Debian. Debian не предлагает коммерческой поддержки, не является конкретным юридическим лицом, в общем для коммерческих клиентов это не совсем удобный вариант, а с Ubuntu всё проще. Поэтому для тех, кто начинает с бесплатного использования и в какой-то момент дорастает до платного - с Ubuntu всё проходит идеально.

vbr ★★★★★
()

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

А так, RedHat не нужен, конечно. И Ubuntu не нужна. Нужно нечто мнималистичное (чисто контейнеры запускать), декларативное, неизменное (immutable) и, желательно, с управлением по API. Такие решения на рынке есть, но мы используем ubuntu по причинам, изложенным в первом абзаце.

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

Вы говорите верно, но верно в старой парадигме использования линукса. Если сократить его до простой запускалки контейнеров, то всего этого просто не нужно. Там даже многопользовательского режима можно не завозить. И systemd не нужно. Чисто ядро загрузилось, докер-демон поднялся, остальное из контейнеров.

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

Ну что значит «не нужно». Ядро кто-то должен собрать. Докер кто-то должен собрать. Разве можно докер из ядра запустить? Я про такие технологии не в курсе. А сейчас докер вообще как будто бы потихоньку podman-ом заменяют. Всё равно будет и ядро, и systemd, и ssh, чтобы проверить, что там как, и glibc, и coreutils. А ещё всё это кому-то надо собирать, не с макоси же кросс-компилировать. Значит и gcc нужен и всё остальное сборочное.

Это всё для хоста. Ладно, хорошо.

Но ведь контейнеры - они тоже не просто так. Там тоже стоит ОС, просто без ядра. Да, есть контейнеры без ОС, в теории. Но я, лично, с такими даже и не сталкивался. Обычно все контейнеры делают на базе какой-то ОС. debian, alpine, ubuntu. Или ubi:10 от RHEL. И если компания хочет контролировать, что происходит у неё на серверах, она будет собирать свои образы, скорей всего будет унифицировать их, и вполне может использовать те же базовые образы от RHEL. Т.е. по прежнему нужна ОС.

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

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

Ну что значит «не нужно». Ядро кто-то должен собрать. Докер кто-то должен собрать

Это 0.01% от всех усилий для создания полноценной сборки. А ssh уже не обязательно, хотя я и согласен, что это кстремальный вариант.

не с макоси же кросс-компилировать.

Отчего нет? Окружение для сборки и рабочее окружение не обязано совпадать.

Но ведь контейнеры - они тоже не просто так. Там тоже стоит ОС, просто без ядра

Ну, нет. Это нечто гораздо меньшее, чем ОС. Это тупо процесс + контекст его запуска. В случае статической сборки можно вообще голым исполняемым файлом ограничиться. Ну и главное, для запускалки контейнеров совершенно пофиг что там внутри контейнров находится. В этом и смысл всей затеи. Хоть с FROM ubuntu:latest собирайте, хосту это пофиг.

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

Вот так образа по два гигабайта и получаются. Да, такое всё ещё есть, но индустрия постепенно изживает этот пережиток.

Можно представить, что контейнеры собирают без ОС. Но это кажется пока несколько гипотетическим сценарием.

FROM scratch
COPY hello /
CMD ["/hello"]

для средней компании, пользующейся преимущественно готовым софтом.

Да, потому что IT очень консервативная индустрия и мы до сих пор используем подходы из 70-х. Однако, верю, что рано или поздно здравый смысл (и бабки) возьмут верх.

ugoday ★★★★★
()

Вообще есть кровавый энтерпрайз которому железо голое нужно. Например из-за вопросов производительности докер может быть крайне нежелательным. У нас далеко не всегда надо делать сайты-визитки или форумы вроде ЛОР-а. Есть ещё и высоконагруженный энтерпрайз. А там накладные расходы на подсистемы ввода-вывода очень нежелательны. Думается, что ни ютуб, ни рутуб, ни вквидео, ни тележка видосики не в докере хранят.

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

Я когда-то был в маленькой компании. Там у нас 14 годиков назад стоял высоконагруженный постгрес с базой в оперативной памяти на 1,5 терабайта который всю контору кормил и одевал. Не расскажешь, как это в кубере организовать? Чтоб оно не лагало и чтоб клиенты которые эту базу нонстоп гоняют не убегали к конкурентам?

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

Эм, ты врёшь. И врёшь очень нагло. В РФ есть ещё такая крайне зарегулированная штука, как работа с ПД (персональными данными). А любая контора, даже частная автомойка работает с ПД своих клиентов даже не потому что им так хочется, а потому что государство от них этого требует. А для работы и хранения ПД нужны сертификаты от ФСТЭК, если это что-то важное. Можно конечно не в важном месте накатить и убунту, но завтра на тебя могут наехать и выкатить штраф (казна сама себя не наполнит), потому что у твоей убунты нет бумажки, которая говорит что она отвечает всем требованиям для обработки ПД. Конечно ты можешь в суд подать и доказывать что ты не верблюд/провести сертификацию своей убунты, возможно переименовав её в болген ОС, но что-то мне подсказывает что штраф платить придётся.

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

Не так - производительность. Докер, внезапно, имеет накладные расходы на операции ввода-вывода. Они не очень большие, но иногда даже эти небольшие расходы неприемлемы.

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

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

Ну вот есть у тебя монтажный пистолет X (молоток). Гвозди забивает. Но не абы какие, а только от одного конкретного производителя. Дороговатые, редко бывают в магазинах – нужно заказывать.

Вообще негодная аналогия.

Стремиться нужно к повторяемости, переносимости и автоматизации, а не пердолить дедовские методы, которые давно потеряли актуальность.

Понимаете в чем фигня, это звучит как лозунг «Только так и по другому я не умею» именно на это я вам намекал фразой «Каждому молотку свои гвозди».

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

Докер, внезапно, имеет накладные расходы на операции ввода-вывода.

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

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

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

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

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

Давай ты сначала начнёшь немножко разбираться в вопросе, а?

Какие именно ПД в автомойке? Какой категории? Какая категория ИСПдН там должна стоять? Автомойка даже платежи не видит.

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

Я вот прямо сегодня был в магазине максидом и там у сотрудников всё ещё убунта. Ждём бумажку.

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

https://github.com/docker/for-mac/issues/7707#issuecomment-3012477323

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

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

Мой скрипт на перле написанный 20 лет назад работает на любом линуксе из коробки, переносимость 100%. Он пишет и чтает файлы, ходит по сети и запускается по крону.

Перловый скрип, перловому скрипту конечно рознь, но я вас поддерживаю в части «а чему там ломаться?» если не пользовали уже выпиленные специфичные либы. Тоже самое и про шел можно сказать: «а чему там ломаться?».
А вот как ентот предлагаемый дохер будет себя через 20 лет чувствовать - это ОБС.

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

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

А подсадишь на вещества, забудешь и про докер. Но это не повод подсаживаться на вещества.

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

Там у нас 14 годиков назад стоял высоконагруженный постгрес с базой в оперативной памяти на 1,5 терабайта который всю контору кормил и одевал.

Я так понимаю, что 14 лет назад в этой конторе таки случился blackout.

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

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

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

Зачем мне в этом случае докер?

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

с еще одной исталляцией линукса на 200 мегабайт

Вариантов три: а) вы бредите; б) значит там нужны эти 200 мегабайт; в) skill issue.

теперь тебе надо запустить контейнер с башем, там внутри настроить среду, поставить какой-нибудь vim и только потом редактировать.

Рассказываю как правильно: с помощью ключика -v /host/dir:/container/dir пробрасываете файл и редактируете его как обычно в любимой ide. Вообще, если вы вдруг оказались в ситуации, что вам нужно в контейнере что-то настроить и поставить, знайте — вы что-то сделали неправильно на предыдущем шаге.

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

Всё ж перл это самостоятельны язык программирования. Можно написать полезный скрипт, который кроме интерпретатора ничего не используют. Тут разве перл весь целиком из дистрибутива выкинут. А шелл — это язык клей, без того, что надо клеять он бессмысленный. А эти склеиваемые компоненты постоянно обновляются, меняют поведение по умолчанию, переименовываются в разных сборках и т.д. Тут только гвоздями всё прибивать.

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

А шелл — это язык клей, без того, что надо клеять он бессмысленный. А эти склеиваемые компоненты постоянно обновляются

Ну и нехай обновляются.

меняют поведение по умолчанию

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

переименовываются в разных сборках

Аж поперхнулся. Эт вы сейчас о чем?

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

Привет, из под анона пишут разные люди. Я для себя не вижу смысла регаться, поэтому пишу как анон. отвечая на вопрос, смею предположить, речь идёт про username@host # env

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

Ну и нехай обновляются.

И то верно. У нас же линукс, все заботятся о совместимости. Сам Линус так и сказал: «stable api is nonsense».

ключики же есть.

Тысячи две или три.

Аж поперхнулся. Эт вы сейчас о чем?

Пакет, который в одной сборке называется bind, в другой может называться named. Бинарники при сборке пакетов тоже могут переименовываться, чтобы избежать конфликтов имён. Где-то ‘sh’ будет симлинком на ‘dash’, а где-то на ‘bash’ и т.п.

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

у тогда почему весь мир просто не ставит какой-нибудь «один линукс».

Людей слишком много. У всех свое видение того, каким этот «один линукс» должен быть.

Zhbert ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

Ubuntu и Debian на серверах во многом из-за энтузиастов Linux

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

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

Ну, если не контейнеры, значит snap/flatpak/appimag/etc. Старая модель обанкротилась и устарела, уж простите за тафтологию. Линуксовые пакеты (как способ собрать вместе результат динамической сборки) делают установку хрупкой и в целом создают больше проблем, чем решают. Да что там, вся схема придумана для экономии жёсткого диска. Это было очень актуально 50 лет назад.

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

ключики же есть.

Тысячи две или три.

Да хоть 33тыс, поведение ключа от добавления ещё одного не меняется.

Пакет, который в одной сборке называется bind, в другой может называться named.

И ещё apache vs httpd и т.п. Только это же про пакеты.

Бинарники при сборке пакетов тоже могут переименовываться, чтобы избежать конфликтов имён. Где-то ‘sh’ будет симлинком на ‘dash’, а где-то на ‘bash’

Ну и где здесь переименование бинарников? От если бы вы написали, что где-то робит процесс под названием apache, а где-то httpd это хоть какой-то, но аргумент бы был.

anc ★★★★★
()