Насколько современные Линуксы отличаются друг от друга +14



Более 15 лет я работаю в компании Fast Reports и по роду своей деятельности мне часто приходится иметь дело с Linux, ведя поддержку одного из продуктов. С Linux я знаком несколько дольше — впервые установил Slackware в 1997 году. Соответственно, обладая некоторым опытом, хочу поделиться с вами мнением, чем, на мой взгляд, современные дистрибутивы Linux отличаются друг от друга. Всё описанное в статье является субъективным мнением и не претендует на абсолютную истину.

Операционная система Линукс ведёт свою историю с 1991 года, когда финский студент Линус Торвальдс, начал разработку новой операционной системы, вдохновлённый идеями Unix и Minix. Удачный выбор свободной лицензии предопределил успех его начинания — к разработке подключились десятки и сотни энтузиастов, каждый из которых привнёс что-то новое. Впоследствии к разработке подключились крупные компании — Intel, IBM и другие. Точные причины, побудившие лидеров отрасли к поддержке свободной ОС мне не известны, но «злые языки» поговаривают что многие компании решили подвинуть Microsoft, занимающую в то время абсолютную монополию в операционных системах для настольных компьютеров.

Эволюция ядра Линукс, выраженная в количестве строк


image

Смог бы Линукс без поддержки мэтров индустрии стать тем, чем он есть сейчас? Далеко не факт – старожилы помнят патентые войны между Santa Cruz Operation и компаниями, поддерживающими Linux. Компания SCO проиграла эту войну и больше её не существует.

Количество коммитов в ядро в разрезе компаний


image

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

Прежде чем приступить к сравнению современных дистрибутивов Linux, мы должны определить два важных аспекта — первый аспект это из чего состоит операционная система, второй — с какой точки зрения будем сравнивать. Под дистрибутивом мы понимаем законченное решение, состоящее из ядра ОС, графического сервера (Икс-сервер), окружения (набора поставляемых программ), утилиты установки и начальной конфигурации. Сравнивать дистрибутивы можно с точки зрения конечного пользователя, системного администратора и прикладного программиста.

Линуксы с точки зрения системного администратора


На заре своего развития Линукс был уделом техногиков и техножрецов, обладающих специфическими знаниями программирования и администрирования. Предтечей Линукса была операционная система Unix и специалист, имевший опыт администрирования Unix, мог без труда установить и сконфигировать систему. Обычному среднестатистическому пользователю это было недоступно и процесс администрирования для него был чем-то сродни магии. Современные Линуксы стали дружественны пользователю — процесс установки сводится к ответу на несколько вопросов, а зачастую достаточно просто согласиться с предлагаемым установщиком вариантом конфигурации, просто положительно ответив на все вопросы — установщик сам проанализирует конфигурацию оборудования и подберёт необходимые драйвера и параметры конфигурации. Обычно дистрибутив содержит готовые к работе пакеты программ, поставляемые в виде DEB или RPM архивов, содержащих помимо самих программ скрипты конфигурации и информацию о зависимостях от сторонних библиотек. Однако, бывают и исключения, например, дистрибутив Gentoo поставляется в виде исходного когда всех программ и правил сборки, а сама операционная система буквально собирается на компьютере пользователя под его конфигурацию процессора. Вопрос эффективности такого метода спорный, мы не будем углубляться в него, замечу лишь что это лишь одна из степеней декларируемой сообществом свободы — пользователь волен сам выбирать «стоит ли овчинка выделки». В целом же форматы пакетов RPM и DEB похожи и при выборе дистрибутива можно не рассматривать этот момент. За редким исключением — иногда бывает так, что автор программы по какой-то причине не предусмотрел второй вариант инсталлятора и она существует только в RPM (RedHat Linux и производные от него дистрибутивы) или DEB (Debian Linux и его производные) формате. В этом случае вам могут потребоваться усилия по установке такой программы — даже вручную распаковав установочный пакет, можно наткнуться на неудовлетворённые зависимости. Установка такой программы потребует больших усилий, а в случае ошибки, пытаясь подменить требуемые библиотеки, можно привести к краху системы. К счастью, такая ситуация исключительно редка и 99,9% пользователей Линукс никогда не столкнуться с этой проблемой. Более того — все известные производители дистрибутивов держат свои репозитории с богатым набором программ, где каждая программа собрана и протестирована под конкретную версию дистрибутива.

Итак, мы знаем что одно из отличий Линуксов это формат пакетов. Однако, с точки зрения администратора системы существует ещё одно различие — формат стартовых скриптов. Из семейства операционных систем Unix в Linux пришли два конкурирующих формата — System V style и BSD style. Чтобы понять о чём речь, посмотрим как это работает. Стартовый загрузчик загружает ядро ОС и передаёт ему управление, ядро стартует и запускает первый процесс — init. Строго говоря, вместо init можно подсунуть любой процесс, например, bash. В этом случае мы получим нечто вроде однопользовательской однозадачной консольной системы без сети и графического интерфейса и с корневой файловой системой, доступной только для чтения. Более того, часть оборудования в этом случае может не работать, если драйвера для него не присутствуют в ядре, а загружаются в виде модулей. В классическом же режиме работы процесс init читает файл /etc/inittab и в соответствии с ним начинает процесс старта системы — монтирует разделы, подгружает драйвера, инициализирует сетевые интерфейсы, стартует сервисные программы (которые ранее называли демонами), загружает графическую подсистему. Делает это init не напрямую, а используя понятие runlevel и специальные скрипты. Обычно существует до шести runlevel — режимов исполнения, которые описывают режимы работы системы — стартовый, однопользовательский, многопользовательский с сетевой подсистемой, многопользовательский с графическим интерфейсом. В зависимости от условий применения администратор может задать стандартный runlevel, в который перейдёт система после загрузки, обычно это многопользовательский режим с сетью и графическим интерфейсом для десктопа и многопользовательский режим с сетью для серверов. Именно в этих скриптах и заключено отличие между SystemV и BSD стилями. Однако, обладая знаниями о формате inittab, можно посмотреть содержимое скриптов и понять как работают процедуры старта, останова и перехода между runlevels системы.

В 2010 году инженеры из RedHat разработали замену init — сервис systemd. Этот сервис привнёс новые возможности в систему:

  • сокет-активация служб (заменяет дополняет inetd);
  • запуск сервисов по расписанию (заменяет дополняет cron);
  • работа с аппаратным сторожевым таймером (заменяет watchdog);
  • смена корня (заменяет chroot);
  • автомонтирование томов и сетевых ресурсов (заменяет дополняет mount и fstab);
  • journalctl — сервис логирования;
  • systemd-analyze — анализ запуска сервисов(включает в себя скорость загрузки(как системы, так и отдельных сервисов), отрисовку старта сервисов и др.);
  • systemd-boot — UEFI загрузчик (замена grub и lilo).

В настоящее время подавляющие большинство дистрибутивов Linux перешли на systemd, из некогда популярных дистрибутивов только Slackware сопротивляется переходу на новую подсистему.

Таким образом переход на systemd как бы стирает одно из различий Линукс — систему стартовых скриптов и приводит к унификации. При этом сохраняется поддержка классических стартовых скриптов — например, часть томов для монтирования может быть указана классически через /etc/fstab, а другие тома могут быть монтированы средствами systemd.

В прошлом системные администраторы любили спорить какая же система лучше SystemV или BSD, однако сейчас споры поутихли. Опытный сисадмин сможет сконфигурировать любую систему, для новичков же в Сети достаточно информации, раскрывающей любой аспект конфигурации Linux.

Линуксы c точки зрения пользователя


С точки зрения конечного пользователя линуксы различаются несколько сильнее. Заглянем вглубь вопроса. Изначально графическая подсистема в Unix была необязательна. Зачастую Unix работал на мощных компьютерах, а пользователи подключались к нему посредством Икс-терминалов. Взаимодействие происходило по сети – программа выполнялась на хост-компьютере, принимала информацию о нажатии на клавиатуру и событиях мыши, а в ответ посылал терминалу команды для отрисовки графических примитивов и текста. Графические терминалы были дорогими и редкими устройствами, поэтому в качестве терминалов стали популярны персональные компьютеры. Здесь, кстати, интересный момент, который зачастую вызывает недопонимание — Икс-сервер выполняется на терминале, а не на хосте. На хосте выполняется сама программа, которая использует библиотеку xlib, предоставляющую базовый низкоуровневый интерфейс для работы с графическим сервером. Этот интерфейс достаточно низкоуровневый, он вводит понятие окна, т.е. прямоугольной области экрана, умеет выводить векторный текст различными шрифтами, а так же обеспечивает отрисовку различных графических примитивов – точки, линии, прямоугольники, окружности и картинки.

Поскольку базовые графические примитивы довольно просты, это привело к появлению библиотек виджетов – эти библиотеки предоставляют более высокий уровень абстракции и значительно упрощают написание программ с графическим интерфейсом. Например, библиотека X Athena Widgets стала частью графической системы X Window System. Эта библиотека вводит понятие кнопок, радиокнопок, меню, полей ввода и подобных примитивов. Однако по современным меркам выглядит это довольно «вырвиглазно».

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

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

С чем же столкнётся пользователь Linux на рабочем столе? Прежде всего это GNOME или KDE, большая часть дистрибутивов основана именно на этих средах рабочего стола. Однако ими не ограничиваются и различные вендоры Linux предлагают около десятка различных сред. Что касается библиотек элементов интерфейса, то здесь лидируют две библиотеки – GTK и Qt. Обе библиотеки кроссплатформенные и если какая-либо программа существует и под Linux, и под Windows, то с большой вероятностью она написана с использование GTK или Qt. Однако есть и исключения, например, компания Xamarin создала версию библиотеки Windows Forms для Linux и macOS. Так же иногда разработчики оконных менеджеров распространяют свои библиотеки виджетов. Таким образом становится понятно откуда такое разнообразие графических пользовательских интерфейсов под Linux.

Линуксы с точки зрения прикладных программистов


Всё вышесказанное относится так же и к программированию. Если вы пишете сервер или консольную утилиту, то в подавляющем большинстве случаев вам не придётся использовать директивы условной компиляции – современный Линукс достаточно хорошо стандартизирован и полностью совместим со стандартом POSIX. Более того, использование autoconf позволяет писать программы не только для Linux, но и для любой POSIX совместимой системы, начиная от BSD и заканчивая всяческой экзотикой.

Вам, скорее всего, не придётся выбирать формат пакетов – используйте оба DEB и RPM, и вы покроете практически все случаи использования. Для сервисных программ наверняка придётся обратить внимание на формат стартовых скриптов, чтобы инсталлятор правильно прописал автозапуск вашего сервиса. В моём случае пришлось обратить внимание на расположение шрифтов, поскольку различные вендоры используют различные пути для хранения шрифтов, однако, тут вам поможет рекурсивный поиск начиная с /usr/share/fonts – все шрифты, за исключением пользовательских, будут находиться по этому пути. Что касается пользовательских шрифтов, которые устанавливаются в /home/user, то здесь замечен некоторый «разброд и шатание» и разные вендоры предлагают как минимум две иерархии — ~/.fonts и ~/.local/share/fonts.

Для графических программ сложностей несколько больше. В виду зоопарка различных сред рабочего стола, необходимо учитывать их особенности. Например, так называемые desktop notifications будут поддерживаться большинством сред рабочего стола, но могут не работать с какими-то экзотическими оконными менеджерами.

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

Второй момент — это популярность дистрибутива. Если в составе продукта вы используете какую-то не очень распространённую библиотеку или фреймворк, то возможна ситуация что в таком дистрибутиве будет старая или неполная версия этой библиотеки. В моей практике такая ситуация случалась в одном из дистрибутивов с поддержкой кодовой страницы 1251 в библиотеке System.Text.Encoding для C#. Бороться с такими проблемами можно только одним способом — поскольку проблема в других дистрибутивах Linux не наблюдается, то следует написать в техподдержку разработчику этого дистрибутива, подробно описав проблему и сказать что в других дистрибутивах проблемы нет.

Вывод. Если не рассматривать защищённые версии Linux, то с точки зрения системных администраторов и программистов современные дистрибутивы очень похожи. Зачастую различия между различными поколениями дистрибутива у одного вендора более весомые, чем различия между современными дистрибутивами. С точки зрения пользователей основное различие в выборе и настройке среды рабочего стола и поставляемого в дистрибутиве программного обеспечения.

Теги:




Комментарии (57):

  1. maledog
    /#21816810 / +3

    В настоящее время подавляющие большинство дистрибутивов Linux перешли на systemd, из некогда популярных дистрибутивов только Slackware сопротивляется переходу на новую подсистему.

    Gentoo и основанные на нем, некоторые форки Debian (Devuan, MX, Antix), Alpine, Openwrt?
    Что касается библиотек элементов интерфейса, то здесь лидируют две библиотеки – GTK и Qt.
    Чаще в кросспратформенных проектах встречаю wxWidgets.
    Если в составе продукта вы используете какую-то не очень распространённую библиотеку или фреймворк, то возможна ситуация что в таком дистрибутиве будет старая или неполная версия этой библиотеки. В моей практике такая ситуация случалась в одном из дистрибутивов с поддержкой кодовой страницы 1251 в библиотеке System.Text.Encoding для C#.

    О. Вы и в распространенных дистрибутивах встретите фрагментацию в библиотеках, например в версиях libc, в зависимости от того какой у вас дистрибутив «стильный-модный-молодежный», вроде ubuntu, или LTS, вроде той же ubuntu LTS или centos, а может musl у Alpine. Потому, те кто не хотят думать о том где их ПО будут запускать используют docker, остальные все же думают о поддержке. Так же играет роль архитектура и поддержка процессором определенных инструкций. Так что даже с deb и rpm вам придется собирать минимум 6-8 разных версий пакета «если вы пишете сервер или консольную утилиту».

    • Bessnov
      /#21820158 / -3

      А как же snap формат? Вроде решает проблему с библиотеками.

    • lealxe
      /#21820820 / -2

      Еще есть классный Void Linux с runit в качестве инита и своим пакетным менеджером xbps.
      Свежий софт и в репозиториях вроде бы все есть.
      Еще там есть xbps-src, имитирующее pkgsrc из NetBSD.

      В общем, как Arch без зашквара, Slackware без синей изоленты, CRUX без красноглазия.

      Норм рекламный текст получился

      • Oxyd
        /#21821100 / -1

        Арч без зашквара, это манджара.

  2. Nosgoth
    /#21816840 / +6

    Несколько не по теме, но графики на темном фоне смотрятся просто отвратно.

    • gecube
      /#21820128 / +5

      График коммитеров я тоже не понял — там самое большое количество коммитов у gmail.com — это все-таки имелся в виду Гугль или имелось в виду, что большинство патчей шло от пользователей, у которых почтовый ящик на gmail.com ?

  3. dMac
    /#21816936 / +9

    Зашел почитать, чем отличаются линуксы на Wifi камерах, роутерах, стиральных машинах и крошечных контроллерах от линуксов на PC. Извините, разочарован…

    Как насчет второй статьи — о встраиаемом разнообразии?

    • Стиральные машины это не чтоб уж из области фантастики, но пример забавный), знаю о таких моделях, а то что поближе.
      Балансировщики нагрузки, межсетевые экраны и всякие UTM, веб-прокси, комплексные системы против спама,. ip — телефоны и АТС, камеры и медиа-серверы. Это всё Linux.
      Про ip — телефоны не всё так однозначно. Тут вот товарищи на хабре пиарятся, так у них в ip-телефоне андройд.


      Вот про это согласен интересно и почитать и свои 5 копеек вставить.


      А если совсем хорошо посмотреть, то без систем где работает Linux, пк с Windows вообще бы не смог бы подключиться к сети и тем более скачивать котиков из контакта.

    • norguhtar
      /#21822280 / +1

      Там все дружно перекатываются на openembeded/yocto. О каком разнообразии вы говорите? :)

      • gecube
        /#21823148

        Я уже сам задумываюсь о YOCTO )))

  4. saipr
    /#21817328 / +1

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

    • /#21822492

      Материала на статью не наберется. )))))

      • saipr
        /#21822622

        Так может одного предложения хватит, даже слова — ничем!

  5. maisvendoo
    /#21817762 / +12

    Напишу свою историю.

    Первый линукс я поставил в 2004 году, это был дистрибутив Red Hat 9. Что, собственно, с тех пор поменялось:

    • Мы забыли о том, что есть проблема записи в NTFS. Её нет теперь
    • Русская локаль. Раньше была проблема, теперь проблема в Windows, ибо линуксы перешли на UTF-8, а майки до сих пор пытают нас тремя кодировками в своей «системе»
    • systemd. Закидайте меня хоть горой какашек — systemd это стандартизация инициализации системы и работы сервисов. Как бы, возможно, это не было криво реализовано — это стандарт де-факто для 90% дистрибутивов
    • Система не ломается. Даже арч, на котором я сижу с 2012 года. На форум арчеводов скучно заходить — нет воплей — аааааа! обновился! ниработаит!!!!
    • Недавно обнаружил, на работе, что линукс поддерживает из коробки сенсорные экраны фирмы Elo. И с broadcom на моем ноуте у него внезапно разгорелась взаимная любовь


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

    • kova7ev
      /#21817918

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

      • maisvendoo
        /#21818762

        Да, с момента переезда из /lib в /usr/lib и последовавшего перехода на systemd (это я застал) волны улеглись. Редкие косяки мне попадались, например упомянутый уже broadcom. Каждое обновление ядра — обновился, перезагрузился, остался без wi-fi, подкидывай провод от роутера, тяни из aur-а свежий пакет. А до перезагрузки его собрать не получится — загружено старое ядро, uname указывает на старые же хедеры ядра. Так и жили, пока в один прекрасный день, о чудо, броадкомовские драйверы не переселились в майнлайн.

        Ещё был затуп с драйверами на nvidia GTX 1080 Ti turbo. На просто 1080 дрова были, а вот на турбо — нет. Купил в конце 17 года эту видюху, где-то полгода каждое критичное обновление таскал из аура пакет. Но ситуация опять таки наладилась. Так что да, арч стал стабильной системой, что не может не радовать

        • Oxyd
          /#21820628

          А зачем держать одну версию ядра? Никоггда такого не понимал. У себя в манджаре держу текущую и LTS на случай эксцессов… Правда ни разу пока не пригодилась.

    • maledog
      /#21818360 / -1

      systemd. Закидайте меня хоть горой какашек — systemd это стандартизация инициализации системы и работы сервисов. Как бы, возможно, это не было криво реализовано — это стандарт де-факто для 90% дистрибутивов

      В чем стандартизация? В том что разные дистрибутивы используют разную версию systemd и от версии к версии некоторые функции могут быть объявлены устаревшими и выброшены?

      • maisvendoo
        /#21818714 / +2

        В отсутствии мешанины в виде init-скриптов, bsd-скриптов, openrc, upstart, что там ещё было? От дистрибутива к дистрибутиву.
        Разные версии systemd это от отсутствия централизации в среде разработки этой системы, так и будет и с этим ничего не поделать. Различия версий не умоляют единого подхода к инициализации и приемам работы с системой

  6. SakuradaJun
    /#21819056 / +1

    Операционная система Линукс ведёт свою историю с 1991 года, когда финский студент Линус Торвальдс, начал разработку новой операционной системы, вдохновлённый идеями Unix и Minix. Удачный выбор свободной лицензии предопределил успех его начинания — к разработке подключились десятки и сотни энтузиастов, каждый из которых привнёс что-то новое. Впоследствии к разработке подключились крупные компании — Intel, IBM и другие.

    Ну во-первых операционная система не Линукс а GNU/Linux. Во-вторых история ее началась гораздо раньше, в 1983, когда Ричард Столлман запустил свой проект GNU. Linux — это ядро, которое впоследствии вошло в состав проекта GNU/Linux после того, как Торвальдса уговорили опубликовать его исходный код под свободной лицензией. Для проекта GNU разрабатывали собственное ядро Hurd, но приостановили его разработку т.к. удачно подвернулось готовое решение в виде Linux.

  7. itsoft
    /#21819256 / +2

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

    • Viceroyalty
      /#21822086

      Вот слова не убунтувика но линуксойда.

  8. embden
    /#21819316 / +1

    Для меня самое обидное в том, что для пользователя Linux'ы практически не отличаются, и практически любой desktop Linux проработан из рук вон плохо — "собран из грязи и палок". Начиная с того, что rpm и deb, мало чем функционально отличаются, при этом никак особо не интегрируют системы защиты в себя. Если говорить о системах защиты, то их практически нет. Берешь Fedora, заходишь в /bin, выполняешь ls -Z, а контекст безопасности-то у практически всех файлов одинаковый! Да и ограничения он накладывает крайне слабые. Де факто в десктопном Linux пользователь защищен только законом неуловимого Джо (серверная часть более-менее проработана, хотя там тоже есть нюансы). Кто-то скажет, что можно использовать Flatpak с его ограничениями, только вот установка Flatpak'овских пакетов во многих дистрах не тривиальна + не каждая программа упакована во flatpak или snap.
    Потом мы переходим к графической части — часто она делается непрофессионалами. Если говорить о той же защите, то в Linux практически отсутствуют хорошие UI для настройки защиты. К сожалению, тут Android'овский permission manager сильно лидирует. Но и с простым UI всё далеко не просто. Сейчас наиболее распространены DE Gnome и KDE. У каждой есть минусы. Gnome — крайне консервативен и скрывает всё, что не нужно пользователю (это прописано в их стайл гайдлайнах). Все, что не нужно пользователю по мнению разработчиков Gnome. Я, когда пробовал Gnome, и месяца не выдержал — всё нужное было запрятано очень глубоко. В KDE же кажется, что пытаются копировать Windows, получается неплохо, но меня KDE Plasma 5 долго раздражала своими постоянными падениями (это через несколько лет после релиза). Говорят, что сейчас там всё получше, однако, меня пугает тренд того, что разработчики хотят достичь конвергентности KDE Plasma и KDE Plasma Mobile. К тому же Qt project, основа KDE, в последнее время как-то странно себя ведет в плане открытости. Есть еще несколько различных DE, но все имеют какие-то недостатки.
    Ну и напоследок — приложения. Открытые приложения далеки от идеала — ужасный UX даже у лучших из них, нет интуитивно простой возможности поддержать разработчиков, нет интуитивно простой возможности дать фидбек разработчиком. При этом каждый дистр тянет одеяло в свою сторону, разрабатывает свой app store, поэтому критической массы пользователей ни в одном не набирается. Какие-то подвижки делаются в elementaryOS, но они пока что на начальном уровне своего развития.
    Мне кажется, можно целый цикл статей написать "О недостатках перспективах Linux" — тогда многим станет понятно, почему пропорция Linux на десктопах в районе погрешности, и почему при этом Android завоевал популярность.

    • vvzvlad
      /#21820898 / +1

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

      Но зато в дебиане нельзя сделать apt-get не от рута и нельзя перезагрузить систему без sudo. Безопасно!

  9. commenter
    /#21819372 / -8

    А стоило бы ещё указать на отличия от винды с маками. Очень важное отличие.

    На нормальных осях — поставил софт, и он работает! А на линухах — это в 90% танцы с бубнами (с зависимостями). И 99% новичков на этих танцах останавливаются, ибо зачем им учить всю эту админскую науку в объёме среднего университета, если можно просто поставить винду?

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

    Здесь особо умные владельцы линухов начнут кидаться табуретками, мол ты дурак, ничего в нашей священной корове не понимаешь, а лезешь учить нас, отцов (мать вашу). Так вот для отцов специально — вам почему-то не хватает ума понять, что популярность, это не ваши любимые игрушки. Популярность — это массовость. А массы по умолчанию не знакомы с вашими любимыми приблудами. Ну и валят от ваших дистрибутивов подальше, ведь как написал автор статьи, для решения проблем:

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

    И далее ждать лет десять, может быть за это время кто-то наконец озаботится проблемой блокнота на данном дистрибутиве. А может и не озаботится (а скажет — ну тупые, из-за какого-то блокнота я, такой умный, буду тут вам что-то делать?).

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

    Вот и имеете 1% от количества установок настольных осей. Зато бороды наотращивали до пупа. Молодцы!

    • wylander
      /#21819454

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

      ну это на проработанных системах. например в дебиан-like. а в том же opensuse или арче, легко довольно сломать систему, пытаясь подобрать библиотеку под программку, которую пытаешься скомпилировать. казалось бы от счастья тебя отделяет всего лишь некорректная версия библиотеки, а потом РАЗ и у тебя система сыплет кучу ошибок в терминале на любую попытку манипуляции с пакетами.

    • Stanislavvv
      /#21819590 / +2

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

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

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

      И кто такие «отцы», на которых вы ссылаетесь? Желательно с именами.

      • Viceroyalty
        /#21822096

        Как он даст вам их имена, если они неизвестные отцы.

    • chersanya
      /#21819598

      А стоило бы ещё указать на отличия от винды с маками. Очень важное отличие.

      На нормальных осях — поставил софт, и он работает!

      Да, написал apt install <софт> и он работает. Никаких там «далее — далее — далее — снять галку — далее — далее — поставить галку — установить».

      Вот и имеете 1% от количества установок настольных осей.

      А проблема-то здесь в чём? Например, с текстовыми редакторами вместо ОС такая же ситуация — условным VS Code пользуются на порядки меньше людей, чем блокнотом, и это нормально.

      • Viceroyalty
        /#21822098

        Вы имеете ввиду Notepad++ конечно-же? Обычным-то кто пользуется?

        • chersanya
          /#21822752

          Все миллионы пользователей, кто не устанавливает другие текстовые редакторы вообще. Всякие notepad++ и vs code ставят преимущественно программисты, которых намного меньше.

          • Viceroyalty
            /#21823100

            У этих миллионов есть Microsoft Office, они может и не знают про блокнот?

            • chersanya
              /#21823180

              Ну не нравится пример блокнота — сравнивайте word и vs code. Ясно, что первым на порядки больше людей пользуется, хотя и там и там можно тексты редактировать.

              • Viceroyalty
                /#21823384

                Не спорю — word не годится для написания кода от слова совсем, но он лучше блокнота. Кстати — варианты IntellegeIdea не лучше VS Coda-а?

                • chersanya
                  /#21823512

                  Причём здесь код? Я про текстовые редакторы говорю: можно как в ворде, так и в vs code открыть обычный txt файл и писать.

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

    • SakuradaJun
      /#21820486

      в 90% танцы с бубнами (с зависимостями)

      Один раз столкнулся с этим. Цепочка действительно была очень длинная, в конце концов очередной пакет оказался несовместимым с используемой версией убунты. Даже не вспомню что это за программа была, хотел что-то протестировать не очень нужное. В 99,99% случаев нужный софт ставится одной-двумя командами в терминале.


      Банально — ставим какой-нибудь блокнот. И что вы думаете? Во первых — его ещё хрен найдёшь. Во вторых — он страшно неудобный.

      Странно. В любую DE встроен блокнот, они все примерно одинаковые. Кому надо что-то большее чем блокнот, есть консольный Vim и Emacs, но они далеко не для чайников.


      В третьих, ищем удобный и находим для другого дистрибутива. И вот вам в четвёртых — начинаем танцы с бубнами (зависимостями)

      Надуманная проблема. Чаще бывает что нужная софтина под другую DE, тем не менее все прекрасно ставится, ставил в Gnome софт из KDE, а потом после установки LXDE спокойно запускал в ней все что стояло в системе.


      да, это не страшно, с учётом террабайтных современных винтов

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


      Вот и имеете 1% от количества установок настольных осей

      Кому надо, тот пользуется.

      • chapuza
        /#21836772 / -1

        Терабайт пишется с одной Р.

        Мсье никогда не слыхал о так называемом «земельном байте»? К сожалению, в Вики справка только на конголезском, поэтому вкратце перескажу своими словами.


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


        Нью-Йорк, 1890

        Нью-Йорк, 1890

    • Viceroyalty
      /#21822094

      Это вы нестандартных/малораспространенных программ на винду не ставили — те еще танцы

      • AlexGluck
        /#21822286

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

  10. potan
    /#21819770 / +1

    Есть интересные дистрибутивы NixOS и GNU Guix, которые очень сильно от других отличаются.

  11. PavelBelyaev
    /#21820624 / +1

    Для меня разница в дистрибутивах это часто — заработает мой тачскрин и чачпад на ноуте или надо на это тратить день-два?
    Будет ли у меня видео достаточно плавно воспроизводить с видеокартой от Интел?

    Если нужно тратить пару дней чтобы всякие патчи делать на ядра и по инструкциям арчвики что-то твикать, ну уж нет, мое время дороже, поставлю лучше Win10, подключусь на VSCode по SSH к линукс-серваку, там сразу и консолька строенная для запуска всяких девопс скриптов и всё остальное…

    • AlexGluck
      /#21822292

      Практически любой ноут берёте, всё работает кроме сканера отпечатков пальцев. Ос манджаро, убунту, Федора.

      • PavelBelyaev
        /#21829398

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

        • AlexGluck
          /#21829468

          Скорее на федоре заведётся, чем на убунту. Потому, что не каноникал пилит, а сообщество и ядро.

      • Mako_357
        /#21836832

        И даже жесты?
        Хочу из коробки жест 4мя или 3мя пальцами влево-вправо, чтобы виртуальные рабочие столы листались. И тап 3 пальцами подменял среднюю кнопку мыши.

  12. Oxyd
    /#21821098 / +1

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

  13. EddyEm
    /#21821198

    Очень отличаются. Вот я, гентушник, в дистрибутивах с systemd чувствую себя, как будто мне подсунули 98-е форточки вместо операционной системы!

    • lealxe
      /#21821390

      98-е у некоторых здесь вызывают ностальгию, может, все-таки 95-е?

    • Viceroyalty
      /#21822100

      Вот только в облаке вы не встретите генту (а жаль), но время в облаке слишком дорого, чтобы ставить туда генту

    • Oxyd
      /#21834808 / +1

      Объясните, чем плох systemd, с человеческими конфигами, по сравнению с портянками баш скриптов SysV init или нечеловеческими XML-ями более других систем инициализации?

  14. norguhtar
    /#21822288

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

    Ух лет 5 как все стандартизовано.

    • Oxyd
      /#21834812

      Именно! В экзотику ставится какой-нить dunst и все десктоп нотификейшн прекрасно работают… ещё и лучше чем встроенные в какой-нибудь условный гном.

  15. amarao
    /#21824096

    Андроид — это Линкус?

    • gecube
      /#21824486

      Зачем поднимать столь флеймерский вопрос? Очевидно, что ответ зависит от того, что мы вкладываем в понятие Линукса )

  16. ZaitsXL
    /#21827294

    Для обычных пользователей перечисленные линуксы отличаются чуть менее чем ничем, если юзать одну и ту же DE на них всех то разница будет стремиться к нулю