Linux на работе: будущее

Как будет развиваться Linux для рабочего десктопа? Есть один очевидный и частично правильный ответ: ChromeOS. В нём можно использовать только веб-приложения, но прикол не в этом, а в том, что в основе его лежит "неизменный" Linux – образ, включающий ядро, набор библиотек и программ, которые пользователь не может изменять. Очень многие проблемы Linux лежат именно в этой области: пользователи шаловливыми ручонками делают что-то не то с ядром, устанавливают конфликтующие или неподходящие версии библиотек или программ. Вот и я недавно набрал sudo apt install emacs, но у меня уже были установлены части emacs27, поэтому dpkg вошёл в ступор, из которого простыми способами типа sudo apt install -f его вывести не удалось. Пришлось тратить время, искать какие-то рецепты.

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

  • Библиотеки входят в состав программ, а значит, экономии памяти нет: одна и та же библиотека может устанавливаться несколько раз. А сейчас все модные графические программы используют что? Правильно, Electron, который занимает до фига памяти.
  • Программа запускается в изолированном окружении, поскольку разработчики озаботились доступом программ к данным пользователя. А если у нас среда разработки (IDE), то ей нужно примерно всё, поэтому люди и мучаются с решением проблем доступа.
  • Во flatpak далеко не все программы – это как с магазином приложений: он полезен ровно настолько, насколько много в нём приложений. А есть масса полезных небольших программ, которые, я уверен никогда во flatpak не попадут.
  • У flatpak временами крайне странные зависимости: так, чтобы установить emacs, тянется примерно гигабайт ещё какой-то пурги.

Дома мне жалко оперативки, чтобы всё ставить из flatpak, тем более в Fedora достаточно свежие версии того же Telegram и emacs, но если у вас рабочий комп с избытком оперативной памяти, вроде как можно сэкономить время, просто поставив flatpak.

И тут возникает следующий вопрос: а зачем вообще давать пользователям возможность ставить deb/rpm? Ведь если этого не делать:

  • Можно качественно оттестировать "образ" операционной системы, при том, что он может быть собран с достаточно агрессивными (как в Clear Linux) флагами оптимизации под процессоры.
  • Можно обновлять образ целиком, как будто это единый файл, которым можно управлять через систему контроля версий: достаточно скачать разницу к предыдущему образу.
  • Можно гарантировать, что ни пользователь, ни программы ничего в этом образе не нарушат.

Так и появились Fedora Silverblue, Clear Linux и другие. Но если в Clear Linux ребята ориентируются только на flatpak, то в Fedora понимают, что людям может быть нужен разный софт, и надо дать больше возможностей его устанавливать. Пожалуйста:

  • rpm-ostree – добавляет любой rpm на слой сверху операционной системы; но после установки надо перезагружаться (ой)
  • toolbox – устанавливай любые программы фактически в контейнер; правда, нужно войти в контейнер, чтобы ими пользоваться

И тут возникает вопрос: если у меня Fedora, то зачем мне это всё, если у меня и так всё работает? Если отнять необходимость (или прихоть) постоянной установки программ, а представить, что у нас есть типовой образ пользователя (работа с офисными приложениями, разработка python, аналитик данных и т.п.), то вполне можно пользоваться: работать всё будет быстрее и стабильнее, и обновляться тоже будет быстрее. Относительно Ubuntu, в которой, как не старались, то тут, то там что-то вылезает, это выглядит реальным шагом вперёд. И этот качественный прогрессивный переход позволяет решить главное противоречие, которое для Ubuntu стало больными граблями: обновляться чаще на последние версии программ, но при этом иметь стабильную систему. А вот сама Ubuntu, насколько мне известно, в этом направлении так и не продвинулась.

Ссылки по теме:

  • Fedora Silverblue
  • Clear Linux
  • Подкаст, в котором люди подробно описывают свой опыт использования Fedora Silverblue в качестве основной рабочей станции.

Краткое содержание для тех, кто ничего не понял: будет примерно как Andriod. :)

@Константин Овчинников
Теги: #linux

Комментарии