Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #31, ИЮНЬ 2003 г.

СОФТВАРНЫЙ МИР В LINUX: апдейтим систему без проблем!

Докучаев Дмитрий aka Forb

Спецвыпуск Xakep, номер #031, стр. 031-016-2


Этот архив является составным. Вначале софт сливается tar'ом в один большой файл (делается исключительно ради удобства), затем это файло сжимается внешним архиватором. Таковых два: gzip и bzip2, поэтому конечное расширение файла будет tar.gz либо tar.bz2. Архивы bzip2 сжимаются лучше :), но, как это ни парадоксально, софт чаще всего выкладывается именно в gzip-архивах. Распаковать такие архивы можно tar'ом. Ключи -zxf распакуют gzip, а -yxf - bzip2 архив. Если версия tar устаревшая и бинарник ругается на неизвестные ключи, не отчаивайся - архив можно распаковать и в два действия.

КОНФИГУРИМ И НАСТРАИВАЕМ СОФТ

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

Не следует запускать configure сразу после распаковки архива. До этого нужно проделать как минимум два действия. В каждом софтварном пакете лежат файл README и INSTALL. В README содержится информация о применении и использовании программы, INSTALL содержит подробное руководство к установке и должен быть обязательно прочитан перед процессом сборки. Я понимаю, что ты занят и тебя ломает читать английский мануал, но, поверь, это для твоего же блага. После прочтения у тебя исчезнут все неопределенности и вопросы по поводу неизвестных ошибок, периодически появляющихся при установке :).

Затем нужно обязательно посмотреть help от configure. Это делается простой командой ./configure -help. Почему это важно? Дело в том, что некоторые функции программы по умолчанию отключены. Из хелпа ты узнаешь, как включить эти самые функции. Яркий пример: в веб-сервере apache по дефолту отключена возможность добавления внешних модулей. Она включается при помощи параметра -enable-module=so (или -enable-module=all). Про этот параметр подробно сказано в help'е от configure. Не менее важным параметром является -prefix. Он указывает на директорию, в которую будет установлен софт после компиляции. По умолчанию имеет значение /usr/local, но может быть изменен при отсутствии рутовых привилегий либо по желанию пользователя, то есть тебя :).

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

КОМАНДА MAKE ИЛИ В ДОБРЫЙ ПУТЬ :)

После экзекуций с configure приступаем к главной процедуре - сборке проекта, или доведения Си-файлов до бинарного состояния. Для этого нам понадобится рабочий gcc-компилер (его работоспособность заботливо проверяет конфигуратор). На стадии подготовки к установке будут созданы так называемые скрипты Makefile, которые дают ценные указания утилите make по сборке. Как правило, в нем содержатся параметры, заданные в configure, а также флаги компилятору и линкеру. Например, флаги "-WALL -ansi -pedantic" отвечают за выдачу всех ошибок и предупреждений компилятора на консоль. Работа компилера - отдельная тема, про которую можно говорить часами, поэтому заострять на ней особого внимания я не буду.

Назад на стр. 031-016-1  Содержание  Вперед на стр. 031-016-3