Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
UNIX.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
10.6 Mб
Скачать

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

Презентация 8-03: виды дистрибутивов

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

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

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

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

Дистрибутивы, основанные на сборке программ из исходных текстов

Изначально идея систематизации сборки программ, составляющих UNIX-систему, из исходных текстов развилась в BSD-системах (см. также «Системы, наследующие BSD»). В них (изначально во FreeBSD) было введено понятие порта — пакета специального вида, который сам не содержит исходных текстов, а только адрес их местонахождения (как правило, сайт разработчика), но содержит главную «точку приложения» знаний: дополнительные изменения, внесённые разработчиками дистрибутива, и формализованные инструкции по сборке.

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

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

Среди широко используемых дистрибутивов GNU/Linux на сборке из исходных текстов основан Gentoo. Собственная, усовершенствованная версия портов, названная портежи (portages), позволяет сконфигурировать систему под конкретную задачу и даже специфическую архитектуру.

Рисунок 3.17. Распространение ПО в форме портов/портежей

Однако при таком распределении задач (компиляция на стороне администратора системы) сохраняется длительность процесса установки и зависимость от используемых средств разработки — даже на сервере приходится устанавливать компилятор gcc.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]