Дистрибутив - это что? Как использовать дистрибутив Windows и других ОС. Примеры дистрибутивов ОС и программ

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

Компьютерные программы бывают:

  • требующие установки;
  • портативные (которые установки не требуют).

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

Дистрибутив программы , и уже установленная программа — это абсолютно разные вещи, и между собой не связанные. Они находятся в разных местах, и друг на друга никак не влияют.

Дистрибутив программы — можно скачивать, перемещать из папки в папку на компьютере, передавать через Интернет, предназначен для установки программы.

Установленная программа — в отличие от дистрибутива программы работает, то есть совершает то, для чего программа предназначена, но перемещать ее с места на место, или передавать через Интернет нельзя — она на новом месте работать перестанет.

Подготовка к установке компьютерной программы

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

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

Давайте сначала разберемся с требованиями, которые компьютерная программа может предъявить компьютеру для своей нормальной работы:

  • Системные требования : какая операционная система у компьютера, какая оперативная память, сколько свободного места на диске. Найти эти параметры на своем компьютере Вы можете, если нажмете правой клавишей на папке Мой компьютер, а затем выберете Свойства. Второй вариант: заходите через кнопку Пуск на Панель управления, затем выбираете Свойства.
  • Другие необходимые сведения : позволяет ли разрешение экрана отображать графику (в основном касается игр, но иногда является причиной, по которой не работают и рабочие программы), есть ли устройство для чтения компакт-дисков (если программа записана на диске), имеется ли программа архиватор (если дистрибутив находится в архиве), если ее у Вас нет — необходимо поставить.

Если Вы компьютерную программу купили, то на коробке Вы увидите:

  • минимальные системные требования к компьютеру (программа будет работать, но не совсем в полную силу, на пределе возможностей компьютера);
  • рекомендуемые системные требования к компьютеру (программа будет работать в полную силу).

Где взять компьютерную программу?

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

  • купить в магазине;
  • взять у друзей (на флешке или диске);
  • скачать в Интернете (у друзей или на сайтах).

Не забудьте скачанный дистрибутив программы проверить на отсутствие вирусов.

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

Также Вы можете подписаться на блог, и узнавать о всех новых статьях.
Это не займет много времени. Просто нажмите на ссылку ниже:

Зачастую встречается на посвященных операционной системе 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…

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

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

Как уже говорилось ранее, Access не позволяет сделать исполняемый файл, способный работать без Access. Но в то же время, Microsoft предлагает для решения проблемы воспользоваться пакетом Microsoft Office Developer , в состав которого входит и лицензия на распространение программы Microsoft Access runtime . Остановлюсь на этом подробнее.

Программа Microsoft Access runtime - это версия Access, которая позволяет пользователям выполнять, но не модифицировать приложение Access. Устанавливать Microsoft Access runtime вместо полной версии есть смысл только в том случае, когда нужна лицензионная чистота, а у клиента, у которого исполняется Ваша база, нет лицензии на Access. В этом случае придется покупать ODE (Оffice Developer Edition). Тогда вместе с его покупкой Вы получаете некоторые дополнительные инструменты и самое главное ПРАВО устанавливать клиентам вместе с разработанной вами базой еще и Run-time версии Аccess. В этом случае к клиенту не будет притензий по поводу незаконного использования Аccess. Иначе каждому клиенту необходимо купить лицензию MS AАccess.

В пакет ODE входит "создатель дистрибутивов" который включает в диистибутив Вашу MDB и Run-time версию. Все библиотеки необходимые для создания Run-time уже есть в полной версии Аccess (даже без ODE). Но тут есть одно НО (это для тех, кого беспокоит лицензионная "читота"):

Если Вы его не купите официально, то у клиентов все равно не будет права использовать даже Run-time версию.

Может возникнуть такая мысль: А что, если узнать какие файлы нужны Access для работы и включить их в установочный дистрибутив? Можно, но это не решает проблемы с лицензией. К тому же придется создавать достаточно сложную программу установки с проверкой имеющихся компонентов и установкой/регистрацией отсутсвующих. Причем в последнем случае можно при неумелых действиях даже разрушить систему.

Вообще, если рассматривать реальные ситуации с продажей приложений на Access, то лишь немногие разработчики (речь идет о России) действительно покупают лицензионные пакеты. Как правило это те, для кого "при определенном уровне развития бизнеса вопрос покупать - не покупать теряет свою актуальность" - или говоря проще, кто может себе позволить купить лицензионный пакет за 600$ - 1000$. Интересно потом выслушивать их чертыхания на форумах по поводу работы таких программ. Насколько я понял там те же самые "косяки", что и в пиратских версиях. Поэтому призывать Вас использовать только бесплатные или пиратские версии Office для Ваших программ я не буду, но и рекомендовать пользоваться лицензионным тоже не стал бы (см. выше).

Интересно, что полную версию Access можно запустить в runtime - режиме, задав в командной строке ключ /runtime. Например, создайте на рабочем столе ярлык, кликнете по нему правой кнопкой мыши, в появившемся диалоговом окне в поле объект напишите примерно так: (это для Office 2000 - XP, а для 2003 нужно будет исправить вместо Office10 - Office11)

"C:\Program Files\Microsoft Office\Office10\MSACCESS.EXE" "D: \Базы\Моя База.mdb"/runtime

а в поле «Рабочая папка»:

Теперь запустим приложение через этот ярлык. Откроется окно проекта Access, но ярлыка Access, а так же стандартных панелей инструментов уже там не будет. Это и есть runtime - режим.

Для начинающих разработчиков распространение приложений Access через пакет Microsoft Office Developer вряд ли приемлемо. Ведь он стоит денег, и не малых. Мы рассмотрим другой способ, при помощи бесплатного инсталлятора Inno Setup . Есть конечно и другие как платные, например InstallShield , так и бесплатные инсталляторы. Различаются они по удобству работы, размеру создаваемого дитсрибутива.

Inno Setup - свободно распространяемый инсталлятор для программ Windows. Английские версии появились ещё в 1997, теперь Inno Setup переводится на несколько языков, а инсталляторы может создавать более чем на 20 языках. Inno Setup превосходит многие коммерческие инсталляторы по возможностям, стабильности и размеру создаваемых файлов.

Основные характеристики:

  • программа может сравнивать информацию о версии файла
  • перемещать используемые файлы
  • регистрировать DLL/OCX/FNT/TLB и типовые библиотеки
  • инсталировать шрифты
  • проверяет, активны ли определенные программы
  • создание ярлыков быстрого доступа (например, через старт-меню или на рабочем столе)
  • осуществление записи в ini-файлы
  • встроенная машина для написания скриптов на языке Pascal
  • поддерживает многоязыковую инсталяцию
  • инсталяция и деинсталяция по умолчанию
  • весь код доступен (Borland Delphi 2.0-5.0)
  • защита пароля для setup
  • в случае отмены во время исполнения, все действия будут приведены в исходное состояние
  • поддерживает все 32-х битные версии Windows (95, 98, 2000, 2003, XP, Me, NT 4.0)
  • создает создание одного файла exe, что значительно облегчает процесс инсталяции Вашей программы
  • стандартный интерфейс Windows 2000/XP
  • ориентирован на пользователя (например, полный, минимальный, пользовательский вариант)
  • все инструменты для деинсталяции
  • инсталирование файлов: встроенная поддержка "deflate", bzip2, 7-zip LZMA файлы сжатия

Так же начиная с версии 2.0.6 Inno Setup включает в себя полную поддержку для MBCS. В более ранние версии последнее свойство не входит. А вот Web-инсталяцию не поддерживает.

Особенность создания инсталлятора в Inno Setup - это то, что инсталляторы создаются при помощи скриптов - простых текстовых файлов ASCII, напоминающих.INI файлы. Скрипты редактировать легче, чем, например, работать с интерфейсом Installshield. Скрипты имеют расширение ".iss" (inno setup script). В нём указываются все параметры инсталлятора, и при установке, программа ассоциирует себя с этими файлами. Скрипт разделен на секции, имена которых пишутся в квадратных скобках . Внутри секций существуют ключевые слова и указания, которые компилятор может читать и выполнять.

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

; -- Sample1.iss --
; Demonstrates copying 3 files and creating an icon.

Порядок секций не имеет значения. Все они (за исключением ) являются произвольными. Ключевому слову значение присваивается при помощи знака равенства (=).

Указания состоят из одного или нескольких параметров и их опций, а также флагов flags . Параметр же в свою очередь состоит из имени, за которым следует двоеточие : и значения. Параметры, опции и флаги отделяются друг от друга точкой с запятой ;

Рассмотрим в кратце основные секции:

Секция

Значение

сoдержит указания по поведению инсталяционной рутины, а также, как это должно выглядеть. Ключевые слова AppName, AppVerName и DefaultDirName являются обязательными. Все остальные - по необходимости
Здесь содержатся файлы для setup
ярлыки (иконки)
Соотношение компонентов к типу инсталяционной рутины
разрешает создать новые пустые папки
делает записи в INI- файлы
первое действое при инсталяции, cистаксис соответствует секции
разрешает специфические изменения в тексте
делает запись в регист
выполняет другие программы после того как данные успешно были исталированы, но еще до того как будет закрыто диалоговое окно
разрешает дополнитекльные действия в setup
устанавливает тип setup-а
последняя операция при деинсталяции. Таким образом папки и/или файлы будут удалены
первая операция при деинсталяции. Систаксис соответствует секции
содержит информацию о языке. как правило, не используется

Inno Setup работает внутри скрипта с различными предопределеными константами, которые, как правило, содержат пути (path). Способ написания: {имя} . Некоторые константы, такие как {app} и {group} могут/должны быть предопределены пользователем. Тот, кто сам желает определить константы, должен обратиться к припроцессеру Алекса Якимова (Alex Yackimoff).

Вот основные константы Inno Setup:

константа

пример

{win} путь в директорию/папку Windows C:\Windows
{sys} путь в системную папку Windows, в частности папку System32 C:\Windows\System или C:\Windows\System32
{app} путь к собственной аппликации (программе)
{pf} путь к программной папке C:\Programme
{cf} путь к общим данным C:\Programme\Gemeinsame Dateien
{dao} cоответствует{cf}\Microsoft Shared\DAO C:\Programme\Gemeinsame Dateien\Microsoft Shared\DAO
{src} путь к папке инсталявионной рутины, в момент выполнения setup R:\
{group} группа программ для стартового меню

Итак, рассмотрим задачи, которые нужно решить (определим только минимальные). Наш инсталлятор должен сделать следующее:

Распаковать файлы в нужные места
Создать папку в каталоге программы (папка «Коп» - для хранения резервных копий базы)
Создать меню запуска приложения в Пуск - Все программы, а так же иконку на рабочем столе

Это необходимый минимум. Но, разумеется, это далеко не все возможности Inno Setup. Ведь не зря его используют многие разработчики. Но в данной статье я ограничусь только этим, желающие глубже изучить возможности программы могут обратиться к справочной системе. В Интернет есть множество ссылок как на программу, так и на переводы справки. Например, Inno Setup 5.1.6. и справку к нему Вы можете скачать здесь… Английский сайт программы http://www.innosetup.com

Для начала попробуйте поэкспериментировать, создавая инсталлятор при помощи мастера, а затем изучая структуру полученного скрипта. В принципе, я думаю нет нужды подробно описывать, что где нажимать. Inno Setup настолько прост в освоении, что без проблем изучается, что называется «методом научного тыка». Вот например скрипт инсталятора, который делает определенные ранее задачи (все файлы дистрибутива находятся в каталоге D:\Setup.)


AppName=Моя программа
AppVerName=Моя программа. Версия 1.0.
AppPublisher=MyProgram, Inc.
AppPublisherURL=http://MyMySoft.ru/
AppSupportURL=http://MyMySoft.ru/
AppUpdatesURL=http://MyMySoft.ru/
DefaultDirName={pf}\MyProgram
DisableDirPage=no
DefaultGroupName=Моя программа
DisableProgramGroupPage=yes
LicenseFile=D:\Setup\license.txt
InfoAfterFile=D:\Setup\readme.txt
AlwaysCreateUninstallIcon=yes


Name: "desktopicon"; Description: "Создать ярлык на &Рабочем столе"; GroupDescription: "Дополнительные ярлыки:"


Source: "D:\Setup\Сервер.mdb"; DestDir: "{app}"; DestName: "Сервер.mdb";
Source: "D:\Setup\license.txt"; DestDir: "{app}";
Source: "D:\Setup\readme.txt"; DestDir: "{app}";
Source: "D:\Setup\Log.JPG"; DestDir: "{app}";
Source: "D:\Setup\Log.ico"; DestDir: "{app}";
Source: "D:\Setup\База.mdb"; DestDir: "{app}";


Filename: "{app}\MyProg.url"; Section: "InternetShortcut"; Key: "URL"; String: "http://MyMySoft.ru/"


Name: "{app}\Коп"


Name: "{group}\Моя программа"; Filename: "{app}\База.mdb" ;WorkingDir: "{app}";IconFilename:{app}\Log.ico
Name: "{group}\Сайт программы"; Filename: "{app}\MyProg.url"
Name: "{userdesktop}\Моя программа"; Filename: "{app}\База.mdb" ;WorkingDir: "{app}"; IconFilename:{app}\Log.ico;Tasks: desktopicon

Пример, как это все работает, Вы можете скачать ниже.

  • Обратиться в "Интерфейс" за дополнительной информацией/по вопросу приобретения продуктов

Файлы для загрузки

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

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

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

Установочные дистрибутивы для различных операционных систем распространяются по-разному. Так, для семейства операционок Microsoft Windows они идут в виде.EXE и.MSI инсталляторов, для Макинтошей – в виде образов формата DMG, для операционных систем Linux – в виде пакетов формата RPM или DEB, а помимо пакетов, может поставляться в виде исходных кодов, представленных архивами tar.gz или tar.bz2.

Чаще всего дистрибутивы через всемирную сеть Интернет перезают или в виде архивов или в виде образов дисков.

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

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

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

Но иногда разработчики программных продуктов – дистрибутивов под Linux ведут себя довольно странно, непонятно и нелогично, выступая против различных нововведений и патчей, выпускаемых под их программные пакеты другими разработчиками. Таким примером может служить следующий: разработчик одного из оконных менеджеров – ion3, выступил против распространения патча для данной программы, которая позволяла сглаживать неровности экранных шрифтов, что увеличивало читабельность текстовой информации с экрана. Или когда создатели мега-популярного интернет-браузера FireFox выступили против того, чтобы в российском дистрибутиве AltLinux поисковой системой по умолчанию был Яндекс. Зачастую все заканчивается тем, что разработчик начинает выпускать свой продукт даже под другим названием.

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

На этом мы заканчиваем данную статью. До встречи на других страницах!

В любой операционной системе можно выделить 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, и уровень подготовки пользователя, и технологии, и предстоящие контакты с тем сообществом, которое занимается разработкой дистрибутива.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

разработчик

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

сообщество

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

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

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