Задавшись вопросом, какой дистрибутив выбрать под вновь созревшие нужны, в очередной раз натыкаюсь на ответ: «Что лучше знаете — то и ставьте!» И только перелопатив достаточно весомый объем информации можно получить несколько проясненную картину. В силу сложившихся обстоятельств в моем кругу выбора оказались три дистрибутива: Debian, Ubuntu и CentOS. Что ж, попробуем разобраться что к чему.n
- Владельцы и сообщества
Как известно Linux — свободная операционная система с открытым исходным кодом. Отсюда и основная причина такого многообразия образов. Да, есть и коммерческие версии. Покупая такой продукт, вы платите за брендовые пакеты и поддержку, но никак не за саму операционную систему. Именно этим руководствовалась компания Red Hat, когда под своей крышей организовала распространение образа CentOS Linux, и предложила его всем желающим пользоваться бесплатно решениями класса Энтерпрайз. По сути, на сегодняшний день сообщество CentOS — это сотрудники компании Red Hat. Дистрибутив CentOS полностью совместим с дистрибутивом от RHEL, а техническая разница состоит только в присутствии торгового знака и дизайнерской работы. Проект стартовал в марте 2004 и на данный момент является одним из самых популярных серверных решений за счет высокой стабильности и совместимости.nnПроект Debian несколько старше. Он был основан в августе 1993 и позиционировался как полностью некоммерческий проект. Не смотря на мнения скептиков, система до сих пор живет и процветает. По мнению автора, внимание к проекту все еще не стихает, прежде всего, из-за философии развития, большого объема бесплатного ПО и стабильного ядра.nnСистема Ubuntu является родственницей Debian, скорее даже дочерью. Появилась она на свет в июле 2005 года благодаря компании Canonical, которая и по сей день финансирует и контролирует развитие проекта. Взгляды компании Canonical на развитие системы, в отличие от многих других последователей Debian, осталась верны философии распространения свободного ПО, а также весьма лояльны к критике и дополнениям. Благодаря этому в настоящее время проект активно развивается и поддерживается сообществом.n
- Все так, да не так!
В целом для управления любой операционной системой (не только *nix) требуется очень схожий набор знаний: работа с файловой системой, сетевыми подключениями, сервисами или демонами, пакетами прикладных программ. Говоря о семействе Linux, конечно же, подразумеваем кучу конфигурационных файлов, командную строку (хотя — не обязательно), базовую структуру папок в корне. Однако в каждом из дистрибутивов есть свои тонкости и нюансы. Например: всем известный «BIND», занимающийся разрешением имен в ip адреса в CentOS называется «named», а веб-сервер «appache2» из Debian и Ubuntu трансформировался в «httpd» в CentOS. К слову сказать, заготовки структуры папок и файлов по умолчанию для appache в ubuntu скорее напоминают конфигурацию для большого хостера, а то время как базовая конфигурация веб-сервера в CentOS располагает к размещению одного корпоративного сайта и не имеет такой вереницы конфиг-файлов. Одно в другое, конечно же, трансформируемо, но не идентично. Подобные вещи наблюдаются и в работе с командами: например, при работе с репозитариями Debian использует apt-get, в то время как в CentOS мы пользуемся yum. Суть одна и та же, но неопытного линуксовода такой зоопарк команд часто вводит в замешательство.n
- Поддерживаемое железо, используемые пакеты и версии
Итак, становится резонный вопрос: что же выбрать? (Особенно, если Вам все равно с какой системой начинать знакомство.) Автор рекомендует хорошенько детально подумать, под какие задачи вы будете использовать сервер, и какие ресурсы вы для этого имеете. Если у Вас есть физическое оборудование, которое вы предполагаете использовать в своем проекте, в первую очередь необходимо проверить его в списке поддерживаемого оборудования для каждого из дистрибутивов. Исходя из опыта, Debian имеет меньше аппаратных проблем, чем CentOS, не смотря на то, что корпоративный дистрибутив постоянно расширяет горизонты поддерживаемого аппаратного обеспечения. Далее детально рассматриваем требуемое ПО и его версии. Стандартные репозитарии CentOS достаточно скудны, поэтому в обслуживании (к примеру), вероятно, будет проще использовать Debian и поставить уже собранный пакет, чем собирать его руками (а в будущем возможно еще и пересобирать при обновлении) для CentOS. И даже не смотря на то, что Ubuntu использует репозитарии Debian, из-за разницы в подходах к классификации ПО удобно будет использовать Ubuntu, бегущую впереди всех по скорости обновления пакетов. Однако не забывайте, что более новый пакет не всегда гарантирует стабильность работы. В этом вопросе решать Вам. Автор предпочитает балансировать где-то посередине между новыми возможностями и проверенными, надежными решениями.nnИ на закуску о версиях. Ниже предлагается сравнительная таблица релизов самих дистрибутивов. Выводы делайте самостоятельно.n
Продукт | версия | дата выхода | кодовое имя |
Debian | 8.0 | апрель 2015 года | Jessie |
7.0 | май 2013 года | Wheezy | |
6.0 | февраль 2011 года | Squeeze | |
5.0 | февраль 2009 года | Lenny | |
4.0 | апрель 2007 года | Etch | |
Ubuntu | 16.04 LTS | 21 апрель 2016 года | Xenial Xerus |
14.04 LTS | 17 апреля 2014 года | Trusty Tahr | |
12.04 LTS | 26 апреля 2012 года | Precise Pangolin | |
10.04 LTS | 29 апреля 2010 года | Lucid Lynx | |
8.04 LTS | 24 апреля 2008 года | Hardy Heron | |
CentOS | 7 | 7 июля 2014 | |
6 | 20 июля 2011 | ||
5 | 12 апреля 2007 | ||
4 | 9 марта 2005 | ||
3 | 5 января 2001 |
n n
- Установка. Есть ли отличия на самом деле?
На необъятных просторах Интернет есть масса заявлений о том, что установка одного образа отличается от установки другого, для кого-то обилие настроек кажется преимуществом, а для кого-то это сильно усложняет задачу. В реалиях нашей жизни установка сервера крайне маловероятно будет доверена блондинке-секретарше, а специалист, выполняющий роль администратора все же должен иметь базовые знания о файловых системах и разметке диска, сетевых настройках, загрузчиках и устанавливаемых ролях сервера. Поэтому установка любого из дистрибутивов не должна вызвать особых проблем. У каждой из систем есть GUI Installation mode, оценка удобства которого, впрочем, дело также достаточно субъективное. Из различий стоит отметить, что Debian имеет наиболее скудный набор преднастроенных ролей, однако насколько это важно непосредственно для Вас, решать не автору.n
- Безопасность: root, SELinux и другие страшные слова.
Ещё в процессе установки Ubuntu можно заметить ее отличительную особенность. Система не предполагает использование учетной записи «root», в место этого используется утилита «sudo», повышающая права пользователя до root’a, если у пользователя, конечно, есть такое привилегии. По мнению автора, такой подход аналогичен с User Account Control от Microsoft. Он однозначно повышает уровень безопасности и полезен при эксплуатации, хотя на первый взгляд усложняет процессы администрирования.nnСистемы мандатного доступа приложений к ресурсам системы есть во всех сравниваемых системах. CentOS успешно использует SELinux, в то время как для Ubuntu разработан AppArmor, который также при необходимости успешно используется на Debian. Что из них лучше и вообще нужно ли их использовать и в каких случаях — это большая тема отдельной статьи, поэтому сейчас останавливаться на этом подробно не стоит.n
- Потребление ресурсов и нагрузочное тестирование
Минимальные системные требования к ресурсам приведены в таблице ниже:n
Memory (minimal) | HDD (minimal) | |
Debian | 128 Mb | 2 Gb |
Ubuntu | 128 Mb | 0,5 Gb |
CentOS | 1024 Mb | 10 Gb |
nСогласно проведенным тестам (несколько примеров результатов тестирований можно посмотреть здесь и здесь) из коробки Debian и Ubuntu несколько опережают CentOS по скорости работы веб-сервера, в тестировании работы баз данных все очень зависит от используемого сервера баз данных и его версии.n
- Интеграция с другими системами
Здесь все достаточно логично. Для того чтобы осуществлять интеграцию необходимо иметь тесные контакты между разработчиками интегрируемых систем. Конечно же, проще наладить контакт, с группой официальных представителей, чем с сообществом. Это умозаключение подтверждается практикой: CentOS (как аналог RedHat) одним из первых начал поддерживаться в системах виртуализации Microsoft. Также именно CentOS лучше других интегрируется с ActiveDirectory. Однако если у Вас уже есть несколько серверов Debian, то не во всех случаях будет рационально разворачивать CentOS, даже если требуется некоторая интеграция. Возможно, в долгосрочной перспективе трудозатраты на интеграцию будут меньше, чем трудозатраты на обслуживание операционной системы, отличной от всех остальных.nnВ целом подводя итог всему вышеописанному и стараясь ответить на вопрос, заданный в самом начале статьи, можно сказать, что выбирать образ Linux нужно согласно Вашим задачам. Только предварительно оценив и взвесив все требования к аппаратной платформе, программному обеспечению, окружающей инфраструктуре и администраторским навыкам можно сделать правильный выбор. Однозначно правильного решения нет, и всегда будут какие-то недостатки. Но, по твердой убежденности автора, эти недостатки можно устранить с помощью дополнительных настроек или решений. А если трудозатраты на исправление недостатков превышают целесообразность — просто пренебречь ими. Ведь у Вас уже есть достаточно аргументов для выбора именно Вашего решения.n
А если Вы так и не определились, то мы можем помочь выбрать, установить и настроить нужную ОС Linux, и в дальнейшем предоставить услуги администрирования, подробности [email protected]