1.2. Дистрибутивы Linux
1.2. Дистрибутивы Linux
В любой операционной системе можно выделить 4 основных части: ядро, файловую структуру, интерпретатор команд пользователя и утилиты. Ядро - это основная, определяющая часть ОС, которая управляет аппаратными средствами и выполнением программ. Файловая структура - это система хранения файлов на запоминающих устройствах. Интерпретатор команд или оболочка - это программа, организующая взаимодействие пользователя с компьютером. И, наконец, утилиты - это просто отдельные программы, которые, вообще говоря, ничем принципиально не отличаются от других программ, запускаемых пользователем, разве только своим основным назначением - они выполняют служебные функции.
Как уже говорилось выше, если быть точным, то слово "Linux" обозначает только ядро. Поэтому, когда речь идет об операционной системе, правильнее было бы говорить "операционная система, основанная на ядре Linux". Ядро ОС Linux разрабатывается под общим руководством Линуса Торвальдса и распространяется свободно (на основе лицензии GPL), как и огромное количество другого программного обеспечения, утилит и прикладных программ. Одним из следствий свободного распространения ПО для Linux явилось то, что большое число разных фирм и компаний, а также просто независимых групп разработчиков стали выпускать так называемые дистрибутивы Linux.
Дистрибутив - это набор программного обеспечения, включающий все 4 основные составные части ОС, т. е. ядро, файловую систему, оболочку и совокупность утилит, а также некоторую совокупность прикладных программ. Обычно все программы, включаемые в дистрибутив Linux, распространяются на условиях GPL, так что может сложиться впечатление, что дистрибутив может выпустить кто угодно, точнее любой, кто не поленится собрать коллекцию свободного ПО. И какая-то степень правдоподобия в таком утверждении есть. Однако разработчик дистрибутива должен по крайней мере создать программу инсталляции, которая будет устанавливать ОС на компьютер, на котором никакой ОС еще нет. Кроме того, необходимо обеспечить разрешение взаимозависимостей и противоречий между разными пакетами (и версиями пакетов), что, как мы увидим позже, тоже является нетривиальной задачей.
Тем не менее, в мире существует уже более сотни различных дистрибутивов Linux, и все время появляются новые. Более-менее полный список их можно найти на сервере http://www.linuxhq.com, где даны краткие характеристики каждому дистрибутиву (упоминаются и некоторые локализованные версии). Кроме того, там же есть ссылки на другие списки дистрибутивов, так что при желании можно найти все, что вообще существует в мире (правда, все это на английском языке, и русских локализаций там маловато упомянуто).
А. Федорчук в статье [П3.8] предпринял попытку классификации дистрибутивов, положив в основу следующие критерии:
• структура файловой системы;
• программа инсталляции;
• используемое средство установки программных пакетов;
• состав утилит и прикладных программ, включенных в дистрибутив.
Хотя А. Федорчук и приходит к выводу, что различия между дистрибутивами несущественны и все более стираются, из его статьи все же следует, что на сегодняшний день выделяются по крайней мере 3 группы дистрибутивов, наиболее типичными представителями, которых являются Red Hat, Slackware и Debian.
По какому же критерию выбрать дистрибутив? На мой взгляд, для случая нашей страны критериев два: дистрибутив должен быть русифицирован и должна существовать команда разработчиков, обеспечивающая поддержку дистрибутива. И лучше, если эта команда имеет от этой (или, может быть, какой-то другой) деятельности некоторый доход, т. е. функционирует как коммерческая фирма. Даже за тот сравнительно недолгий период, в течение которого я занимаюсь Linux, успели сойти со сцены несколько дистрибутивов, команды поддержки которых работали "на общественных началах" и через некоторое время перестали поддерживать свои разработки.
В России в последнее время сложилось три команды разработчиков, создающих и поддерживающих русифицированные дистрибутивы.
Одна из команд сформировалась в Институте Логики (http://www.iplabs.ru). Эта команда некоторое время занималась русификацией дистрибутива Linux Mandrake Russian Edition, а в марте 2001 г. организовала фирму "ALTLinux" (http://www.altlinux.ru) и выпустила собственный дистрибутив ALTLinux (который, впрочем, очень похож на Linux Mandrake Russian Edition).
Вторая команда представлена фирмой "ASPLinux" (http://www.asplinux.ru, http://www.asp-linux.com, http://www.asp-linux.com.sg, http://www.asp-linux.co.kr), которая тоже выпустила собственный дистрибутив ASPLinux. В состав этой команды вошли Л. Кантер и А. Каневский, которые раньше выпускали известный дистрибутив Black Cat Linux.
Третья команда, насколько я могу судить, представлена Санкт-Петербургской фирмой "Linux Ink.” (http://www.linux-ink.ru), которая выпускает Red Hat Linux Cyrillic Edition.
Конечно, имеются и другие русифицированные дистрибутивы. В 2000 году появились дистрибутивы Best Linux (http://bestlinux.net), поддерживаемый фирмой SOT из Финляндии, и RosLinux. Описание нескольких русифицированных дистрибутивов Linux дано в книге А. Федорчука [П1.6]. Но, на мой взгляд, если говорить о выборе дистрибутива, то на сегодняшний день заслуживают внимания только три дистрибутива: Red Hat Linux Cyrillic Edition, Linux Mandrake Russian Edition (и его потомок ALTLinux) и ASPLinux. Я могу привести следующие доводы в пользу такого выбора:
• Эти дистрибутивы принадлежат к семейству дистрибутивов, строящихся на основе Red Hat Linux, выпускаемого одноименной американской фирмой, а судя по материалам Интернета, Red Hat - это самый распространенный в мире дистрибутив.
• Эти дистрибутивы изначально русифицированы.
• В каждом из них имеется достаточно отлаженная процедура установки, автоматически распознающая большинство компонент аппаратного обеспечения, что очень облегчает процедуру инсталляции системы.
• Легко устанавливается (добавляется) дополнительное программное обеспечение, поскольку оно поставляется в RPM-пакетах (это такая технология распространения ПО, вроде программы setup под Windows).
• Эти дистрибутивы поддерживаются сформировавшимися командами разработчиков и постоянно обновляются, поэтому можно рассчитывать на то, что Вы будете иметь возможность работать с последними версиями Linux.
Несколько слов о нумерации версий. Надо различать номера версий дистрибутивов и номера версий ядра. Когда говорят о версиях Linux, то обычно имеют в виду версию ядра (ибо принадлежность операционной системы к Linux определяется тем, что ОС использует ядро Linux). Поскольку Линус Торвальдс продолжает координировать разработку ядра, то версии ядра развиваются последовательно, а не ветвятся и множатся, как дистрибутивы.
Версии ядра Linux принято обозначать тремя числами, разделенными точкой. Например, дистрибутив Black Cat версии 5.2 был построен на основе ядра версии 2.0.36, т. е. это был Linux версии 2.0.36. Версии ядра с нечетным значением второй цифры обычно не используются для создания дистрибутивов, потому что являются экспериментальными (отладочными). Они распространяются, в основном, для того, чтобы энтузиасты могли их протестировать с целью выявления всех недостатков. Естественно, что такая версия может работать неустойчиво. Версии с четной второй цифрой являются (считаются) устойчиво работающими. Вы, конечно, можете установить любую версию, но для новичков все же обычно рекомендуют выбирать версию ядра с четной второй цифрой в номере версии. Конечно, если Вы устанавливаете полный дистрибутив, то выбор ядра за вас сделали его разработчики, но о нумерации версий вам надо знать, если Вы когда-нибудь задумаетесь об обновлении ядра.