1.4 Дистрибутивы Linux (Linux Distributions)¶
Философия программного обеспечения GNU подводит нас непосредственно к обсуждению дистрибутивов Linux. Само понятие дистрибутива (distribution) может сбивать с толку многих, кто только начинает знакомиться с Linux. Чтобы помочь вам сориентироваться в множестве доступных сегодня дистрибутивов Linux, в этой части главы мы обсудим следующие темы:
- Что такое дистрибутив?
- Часто используемые дистрибутивы
- Жизненный цикл дистрибутива Linux
Что такое дистрибутив?¶
Пожалуй, лучший способ представить себе дистрибутив — это сравнить Linux с мороженым. Мороженое бывает самых разных сортов, однако основной рецепт самого мороженого остаётся одним и тем же. Большинство сортов мороженого изготавливают из следующих ингредиентов:
- сливки;
- молоко;
- сахар;
- яйца.
Компании, продающие мороженое, берут этот базовый рецепт и видоизменяют его, добавляя дополнительные ингредиенты: шоколад, ваниль, фрукты, печенье, орехи и конфеты. Так они создают собственные сорта мороженого.
Дистрибутивы Linux устроены примерно так же: исходный код ядра (kernel) можно сравнить с базовым рецептом мороженого. Поскольку исходный код ядра Linux — ядра операционной системы, вокруг которого работает всё остальное, — распространяется свободно, поставщики программного обеспечения вправе его загрузить. Подобно тому как производители мороженого добавляют в базовый рецепт дополнительные ингредиенты, поставщики программного обеспечения могут изменять и дорабатывать исходный код Linux и создавать собственное модифицированное ядро. Кроме того, они могут добавить в операционную систему специализированные инструменты, утилиты и приложения, чтобы повысить её полезность. Результатом становится дистрибутив Linux.
Возможно, вы уже знаете, что существует множество различных дистрибутивов Linux. Это ещё одна уникальная особенность Linux, отличающая его от других операционных систем. Почти все остальные операционные системы разрабатываются и продвигаются на рынок одним-единственным поставщиком. Например, единственный поставщик, который разрабатывает и продаёт OS X, — это компания Apple, Inc. Вы не сможете обратиться в Microsoft за их версией Mac OS.
Однако в случае с Linux множество разных разработчиков программного обеспечения взяли базовое ядро Linux и видоизменили его под ту или иную конкретную задачу. Возможно, они также включили в комплект множество мощных приложений. Одни дистрибутивы могут быть настроены для предоставления высокопроизводительных сетевых служб удалённым конечным пользователям. Другие — для предоставления превосходных офисных приложений на рабочих столах конечных пользователей. Так или иначе, результатом становится настроенный дистрибутив Linux.
Часто используемые дистрибутивы¶
Сегодня доступны буквально сотни различных дистрибутивов. Одни распространяются свободно, за другие необходимо заплатить. К числу наиболее популярных дистрибутивов Linux относятся следующие:
- openSUSE Linux
- Ubuntu Linux
- Fedora Linux
- Mint Linux
- Debian Linux
- Mageia Linux
- Arch Linux
- elementary Linux
- CentOS
Примечание
Удобная таблица с обзором и сравнением большинства дистрибутивов Linux доступна по адресу http://en.wikipedia.org/wiki/Comparison_of_Linux_distributions. Сайт http://distrowatch.com/ также является прекрасным источником сведений обо всех доступных дистрибутивах Linux.
Так какой же дистрибутив самый лучший? Это опасный вопрос. Споря о нём, даже пацифисты могут дойти до драки. Всё потому, что дистрибутив, который лучше всего подходит вам, может не отвечать потребностям кого-то другого. Главное — попробовать несколько дистрибутивов и выбрать тот, который вам нравится.
Лично я со временем полюбил openSUSE, и он стал моим дистрибутивом Linux по умолчанию. Скачать копию этого дистрибутива можно с opensuse.org. Мне также очень нравятся Fedora от Red Hat и Ubuntu. Скачать копию Fedora можно с fedora.redhat.com, а копию Ubuntu — с ubuntu.com. Для тестирования безопасности мне также нравятся дистрибутивы Linux Knoppix и Kali (ранее BackTrack).
Загружая свой дистрибутив Linux, обязательно выбирайте архитектуру, соответствующую процессору вашей системы. Долгие годы это, по сути, не было проблемой, потому что мы работали фактически с единственной архитектурой — 32-разрядной архитектурой x86 от Intel. Хотя большинство ранних дистрибутивов выпускалось для архитектур x86 и Alpha, у среднего системного администратора было не так много машин Alpha. Вместо этого большинство систем, с которыми мы работали, использовали тот или иной вариант архитектуры x86.
Однако сегодня у нас гораздо больше вариантов аппаратного обеспечения. У нас по-прежнему есть почтенная архитектура x86, но есть и более новая 64-разрядная архитектура x86. Кроме того, Intel выпускает архитектуру IA-64, используемую её процессорами Itanium. Для каждой из этих архитектур требуется своя версия Linux. Более того, многие дистрибутивы Linux были даже портированы для работы на архитектуре Power PC (PPC) от Apple Computer. Другие дистрибутивы доступны для серверов iSeries, pSeries и RS/6000 от IBM.
Важно то, что нужно обязательно выбрать архитектуру, подходящую для вашего дистрибутива. Например, если вы собираетесь устанавливать Linux на старую систему с 32-разрядным процессором, вам нужна версия x86 (32-разрядная) вашего дистрибутива. Если ваше оборудование использует 64-разрядный процессор, вам нужна версия x86-64 (64-разрядная) дистрибутива. Если вы выберете неправильную версию, большинство установщиков Linux выдадут ошибку, и вы не сможете завершить установку.
Жизненный цикл дистрибутива Linux¶
Рассмотрим жизненный цикл типичного дистрибутива Linux. Учтите, что ничто не вечно, в том числе дистрибутивы Linux. Рано или поздно выйдут более новые, более совершенные версии дистрибутива Linux, из-за чего старые версии устареют. По сути, дистрибутив Linux проходит тот же жизненный цикл, что и любое другое программное обеспечение:
- Проектирование (Design). На этом этапе определяются цель или назначение дистрибутива, задаются возможности или функции, распределяются роли. Как правило, на этом этапе выясняют, что не очень хорошо работало в предыдущей версии дистрибутива и как можно устранить эти проблемы. Обычно здесь же определяют, какую новую функциональность необходимо добавить в дистрибутив.
- Разработка (Develop). Дистрибутив создаётся в соответствии с планами, составленными на этапе проектирования. То, как именно это осуществляется, зависит от применяемой модели разработки. Может использоваться жёстко контролируемый процесс разработки в стиле «собора», а может — стихийная вольница в Интернете по модели разработки в стиле «базара». Обычно применяется та или иная форма тестирования и проверки, чтобы дистрибутив был как можно более свободным от ошибок.
- Развёртывание (Deploy). Готовый дистрибутив выпускается, и конечные пользователи начинают развёртывать его в самых разных средах.
- Сопровождение (Manage). Развёрнутый дистрибутив сопровождается на повседневной основе. Поскольку он используется в столь разнообразных средах, неизбежно обнаруживается множество ошибок, ускользнувших от разработчиков на этапе разработки. В результате приходится выпускать промежуточные обновления для исправления этих ошибок. Частота выпуска обновлений в Linux обычно гораздо выше, чем в коммерческих операционных системах и приложениях, — как правило, раз в несколько месяцев.
- Снятие с поддержки (Retire). Дистрибутивы обычно остаются поддерживаемыми в течение некоторого периода времени, называемого жизненным циклом поддержки (support life cycle). Однако продолжительность жизненного цикла поддержки сильно различается от дистрибутива к дистрибутиву. Например, Red Hat Linux в настоящее время предоставляет 10-летний жизненный цикл (хотя его можно продлить до 13 лет). Для сравнения: Debian предоставляет всего лишь трёхлетний жизненный цикл. Как только жизненный цикл поддержки заканчивается, дистрибутив устаревает и его необходимо снять с поддержки. Когда дистрибутив достигает этого состояния, его следует удалить из вашей промышленной среды.
В ходе этого процесса новые версии того или иного дистрибутива Linux могут выпускаться ещё до окончания жизненного цикла поддержки более ранних версий. Разработчики обычно не дожидаются снятия дистрибутива с поддержки, прежде чем выпустить новый. Поэтому возможна ситуация, когда несколько версий одного и того же дистрибутива Linux поддерживаются одновременно; однако все они будут находиться на разных стадиях жизненного цикла поддержки.