Как выбрать дистрибутив Linux

Первое, что нужно сделать, чтобы настроить облачный сервер, – это установить операционную систему. В современном мире это почти всегда будет операционная система Linux. Исторически сложилось так, что, хотя серверы Windows и другие типы Unix были популярны в определенных коммерческих отраслях, сегодня почти все используют Linux – из-за ее качественной поддержки, свободного или гибкого лицензирования и широкого распространения в серверных вычислениях. Существует множество доступных дистрибутивов Linux, у каждого из которых есть свои сопроводители. Некоторые дистрибутивы поддерживаются коммерческими провайдерами, а некоторые – нет. Дистрибутивы, которые мы подробно опишем в следующих разделах, являются одними из самых популярных операционных систем для облачных серверов.

Общий обзор дистрибутивов

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

Дистрибутив Debian – это upstream от Ubuntu: это значит, что его основные архитектурные решения обычно используются в релизах Ubuntu и он использует тот же формат.deb и менеджер пакетов apt, что и Ubuntu. Debian не так популярен среди производственных серверов, потому что он более консервативен в выборе пакетов и у него нет коммерческой поддержки. Однако многие пользователи все же выбирают Debian из-за его портативности – его легко можно использовать в качестве основы для многих других дистрибутивов Linux на разных платформах, включая Raspbian, самую популярную ОС Raspberry Pi.

Red Hat Enterprise Linux, или RHEL — это самый популярный коммерчески поддерживаемый дистрибутив Linux. В отличие от семейства Debian, в нем используются пакеты .rpm и менеджер пакетов dnf, а также собственная экосистема инструментов. Из-за особенностей лицензирования Red Hat используется только при наличии соглашения о коммерческой поддержке.

Rocky Linux – это downstream от Red Hat (точно так же Ubuntu – downstream от Debian), и, в отличие от RHEL, его можно использовать бесплатно, как и большинство других дистрибутивов Linux, что делает его популярным выбором для пользователей, которые хотят использовать инструменты Red Hat, но не хотят устанавливать коммерческую версию системы. Раньше ту же роль, что и Rocky Linux, выполнял дистрибутив CentOS, но он устарел. Версии Rocky Linux тесно связаны с версиями RHEL, и большая часть документации используется ими совместно.

Fedora Linux предшествует Red Hat и, как и Ubuntu, используется как в настольных средах, так и на серверах. Fedora по факту является средой разработки большинства пакетов экосистемы RHEL и среды Gnome, которая используется по умолчанию Ubuntu и другими.

Arch Linux — еще один популярный дистрибутив Linux для настольных компьютеров, который не входит ни в семейство Debian, ни в Red Hat Linux. Оно предоставляет собственный уникальный формат упаковки и свои инструменты. В отличие от других дистрибутивов, он не использует никаких версий релизов — его пакеты всегда самые новые из доступных. По этой причине его не рекомендуется использовать на рабочих серверах. Однако он предоставляет отличную документацию, и знающие пользователи могут по достоинству оценить его гибкость.

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

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

Выбор дистрибутива

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

  • Какая экосистема вам больше подходит: Debian-подобная или Red Hat-подобная?
  • Проект, который вы разрабатываете, в первую очередь предназначен для облака, для рабочего стола или для работы в контейнере?
  • Нужно ли вам использовать новейшие доступные или стабильные пакеты?

Выбор дистрибутива зависит от предпочтений, но если вы работаете в облаке и у вашего проекта нет никаких производственных требований к экосистеме Red Hat, в таких ситуациях чаще используется Ubuntu. Вы также можете просмотреть доступные пакеты для данного дистрибутива в веб-репозиториях их пакетов. Например, пакеты Ubuntu 22.04 Jammy Jellyfish размещены в разделе Jammy на Ubuntu.com.

Управление пакетами

Большинство дистрибутивов Linux также значительно отличаются тем, как в их средах создаются, ищутся и устанавливаются сторонние пакеты — пакеты, недоступные в собственных репозиториях. В дополнение к своим официальным пакетам Red Hat, Fedora и Rocky Linux обычно используют всего несколько популярных сторонних репозиториев, что соответствует их более авторитетному подходу, ориентированному на производство. Одним из таких репозиториев является EPEL (Extra Packages for Enterprise Linux). Поскольку экосистема RHEL проводит различие между пакетами, которые поддерживаются на коммерческой основе, и пакетами, которые поддерживаются иначе, многие стандартные пакеты, доступные в Ubuntu «из коробки», потребуют EPEL для их установки в Red Hat. В этом и многих других случаях доступность upstream пакетов из собственных репозиториев вашего дистрибутива часто обусловлена вопросом ответственности за обслуживание. Многие сторонние источники пакетов пользуются большим доверием, однако могут просто не входить в сферу компетенции сопроводителей дистрибутива.

Ubuntu позволяет пользователям создавать PPA (или личные архивы пакетов) для поддержки стороннего программного обеспечения и его установки другими пользователями. Однако если одновременно использовать слишком много PPA, у вас в системе может возникнуть путаница из-за несовместимости – версии пакетов Debian и Ubuntu имеют определенные требования, поэтому специалистам по поддержке PPA необходимо довольно точно соответствовать обновлениям основной ветки Ubuntu. Arch Linux предлагает единый репозиторий для отправленных пользователями пакетов, который называется Arch User Repository (или AUR), и хотя такой подход кажется более хаотичным, на практике он может быть более удобным, особенно если вы используете десятки сторонних пакетов.

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

Читайте также:

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

Заключение

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

Читайте также: Основы управления пакетами: apt, yum, dnf, pkg

Tags: , , , , ,

Добавить комментарий