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

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

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

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

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

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: