Из пакетов с исходным кодом

Очень часто бывает необходимо самостоятельно собрать программу из ар- хива с исходным кодом, например, потому, что пакеты с этим ПО еще не собраны.


 

В подавляющем большинстве случаев, хотя и не всегда, для сборки и уста- новки программы из архива с исходным кодом достаточно выполнить сле- дующие действия:

1. Получить файл архива.

2. Разархивировать его.

3. Прочесть файл README или INSTALL.

4. Сконфигурировать сценарий сборки.

5. Собрать программу.

6. Установить программу.

В качестве иллюстрации к процессу сборки из архива с исходным ко- дом здесь приводится пример сборки DNS-сервера BIND (Berkeley Internet Names Daemon) последней на момент написания данной главы версии — BIND 9.7.0rc1.

Первый шаг заключается в получении архива с исходным кодом (при-

мер 18.1).

 

Пример 18.1. Получение архива с исходным кодом

 

$ wget http://ftp.isc.org/isc/bind9/9.7.0rc1/bind-9.7.0rc1.tar.gz

 

Программа wget — один из наиболее удобных инструментов для получения файлов с анонимных FTP-серверов.

Далее требуется извлечь из архива его содержимое (пример 18.2).

 

Пример 18.2. Распаковка архива

 

$ tar xzvf bind-9.7.0rc1.tar.gz

 

В результате этого должен быть создан каталог с именем пакета. В данном случае — bind-9.7.0rc1. Необходимо перейти в этот каталог. Очень важно изучить содержимое файла README и INSTALL, если они существуют (в этом примере есть README).

Следующий этап заключается в конфигурировании сценария сборки пакета. В GNU/Linux сборка программы производится с помощью программы make. Она выполняет действия, заданные в файле Makefile, называемые "целями" (target). Первая цель в Makefile выполняется по умолчанию, т. е. без задания утилите make аргумента.


 

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

Процесс создания Makefile для данной системы в соответствии с требова- ниями, предъявляемыми к программе, называется конфигурированием. Он выполняется с помощью сценария configure. Стандартная опция этого сценария — --help. С ее помощью можно получить подсказку о возможно- стях конфигурирования (пример 18.3).

 

Пример 18.3. Список опции сборки

 

$ ./configure --help | less

 

Точка и косая черта перед именем исполняемого файла сценария требуются, т. к. каталог, в котором находится этот сценарий, не указан в перемен- ной PATH.

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

Для BIND опция --disable-largefiles отключает поддержку 64-битной ад- ресации блоков файлов, а --disable-ipv6 отключает поддержку IPv6 (при- мер 18.4).

 

Пример 18.4. Установка опций сборки

 

./configure --disable-largefiles –-disable-ipv6

 

В результате работы сценария конфигурации будет создан файл Makefile на основе шаблона Makefile.in.

Процесс сборки запускается с помощью команды make (пример 18.5).

 

Пример 18.5. Сборка программы

 

$ make

 

После сборки необходимо установить собранное программное обеспечение. Если установка осуществляется в каталог /usr/local, то перед инсталляцией


 

требуется перейти в сеанс суперпользователя. Рекомендуется пользоваться командой su без выхода из текущего каталога (как это произойдет в случае su -). Установка осуществляется на основе команд в Makefile, соответст- вующих цели install (пример 18.6).

 

Пример 18.6. Установка программы

 

$ su

# make install

 

Можно запустить одну из установленных программ для того, чтобы убедить- ся в ее работоспособности. Узнаем версию установленного демона BIND (пример 18.7).

 

Пример 18.7. Проверка работоспособности установленной программы

 

# /usr/local/sbin/named -v BIND 9.7.0rc1

 

Программа демона BIND при запуске ее с опцией -v выдала версию демона.

 








Дата добавления: 2015-06-12; просмотров: 780;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.