Для чего нужен дистрибутив программы. Дистрибутивы Linux

18.08.2019 Игры

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

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

Недавно операционная система GNU Linux отметила свой 25-тый день рождения. На сегодняшний день накопилось уже просто огромное количество дистрибутивов Linux и новичкам будет очень сложно определиться с какого именно дистрибутива начать свое путешествие в этот мир. Но сначала нужно разобраться что это такое и почему существует так много дистрибутивов, а не несколько версий как в Windows (Home, Pro, Enterprise) или MacOS.

Понять почему так много дистрибутивов Linux можно, если принять во внимание, что ядро Linux распространяется с открытым исходным кодом. Любой человек может использовать его бесплатно и вносить свои изменения в код. Поэтому многие люди создают собственные дистрибутивы взяв за основу нужное ядро и добавив программное обеспечение, которое они хотят.

Нет ни одной организации, которая бы целенаправленно и самостоятельно разрабатывала Linux. Исходники доступны всем и в их разработке добровольно участвуют тысячи разработчиков со всего мира. За развитием ядра следит Фонд Свободного Программного Обеспечения, но здесь ситуация кардинально отличается от того, что мы можем наблюдать в Windows и Microsoft где за разработку всей системы отвечает одна компания.

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

Если проводить аналогию с Windows, то можно сравнить дистрибутив Linux со сборкой Windows. Каждый пользователь может взять все необходимые компоненты и собрать из них свой дистрибутив. Другое дело, что многие компании каким-либо образом улучшают эти компоненты, выпускают для них патчи, добавляют обновления, выпускают свое программное обеспечение и так далее.

А теперь давайте рассмотрим подробнее каждый из основополагающих компонентов каждого дистрибутива Linux:

Ядро Linux

Это главный компонент операционной системы. Ядро было разработано Линусом Торвальдсом еще в 1990 году. Для любой операционной системы ядро имеет жизненно важное значение. Множество программистов вносят свой вклад в разработку ядра, но все это находится под контролем Линуса Торвальдса. Он может контролировать все что касается добавления новых возможностей и изменения ядра.

Утилиты GNU

Возьмем для примера книжку для заметок. Чтобы что-то написать вам понадобиться карандаш, чтобы стереть написанный текст нужен ластик, также нелишними будут несколько маркеров, чтобы выделить нужные области текста. Все эти инструменты можно рассматривать как дополнительные инструменты, которые позволяют полноценно использовать блокнот для заметок.

Точно то же самое происходит в Linux. Вы не сможете использовать ядро само по себе. Для решения различных задач, например, работы с файлами, редактирования текста, управления системой вам нужны специальные утилиты. Эти утилиты разрабатываются проектом GNU и содержаться в пакете Coreutils.

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

Дисплейный сервер

Дисплейный сервер или оконный менеджер выступает в роли посредника между пользователем и Linux. Его основная задача - управлять выводом на экран и принимать команды от пользователя через устройства ввода. Клиентские приложения, например, Firefox, Libreoffice используют дисплейный сервер, чтобы выводить содержимое своих окон на экран, а также чтобы получать команды от пользователя.

Чаще всего используется дисплейный сервер Xorg, на основе протокола отображения X Window System. Он разрабатывается X.Org Foundation. Также в последнее время появилось еще два новых дисплейных сервера, это Mir и Wayland. Последний будет использован по умолчанию в Fedora, а что из этого получится мы узнаем потом.

В X сервере существует отдельный компонент, под названием диспетчер окон, который позволяет управлять отображением окон на экране и их взаимодействием. Вы можете перемещать, изменять размеры и порядок оконных компонентов. В случае с Wayland эта функциональность отдается композитному менеджеру.

Графический интерфейс пользователя

Графический интерфейс или GUI, это компонент, который позволяет взаимодействовать с пользователем в графике и с помощью мыши, а не консольных команд. Консольный интерфейс используется в серверных редакциях Linux.

На протяжении многих лет были разработаны различные графические интерфейсы и окружения рабочего стола. Каждое из них выпускается отдельной и независимой командой разработчиков.

Чем отличаются дистрибутивы Linux?

Разработчики дистрибутивов Linux, как правило, берут за основу обычное ядро и добавляют к нему, по их мнению, нужное программное обеспечение. Довольно часто разработчики устанавливают собственное окружение рабочего стола, например, в Ubuntu используется Unity, в Linux Mint - Cinnamon. В разных дистрибутивах поставляется разное программное обеспечение по умолчанию, например, браузер Firefox или Chrome, музыкальный плеер, офисный пакет и т д.

Второе отличие - формат программного обеспечения, разные дистрибутивы могут использовать различные системы создания пакетов с программным обеспечением deb и rpm. Разработчики могут включать или наоборот, не включать программное обеспечение с закрытым исходным кодом, например, в Fedora поставляется только свободное ПО.

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

Заметьте, что открытое программное обеспечение не всегда бесплатно. Например, есть коммерческий дистрибутив Red Hat Enterprise Linux. Вы можете скачать сам дистрибутив бесплатно, но если захотите получать регулярные обновления, придется платить.

Наиболее приемлемым дистрибутивом для начинающих я считаю Ubuntu. Она достаточно проста в установке, разрабатывается Canonical и основана на Debian. Но есть и другие дистрибутивы, которые в последнее время набирают популярность среди новичков, например, Linux Mint.

Выводы

В этой статье мы рассмотрели что такое дистрибутив Linux и попытались разобраться чем отличаются дистрибутивы linux друг от друга. Конечно, всю информацию обо всех дистрибутивах Linux вместить в одну статью не получится, но я думаю уже стало намного понятнее что это и почему делается именно так. Если у вас остались вопросы, спрашивайте в комментариях!

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

Рассмотрим очень важную тему для начинающих: как пользоваться сайтом обновлений, а также скачивать и устанавливать дистрибутивы 1С. Предлагаю сразу "ринуться в бой" и перейти к практике. Открываем сайт и переходим в раздел "Обновление программ", либо сразу переходим на сайт . Если у вас при переходе запрашивается логин и пароль, но вы не знаете где брать эти данные, можете прочитать статью , либо обратиться в вашу обслуживающую организацию по 1С и запросить эти данные там. После перехода на сайт обновлений откроется таблица с доступными для скачивания программными файлами. Здесь вас интересуют разделы с технологической платформой и названиями вашей конфигурации.

Во втором столбце таблицы указана версия последнего на данный момент релиза, в третьем дата выхода этого релиза. В остальных столбцах информация о готовящихся к выходу релизах.

Устанавливаем технологическую платформу 1С

Начнем разбор полетов с Технологической платформы. На данный момент актуальная версия платформы с приставкой "8.3". Старые версии "8.2" и младше уже не поддерживаются, "8.4" еще находится в глубокой стадии альфа-тестирования. И так, если у вас встала необходимость обновить платформу, то делаем следующее. Нажимаем на строку "Технологическая платформа 8.3". У вас откроется список всех доступных версий.

Нажимаем на самую последнюю версию. Откроется окно с дистрибутивами для разных операционных систем. Выбираем "Технологическая платформа 1С:Предприятия для Windows".

Нажимаем единственную строку "Скачать дистрибутив". Начнется загрузка. После загрузки распаковываем скачанный архив, кликнув по нему правой кнопкой мыши (если у вас нет WinRAR для распаковки, можно использовать бесплатную программу ).

В распакованной папке запускаем файл "setup".

Откроется мастер по установке. Нажимаем "Далее".

Список устанавливаемых компонентов можно оставить по умолчанию, снова нажимаем "Далее".

Нажимаем "Установить" и ждем пока установятся все необходимые файлы. Процесс обычно занимает несколько минут.

Затем у вас высветится окно с предложением установки драйвера защиты, снимаем эту галочку. Нажимаем "Далее", потом "Готово".

Технологическая платформа у вас обновлена. Убедиться в этом можно зайдя в вашу базу и нажав в правом верхнем углу значок

Версия платформы отобразится в самом верху открывшегося окна.

Устанавливаем дистрибутивы обновлений для конфигурации 1С

Дистрибутивы обновлений скачиваются и устанавливаются по тому же принципу, что и платформа. Единственное давайте сразу укажем папку для обновлений. Дело в том, что по умолчанию обновления устанавливаются в пользовательскую папку, что не совсем удобно. Папку можно назвать как угодно и создать в любом удобном вам месте, в нашем примере путь будет "D:\1c\1c обновления". Запускаем на рабочем столе ярлык 1С и нажимаем справа "Настройка".

Нажимаем на зеленый значок плюса в разделе "Каталоги шаблонов конфигураций и обновлений" и указываем путь к папке обновлений "D:\1c\1c обновления". После добавления путь отобразится в этом же разделе. Нажимаем "ОК".

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

Разберем на примере "Бухгалтерии предприятия 3.0" (естественно у вас будет название именно вашей конфигурации). Нажимаем на данную строку, у вас откроется список всех доступных релизов.

Какие они бывают, что ими можно назвать, а что нет, и откуда пошло это понятие.

Что это такое?

Понятие «дистрибутив» вошло в нашу жизнь сравнительно недавно, примерно во время роста популярности свободных семейства Linux. Дистрибутивы системы тогда в основном распространялись на CD-болванках, так как скорость доступа в Интернет не позволяла скачивать ISO-образы из Сети. Со временем название распространилось и на другие продукты. Теперь практически везде можно услышать слово «дистрибутив». Что это такое? Именно в этом мы и попробуем разобраться в данном материале.

Начало использования слова «дистрибутив»

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

Вообще, данный термин предполагает наличие минимального комплекта программ для обеспечения работы операционной системы на начальных этапах. Такое определение понятия мало подходит к таким словосочетаниям, как «дистрибутив игры». Что это за дистрибутив, если в нем отсутствует как таковая? В данном случае это просто компьютерная игра на физическом носителе или скомпилированная для скачивания по Сети и установки без диска. Особенно это актуально в настоящее время, когда этот способ становится все более популярным. Дошло до того, что порой, при сборке нового компьютера, дисковода в нем попросту нет.

С развитием Интернета дистрибутивами стали называть ISO-образы. Их можно скачать с официального сайта и записать на диск или USB-накопитель. С помощью такого загрузочного носителя можно установить операционную систему на любой компьютер.

Дистрибутивы Linux

Раз это понятие пришло к нам из мира свободных ОС, то вначале рассмотрим дистрибутивы ОС Linux. Их полным-полно. Все они имеют свои определенные «фишки». Но и сходны они в одном. Во всех дистрибутивах Linux есть полный набор необходимых для работы драйверов и приложений. Причем ни за один из них платить не нужно. Вот что значит настоящий дистрибутив. Что это за Главным образом это Ubuntu, Linux Mint и Debian. Все они основаны на Debian, поэтому полностью совместимы друг с другом.

Дистрибутивы таких «линуксоподобных» систем, как AltLinux, ArchLinux, CentOS и Fedora, не могут похвастаться такой совместимостью с оборудованием компьютера. Для них придется скачивать дополнительные драйверы. Но и они обладают базовым набором необходимых приложений.

Дистрибутивы Windows

Строго говоря, установочные диски операционной системы Windows сложно назвать дистрибутивами. Ведь это понятие предполагает наличие драйверов «из коробки» и набор приложений для полной работоспособности системы.

Правда, с выходом «десятки» ситуация несколько изменилась. Теперь дистрибутив Windows содержит некоторое количество драйверов, необходимых для нормальной работы системы. Но все равно придется докачивать программы для видеокарты. С приложениями все плохо. Не могут они обеспечить нормальную работу системы. Хотя Windows 10 и переняла многое от Linux (терминал, альтернативные рабочие столы), но ей далеко еще до гордого названия «дистрибутив».

Главным плюсом ОС Windows считается совместимость со всеми компьютерами и устройствами. При желании ее можно установить на компьютеры от Apple. Но портить совершенные «яблочные» компьютеры подделкой от Microsoft все же как-то не хочется.

Дистрибутив MacOS

Так как MacOS является «юниксоподобной» системой, можно было ее и не рассматривать, но без нее обзор получился бы неполный. Как и все операционные системы, «Макос» имеет свой дистрибутив. Что это такое в данном случае?

Следует отметить, что MacOS производится только для продуктов компании Apple. И поддержка их в ОС реализована самым лучшим образом. Драйверы на все устройства устанавливаются без проблем, а приложений столько, что вполне можно и сторонние не добавлять. Как всегда, Apple на высоте. Образ системы от «яблочников» точно можно назвать дистрибутивом.

Если использовать некоторые специализированные программы, то дистрибутив MacOS можно заставить работать и на обычных компьютерах. Правда, очень желательно наличие процессора от Intel из линейки Core. Именно с этими процессорами наблюдается наилучшее быстродействие MacOS на «сторонних» компьютерах.

Дистрибутивы программ

Теперь поговорим о том, что никак невозможно назвать дистрибутивом, - о дисках с программным обеспечением. Многие привыкли так называть носитель с той или иной программой (например, 1С дистрибутив). Это в корне неправильно. Главным образом потому, что на диске отсутствует вообще операционная система.

Очень часто дистрибутивом называют сборник программ для той или иной системы. В этом есть доля правды. Такое собрание программ и приложений вполне возможно назвать дистрибутивом.

Некоторые программные продукты имеют свои дополнительные дистрибутивы. Например, базы данных или наборы сэмплов.

Заключение

Такой вот у нас получился краткий «ликбез» на тему «дистрибутив». Что это - мы, наконец, разобрались. Теперь вам известно, какие их виды бывают и что вообще можно назвать дистрибутивом. Конечно, в наше время рамки этого понятия несколько смазались и сейчас этим словом именуют все подряд. Но благодаря нашей статье теперь вы знаете, что можно с полным правом определить как дистрибутив.

Зачастую встречается на посвященных операционной системе Linux сайтах слово «дистрибутив». Для многих это понятие становится не особо понятным. Таким образом, попытаюсь остановиться на этом вопросе, дабы внести некоторую ясность.

Во-первых, хотелось бы рассказать, что вообще такое дистрибутив…

Итак, дистрибутив – это совокупность программ (пакетов), некоторый набор утилит, собранных воедино на ядре системы. Ядро Linux выпускается централизовано, а дистрибутив Линукс, при определенном наличии знаний и умений, может собрать каждый желающий либо с нуля, либо на основе уже имеющегося дистрибутива… В настоящее время имеется огромное множество дистрибутивов операционной системы Linux. Из этого множества есть некоторое число выпускаемых коммерческими фирмами на коммерческой же основе, однако, в большинстве своем дистрибутивы распространяются свободно на условиях GPL-лицензии. Таким образом, пользователь имеет возможность выбрать себе любой из понравившихся дистрибутивов, либо, как уже говорилось, при условии знаний и умений может собрать самостоятельно свою систему по вкусу.

Теоретически (а для кого-то и практически) можно обойтись и без дистрибутива, для чего нужно будет скачать все составляющие будущей системы: ядро, системные утилиты, необходимые конкретно для себя пакеты программного обеспечения, оконные менеджеры, библиотеки и компиляторы и т.д. Затем все это будет необходимо скомпилировать и установить в систему. Нужно также помнить о взаимозависимости многих комплектов друг от друга… Вобщем, собственно систему можно собрать и без дистрибутива, однако, зачем изобретать велосипед, если все давно придумано до нас?

Во-вторых, возникает вопрос каково отличие одного дистрибутива от другого?

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

Следующее различие в наборе утилит и пакетов назначению и количеству. При желании можно найти минималистические дистрибутивы, размер которых позволяет поместить их на несколько дискет. Обычно таковые предназначены для каких-то узких администраторских целей. А есть и огромные универсальные сборки, которые занимают не меньше одного DVD. Большинство же дистрибутивов занимает один компакт-диск, чаще всего (данная тенденция нарисовалась не так давно) позволяющие производить загрузку системы без установки на жесткий диск. Данная методика получила название LiveCD (живой компакт-диск). Кроме того, дистрибутивы отличаются и по направлениям применения: одни предназначены для использования на серверах, а другие – для настольных систем и ноутбуков.

Основные средства, приложения и утилиты включаются в дистрибутивы в виде уже готовых к установке программных пакетов. В этом также различие между дистрибутивами: зависимость от формата пакетов. В основном это: RPM (Red Hat-овский формат), DEB (формат Debian) и TGZ (Slackware-формат). Некоторые дистрибутивы создали свои форматы пакетов, однако, по большей мере три вышеуказанных формата «правят» миром Linux-дистрибутивов 🙂

DEB-дистрибутивы

Deb - это расширение имен файлов «бинарных» пакетов для установки, обовления и удаления программного обеспечения в операционной системе проекта Debian, а также иных дистрибутивов Linux, использующих в качестве системы управления пакетами dpkg.

Deb, кстати, представляет собой часть слова Debian, который, в свою очередь, получил свое название от имени Debra жены основателя этого дистрибутива Яна Мердока, а также Ian от, собственно, его имени.

Тут дистрибутивы, которые используют формат пакетов .deb и менеджер пакетов dpkg , - собственно Debian, Knoppix, MEPIS, Ubuntu (и основанные на убунту Kubuntu, Xubuntu и т.д.), Damn Small Linux… Вобщем, таких сборок очень много, одних только Ubuntu-базирующихся дистрибутивов имеется больше десятка.

RPM-дистрибутивы

RPM (Red Hat Package Manager - менеджер пакетов Red Hat или RPM Package Manager) означает две вещи: формат пакетов программного обеспечения и программа, созданная для управления этими пакетами.

Программа позволяет инсталлировать, обновлять или удалять программное обеспечение. Формат RPM основан на формате, разработанным LSB.

Изначально данная система управления пакетами разрабатываясь фирмой Red Hat для Red Hat Linux. Позже RPM стал использоваться во многих дистрибутивах GNU/Linux, и, кроме того, был портирован на другие ОСи: Novell NetWare (с версии 6.5 SP3), IBM AIX (с версии 5) и прочие…

Представители дистрибутивов, базирующиеся на системе управления пакетами RPM, а таковых в компьютерном мире имеется великое множество, - ALT Linux, Ark Linux, ASPLinux, CentOS, Fedora, Mandriva, openSUSE, PCLinuxOS, Red Hat, Red Flag Linux, Turbolinux, Trustix…

Кроме вышеописанных систем, имеются и другие варианты пакетных систем, например, Slackware-подобные дистрибутивы и дистрибутивы с оригинальными пакетными системами.

К первому виду можно отнести Slackware, DeepStyle, MOPSLinux, Sabayon, Slamd64, Slax, VectorLinux, Ultima Linux и тп… А свои оригинальные системы пакетов используют такие дистрибутивы, как, например, CRUX, Gentoo, Onebase Linux, Arch Linux…

Некоторые дистрибутивы могут быть собраны в коммерческом исполнении, что обусловлено включением в состав сборок пакетов с коммерческой лицензией, но в большинстве своем они имеют и бесплатную версию (примеры коммерческих дистрибутивов: Libranet, Linspire, Linux XP, Mandriva PowerPack, Nitix, Novell Linux Desktop, Progeny Debian, Red Hat Enterprise Linux, SUSE, Thinstation, Xandros…

Подробнее о дистрибутивах Линукс и особенностях каждого из них можно прочитать, например, в

В любой операционной системе можно выделить 4 основных части: ядро, файловую структуру, интерпретатор команд пользователя и утилиты. Ядро - это основная, определяющая часть ОС, которая управляет аппаратными средствами и выполнением программ. Файловая структура - это система хранения файлов на запоминающих устройствах. Интерпретатор команд или оболочка - это программа, организующая взаимодействие пользователя с компьютером. И, наконец, утилиты - это просто отдельные программы, которые, вообще говоря, ничем принципиально не отличаются от других программ, запускаемых пользователем, разве только своим основным назначением - они выполняют служебные функции.

Как уже говорилось выше, если быть точным, то слово "Linux" обозначает только ядро. Поэтому, когда речь идет об операционной системе, правильнее было бы говорить "операционная система, основанная на ядре Linux". Ядро ОС Linux разрабатывается под общим руководством Линуса Торвальдса и распространяется свободно (на основе лицензии GPL), как и огромное количество другого программного обеспечения, утилит и прикладных программ. Одним из следствий свободного распространения ПО для Linux явилось то, что большое число разных фирм и компаний, а также просто независимых групп разработчиков стали выпускать так называемые дистрибутивы Linux.

Дистрибутив - это набор программного обеспечения, включающий все 4 основные составные части ОС, т. е. ядро, файловую систему, оболочку и совокупность утилит, а также некоторую совокупность прикладных программ. Обычно все программы, включаемые в дистрибутив Linux, распространяются на условиях GPL, так что может сложиться впечатление, что дистрибутив может выпустить кто угодно, точнее любой, кто не поленится собрать коллекцию свободного ПО. И какая-то степень правдоподобия в таком утверждении есть. Однако разработчик дистрибутива должен, по крайней мере, создать программу инсталляции, которая будет устанавливать ОС на компьютер, на котором никакой ОС еще нет. Кроме того, необходимо обеспечить разрешение взаимозависимостей и противоречий между разными пакетами (и версиями пакетов), что, как мы увидим позже, тоже является нетривиальной задачей. Тем не менее, в мире существует уже более сотни различных дистрибутивов Linux, и все время появляются новые.

История возникновения дистрибутивов

Linux - ядро

В 1991 году Линус Торвальдс, финский студент, чрезвычайно увлёкся идеей написать совместимое с UNIX ядро (см рис 1) операционной системы для своего персонального компьютера с процессором ставшей очень широко распространённой архитектуры Intel 80386. Прототипом для будущего ядра стала операционная система MINIX: совместимая с UNIX операционная система для персональных компьютеров которая загружалась с дискет и умещалась в очень ограниченной в те времена памяти персонального компьютера. MINIX был создан Эндрю Таненбаумом в качестве учебной операционной системы, демонстрирующей архитектуру и возможности UNIX, но непригодной для полноценной работы с точки зрения программиста. Именно полноценное ядро для своего ПК и хотел сделать Линус Торвальдс. Название своему ядру он дал freax, но позже оно было изменено хозяином ftp сервера на Linux - гибрид имени создателя и слова UNIX.

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

Важнейшую роль в развитии Linux сыграли глобальные компьютерные сети Usenet и Internet. На самых ранних стадиях Линус Торвальдс обсуждал свою работу и возникающие трудности с другими разработчиками в телеконференции comp.os.minix в сети Usenet, посвящённой операционной системе MINIX. Ключевым решением Линуса стала публикация исходных текстов ещё малоработоспособной первой версии ядра под свободной лицензией GNU GPL. Благодаря этому и получавшей всё большее распространение сети Internet очень многие получили возможность самостоятельно компилировать и тестировать это ядро, участвовать в обсуждении и исправлении ошибок, а также присылать исправления и дополнения к исходным текстам Линуса. Теперь над ядром работал уже не один человек, разработка пошла быстрее и эффективнее.

В 1992 году версия ядра Linux достигла 0.95, а в 1994 году вышла версия 1.0, что свидетельствовало о том, что разработчики, наконец, сочли, что ядро в целом закончено и все ошибки (теоретически) исправлены. В настоящее время разработка ядра Linux - дело уже гораздо большего сообщества, чем во времена до версии 1.0. Изменилась и роль самого Линуса Торвальдса: теперь он не главный разработчик, а наиболее авторитетный член сообщества, по традиции оценивающий качество исходных текстов, которые должны быть включены в ядро, и дающий своё добро на их включение. Тем не менее, общая модель свободной разработки сообществом сохраняется.

Однако как нельзя сделать операционную систему без ядра, так и ядро будет бесполезно без утилит, которые использовали бы его возможности. Благодаря проекту GNU Линус Торвальдс сразу получил возможность использовать с Linux свободные утилиты: bash, компилятор gcc, tar, gzip и многие другие уже известные и широко используемые приложения, которые могли работать с его UNIX-совместимым ядром. Так Linux сразу попал в хорошее окружение и в сочетании с утилитами GNU представлял собой очень интересную среду для разработчиков программного обеспечения даже на самой ранней стадии своего развития. Принципиальным шагом вперёд было именно то, что из ядра Linux и утилит и приложений GNU впервые стало возможно сделать полностью свободную операционную систему, то есть работать с компьютером и, более того, разрабатывать новое программное обеспечение, пользуясь только свободным программным обеспечением. Идеал полностью некоммерческой разработки, сформулированный Столлманом, теперь мог быть воплощён в жизнь. Вскоре появлялись теоретические возможности воплощения идеала, но это не означало его немедленной практической реализации. Совместимость Linux и утилит GNU была обусловлена тем, что и то, и другое писалось с ориентацией на одни и те же стандарты и практику. Однако в рамках этой практики (то есть при наличии множества различных UNIX-систем) оставался большой простор для несовместимости и различных решений. Поэтому на начальном этапе разработки ядра каждое заработавшее на Linux приложение GNU было для Линуса очередным достижением. Первыми стали bash и gcc. Таким образом, сочетание GNU и Linux давало возможность создать свободную операционную систему, но само по себе ещё не составляло такой системы, потому что Linux и различные утилиты GNU оставались разрозненными программными продуктами, написанными разными людьми, не всегда принимавшими в расчёт то, что делали другие. Основным же свойством любой системы является согласованность её компонентов.

Возникновение дистрибутивов

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

Когда задача получить компьютер с постоянно работающей на нём системой Linux стала востребованной и довольно распространённой, разработчики в хельсинкском и техасском университетах создают собственные наборы дискет, с которых скомпилированное ядро и основные утилиты можно записать на жёсткий диск, после чего загружать операционную систему прямо с него. Эти наборы дискет стали первыми прототипами современных дистрибутивов Linux -комплектов программного обеспечения, на основе которых можно получить работающую операционную систему на своём компьютере. Нужно отметить, что в дистрибутив Linux с самого начала входили программные продукты GNU. На самом деле, всякий раз, когда говорится «операционная система Linux», подразумевается «ядро Linux и утилиты GNU». Фонд свободного ПО рекомендует называть это операционной системой Linux.

Однако скопировать все нужные программы на жёсткий диск ещё недостаточно, чтобы получить подходящую для нужд пользователя операционную среду (пусть даже это очень профессиональный пользователь). Поэтому первые наборы дискет можно только условно назвать дистрибутивами. Чтобы получить работающую операционную систему, требуются какие-то специальные средства установки и настройки программного обеспечения. Именно наличие таких средств и отличает современные дистрибутивы Linux. Другая важнейшая задача дистрибутива - регулярное обновление. Программное обеспечение, особенно свободное, - одна из самых быстро развивающихся областей, поэтому мало один раз установить Linux, нужно ещё регулярно его обновлять. Первым дистрибутивом в современном понимании, получившим широкое распространение, стал Slackware, созданный П. Фолькердингом. Он был широко известен пользователям Linux уже к 1994 году.

Несмотря на то, что с появлением первых дистрибутивов установка Linux уже не требует самостоятельной компиляции всех программ из исходных текстов, использование Linux оставалось уделом разработчиков: пользователь операционной системы с ним в тот период её развития мог заниматься почти исключительно программированием. По крайней мере, чтобы решать в ней другие повседневные прикладные задачи (например, чтение электронной почты, написание статей и т. п.), он должен был сначала некоторое время позаниматься программированием и даже разработкой самой системы Linux, чтобы создать для себя соответствующие прикладные программы или заставить их работать в Linux.

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

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

Первой успешной компанией, работающей по такой схеме, стала Red Hat, появившаяся в 1995 году. Red Hat адресовала свои разработки не только программистам профессионалам, но и обыкновенным пользователям и системным администраторам, для которых компьютер - в первую очередь офисное рабочее место или рабочий сервер. Ориентируясь на уже существующие, на рынке предложения для такого класса пользователей, Red Hat всегда уделял большое внимание разработке приложений с графическим интерфейсом для выполнения типичных задач по настройке и администрированию системы. Бизнес Red Hat развивался довольно успешно, в 1999 году эта компания акционировалась - сразу после выпуска акции росли в цене очень энергично, однако потом ажиотаж утих. В настоящее время доля Red Hat на рынке серверов и рабочих станций Linux очень велика. Благодаря Red Hat в сообществе пользователей Linux очень широкое распространение получил формат пакетов RPM.

Практически одновременно с Red Hat появился проект Debian. Его задача была примерно той же - сделать целостный дистрибутив Linux и свободного программного обеспечения GNU, однако этот проект был задуман как принципиально некоммерческий, проводимый в жизнь сообществом разработчиков, нормы взаимодействия в котором полностью соответствовали бы идеалам свободного ПО. Сообщество разработчиков Debian - международное, участники которого взаимодействуют через Internet, а нормы взаимодействия между ними определяются специальными документами - полиси (англ. policy ).

Сообщество разработчиков не извлекает никакой прибыли от продажи Debian, его версии распространяются свободно, доступны в Интернет, могут распространяться и на твёрдых носителях (CD, DVD), но и в этом случае их цена редко сильно превышает стоимость носителя и наценку, окупающую затраты на издание. Первоначально разработка Debian спонсировалась Фондом свободного программного обеспечения. Адресатами дистрибутивов Debian всегда в первую очередь были профессиональные пользователи, так или иначе связанные с академической разработкой программного обеспечения, которые готовы читать документацию и собственными руками организовать нужный профиль системы, соответствующий именно их задачам. Ориентация на такую аудиторию предопределила некоторые тенденции развития Debian: в нём никогда не было обилия «простых» графических средств настройки среды, всевозможных «мастеров», однако всегда уделялось много внимания средствам последовательной и единообразной интеграции программного обеспечения в единую систему. Именно в Debian появился менеджер пакетов (APT). В настоящее время Debian - самый популярный дистрибутив Linux среди пользователей, являющихся профессионалами в области информационных технологий.

Всякий раз, когда свободное программное обеспечение оказывается востребованным, немедленно возникает множество альтернативных решений - так произошло и с дистрибутивами Linux. После 1995 года возникло (и продолжает возникать) огромное количество коммерческих компаний и свободных сообществ, которые ставят своей задачей подготовку и выпуск дистрибутивов Linux. У каждого из них - свои особенности, своя целевая аудитория, свои приоритеты. К настоящему времени на рынке дистрибутивов выделилось несколько лидеров, которые предлагают более или менее универсальные решения и наиболее широко известны и используются. Помимо уже названных Red Hat и Debian следует назвать в ряду дистрибутивов, ориентированных на рядового пользователя, немецкий SuSE и французский Mandriva (до 2005 года - Mandrake), среди адресованных специалистам - Gentoo. Но помимо «крупных» игроков на рынке дистрибутивов есть гораздо большее количество менее распространённых дистрибутивов. Теперь перед пользователем, желающим установить Linux, встаёт вопрос выбора дистрибутива. Критерии выбора - и задачи, которые предполагается решать с помощью Linux, и уровень подготовки пользователя, и технологии, и предстоящие контакты с тем сообществом, которое занимается разработкой дистрибутива.

Дистрибутив операционной системы

Дистрибутив операционной системы - это форма распространения системного программного обеспечения. Наличие дистрибутивов вызвано тем, что форма программного обеспечения, используемая для его распространения, почти никогда не совпадает с формой программного обеспечения работающей системы.

Дистрибутив обычно содержит программы для начальной инициализации системы (инициализация аппаратной части, загрузка урезанной версии системы и запуск программы-установщика), программу-установщик (для выбора режимов и параметров установки) и набор специальных файлов, содержащих отдельные части системы (так называемые пакеты).

Программа установки позволяет также произвести первичную настройку системы.

Характеристики дистрибутивов:

политика дистрибутива

документ, регламентирующий кем и как разрабатывается дистрибутив, на каких основаниях в него включается программное обеспечение, какие требования (по размещению в файловой системе, взаимодействию с другими компонентами дистрибутива и т. п.) предъявляются к пакетам

программа-загрузчик

инициализация аппаратной части, загрузка (обычно) урезанной версии системы, инициализация носителей

программа установки

выбор параметров установки и пакетов для установки

программа начальной конфигурации

начальное конфигурирование системы

программа управления пакетами

установка пакетов на работающую систему, обновление пакетов и т. д.

наборы пакетов

наличие программ, необходимых пользователю, специализированность дистрибутива (общего назначения, спасательные, «живые», микро и т. д., а также ориентированность на решение конкретных задач - кластерные дистрибутивы, дистрибутивы для специфических областей науки и т. д.)

разработчик

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

сообщество

компетентность пользователей, взаимопомощь, обмен опытом среди пользователей

прочие характеристики

простота установки и безопасность, лёгкость настройки, длина жизни, стабильность развития дистрибутива, платность дистрибутива и т.д.