Выше я упоминал об операторе source, предназначенном для работы с пакетами исходников. И он вполне оправдывает себя, если речь идет о сборке единичных пакетов. Если же нужно собрать много пакетов, пересобрать систему целиком или требуется компиляция с какими-либо особыми условиями, лучше прибегнуть к специализированному инструменту — apt-build.
Это — отдельный пакет, который нужно установить обычными образом:
$ sudo apt-get install apt-build
И в ходе установки — настроить его в диалоговом режиме. Первый вопрос при настроке — выбор степени оптимизации: облегченная (соответствующая флагу gcc -O1), средняя (флаг -O2, представляет выбор по умолчанию) и усиленная (-O3). Далее можно ввести дополнительные флаги gcc, если в них есть необходимость, указать опции для команды make. И последний вопрос — выбор процессора, для архитектуры x86 в списке доступных фигурируют “камни” от Pentium до Pentium-4, для x86-64 - nocona, core2 и многообразные 64-битные процессоры AMD; впрочем, во втором случае дробные градации большого смысла не имеют.
Таким образом, при настройке apt-build можно очень точно задать условия компиляции. Если же для каких-либо программ их нужно изменить (например, повысить уровень оптимизации, добавить мультимедийные флаги, и так далее) — apt-build можно переконфигурировать обычным образом (как было описано ранее http://fossbook.info/?p=374):
$ sudo dpkg-reconfigure apt-build
Синтаксически команда apt-build аналогична apt-get, включая операторы, требующие или не требующие аргументов, и, возможно, опции. Основные операторы — следующие:
update— обновление списка доступных пакетов;upgrade— сборка обновленных пакетов;world— полная пересборка всей системы;update-source— апдейт пакетов исходников и их пересборка;build-repositoryпостроение репозитория пакетов (очевидно, что операторы пунктов 1-5 в аргументах не нуждаются);install— сборка и установка пакета (пакетов);source— скачивание и развертывание архивов исходников;info— получение информации о пакете, который будет собираться;build-source— сборка пакета без его инсталляции;removeудаление пакета (пакетов); операторы пунктов 6-9 требуют аргумента — имени пакета, над которым производится действие; аргументов таких может быть сколько угодно;clean-buildиclean-sources— очистка каталогов, в которых выполняласть сборка, от ее пролуктов.
Таким образом, можно видеть, что инструмент apt-build, не смотря на сугубо пакетную природу использующих его дистрибутивов, имеет ничуть не меньшие возможности по индивидуалированной компиляции как отдельных программ, так и всей системы в целом, чем механизм make world и средства управления портами FreeBSD, или аналогичные интсрументы таких Source Based дистрибутивов Linux, как Gentoo (portage) или Archlinux (ABS). То есть при желании или необходимости, Ubuntu, как и любой клон Debian, может быть превращен в дистрибутив Source Based.
- APT: вступление
- Apt-get: обновление системы
- Apt-cache: поиск пакетов
- Apt-get: установка пакетов
- Apt-build: сборка пакетов
Теги: apt, apt-build, deb, debian, ubuntu