Смотрите также: особенности реализации FLUIdS для операционных сред MS Windows 95/98/NT и OS/2.
Разархивация дистрибутива FLUIdS |
Документация и исходные тексты системы FLUIdS поставляются в одном архивном
файле
tar zxf fluids-cur.tgz |
в противном случае воспользуйтесь командой
gzip -dc fluids-cur.tgz | tar -xvf - |
В результате выполнения команды в текущей директории будет создана директория
с именем
а также файлы COPYING с открытой лицензией GNU и CHANGES, содержащий список последних изменений, внесенных в поисковую систему.
Компиляция для нетерпеливых |
Установки FLUIdS, принятые по умолчанию, вполне разумны. Если Вы не хотите
копаться в могочисленных параметрах компиляции, можно сразу переходить к
сборке исполняемых модулей. Все, что нужно сделать - это
убедиться, что
Перейдите в директорию ./src и выполните две команды:
configure |
которая приведет к созданию make-файла, адаптированного к операционной системе, в которой Вы работаете, и
make |
после выполнения которой в директории ./bin должны появиться пять исполняемых модуля FLUIdS - flindex, flsearch, flmerge, fldump и fluids.cgi, а в директориях ./lib и ./include - формируемые библиотеки и заголовочные файлы к ним.
Автоконфигурация |
FLUIdS первоначально разрабатывалась как продукт, пригодный для использования в разных операционных средах, но прежде всего в системе UNIX. И, хотя сам UNIX в достаточной степени стандартизирован, существует множество его реализаций, отличающихся друг от друга некоторыми элементами программного интерфейса. Иными словами, совместимость разных систем на уровне программного кода неполная, и то, что спокойно компилируется в одной реализации UNIX, в другой может не скомпилироваться, нужно будет выправлять исходные тексты программы под используемую операционную систему.
Автоконфигурация и позволяет избежать такой ситуации. В ее процессе операционная среда тестируется на наличие тех или иных составляющих программного интерфейса, возможностей компилятора и наличия необходимых библиотек.
Автоконфигурация для системы FLUIdS осуществляется просто. Необходимо только запустить на выполнение файл configure, располагающийся в директории ./src. Он был создан с помощью пакета GNU autoconf версии 2.13 и выполнен в виде набора команд оболочки shell.
Итак, выполните команду
configure |
Первое, что будет проверено - это поддерживает ли используемый в системе компилятор стандарт ANSI C. Если нет - то Вы не сможете откомпилировать FLUIdS, так как исходные тексты системы выполнены именно в этом стандарте. В таком случае Вам нужно будет установить на свою систему компилятор GNU C (gcc), разработанный практически для всех платформ.
Далее в процессе выполнения команды configure Вам будет сообщено, какие именно элементы программного интерфейса тестируются на наличие или отсутствие, а под конец будут сформирован make-файл, адаптированный к Вашей операционной среде. Команда configure может исполняться с параметрами, некоторые из которых будут Вам полезны.
Перевод исходных текстов из формата DOS в UNIX и обратно |
Некоторые текстовые редакторы весьма критически относятся к форматам редактируемых файлов, поэтому вполне возможна ситуация, когда необходимо превести исходные тексты поисковой системы из формата UNIX в формат DOS (или наоборот), в противном случае их редактирование будет затруднительно.
Такой перевод осуществляется командами
make to_dos |
make to_unix |
В процессе исполнения этих команд будут скомпилированы и выполнены утилиты dos2unix и unix2dos.
Кодировка исходных текстов |
Кодировка исходных текстов FLUIdS - важная составляющая поисковой системы. Эта кодировка - та, в которой будет выполняться процесс индексирования и, следовательно, будет создан индексный файл. (К сожалению, пока нет программы-перекодировщика для индексного файла, но в самом индексном файле содержится указание, в какой именно кодировке он находится.)
Все рассуждения, приведенные ниже в данном параграфе, имеют смысл только, если определен параметр компиляции RUSSIAN_RELEASE в файле ./src/cfg.h. В противном случае, этот параграф можно пропустить. (Начальные установки в дистрибутиве определяют этот параметр.)
После развертывания архива исходные тексты системы FLUIdS находятся в кодировке koi8-r (для варианта под Windows 95/NT - в windows-1251). Если это именно та кодировка, с которой Вы работаете в операционной системе, то Вам беспокоиться нечего. Иначе Вам необходимо ее поменять, т.к. большинство сообщений (об ошибках, например) командами FLUIdS выдаются на русском языке. Вы их можете просто не понять.
Изменение кодировки исходных текстов проводится достаточно просто (предполагается, что этап автоконфигурации Вы уже прошли). Выполните одну из перечисленных ниже команд в зависимости от той кодировки, в которую вы хотите перевести исходные тексты FLUIdS:
make to_koi |
make to_alt |
make to_win |
make to_mac |
make to_iso |
Если все прошло гладко, то в дальнейшем можно будет еще раз поменять кодировку исходных текстов, если выбранная вдруг перестала Вас удовлетворять.
После выполнения команды необходимо удостовериться в правильном значении
параметра компиляции
LOCAL_CHARSET
в файле ./src/zcfg.h. Этот параметр может принимать значения
Кроме этого, Вам может понадобиться проверить правильность задания букв 'Ё' и 'ё' (cyrillic capital and small letters io) в файле ./src/libz/chars.h. Ибо даже для одной и той же кодировки их расположение в таблице символов может варьироваться. FLUIdS же переводит их в буквы 'Е' и 'е' соответственно.
Так, в начале файла ./src/libz/chars.h есть две строчки
#define _RUSSIAN_CAPITAL_IO 'Ё' #define _RUSSIAN_SMALL_IO 'ё'
Здесь надо убедиться, что буквы в одинарных кавычках - это буквы Ё и ё.
Изменение кодировки исходных текстов вручную |
Иногда бывает необходимо сменить кодировку исходных текстов вручную. Такое случается, например, когда автоматическая перекодировка сбивается при неудачной компиляции, или же по вине разработчика, когда тот указывает неверное значение параметра компиляции LOCAL_CHARSET, не соответсвующее кодировке исходных текстов.
Ручная перекодировка исходных текстов проходит в четыре этапа:
make convertors |
xxx2yyy -r -u ./src |
make clean |
Настройка параметров компиляции |
Основные параметры компиляции системы FLUIdS собраны в трех заголовочных файлах - ./src/cfg.h, ./src/zcfg.h, ./src/defs.h. В них параметры компиляции задаются директивами #define, имеющими два формата:
#define имя
и
#define имя значение
#ifdef имя один набор команд #else другой набор команд #endif
где компилятор будет использовать тот или иной набор команд в зависимости от того, был ли задан указанный параметр или нет. Таким образом можно настроить систему на поддержку определенных функциональных возможностей или же наоборот, эту поддержку отключить, устранив определение соответствующего параметра.
Чтобы убрать определение параметра директиву #define надо закомментарить (вывести из области видимости компилятора). Это делается путем добавления символов /* в начало строки и символов */ в конец:
/* #define имя */
Объявления параметров компиляции этого типа всегда можно брать в комментарий.
Скорее всего, Вам понадобится изменить значение одного или нескольких параметров компиляции, установленных по умолчанию. Пожалуйста, обратите особое внимание на параметр с именем MAX_MEMORY_VOLUM (файл ./src/cfg.h). От выбора подходящего значения для него будет зависеть производительность процесса индексации.
Компиляция |
После процедуры автоконфигурации и настройки нужных параметров можно переходить непосредственно к компиляции. Для этого перейдите в директорию ./src (если Вы уже в ней не находитесь) и выполните команду
make |
Компилятор приступит сначала к созданию необходимых библиотек, а затем перейдет к сборке исполняемых модулей системы.
Исталляция и деинсталляция FLUIdS |
Инсталляция и деинсталяция предусмотрена только для UNIX систем. По умолчаню
исполняемые модули, библиотеки и загловочные файлы инсталлируются в папки
директории
make install |
при выполнении которой четыре исполняемых модуля (т.е. кроме
fluids.cgi) системы FLUIdS будут помещены в директорию
Чтобы обеспечить функционирование системы из под Web-сервера необходимо вручную перенести CGI модуль из директории ./bin в подходящее для него место файловой системы. Так, CGI модуль можно поместить в директорию /www/server/root/cgi-bin, где хранятся программы для Web сервера, либо в любую другую область видимости Web сервера (где не забудьте дать разрешение на выполнение программ). В соответствующую директорию поместите также конфигурационный файл, без которого CGI модуль не сможет работать. (Начальные установки предполагают, что оба файла находятся в одной и той же директории.)
Систему FLUIdS можно деисталлировать командой
make uninstall |
при выполнении которой из соответствующих папок директории
Дополнительные утилиты |
В FLUIdS входят в качестве дополнения несколько полезных утилит, некоторые из которых применяются при процедуре перекодировки исходных текстов. Возможно, они Вам пригодятся как отдельные приложения, используемые вне рамок поисковой системы. Утилиты компилируются и устанавливаются в директорию ./bin одной командой:
make utils |
В число прилагаемых утилит входят программа-перекодировщик текстов (conv), программы, переводящие файлы из формата DOS в формат UNIX и наоборот (dos2unix и unix2dos), программа, заменяющая в файлах одну последовательность символов на другую (repl), программа простого поиска последовательности символов в строках текстовых файлов (smpgrep) и программа для перевода имен файлов в нижний регистр (lname). Все утилиты способны обрабатывать множество файлов, задаваемое шаблонами, и рекурсивно работать с директориями.
Очистка диска после компиляции |
После того, как проведены процедуры компиляции и установки системы FLUIdS, Вы можете очистить свой диск от вспомогательных файлов командой
make clean |
В результате выполнения этой команды будет удалено подавляющее большинство уже не нужных файлов, созданных во время компиляции FLUIdS. К ним относятся главным образом объектные файлы (файлы с расширением .o или .obj), а также сгенерированные (файлы xxx2yyy.c в директории ./src/libz/tables), библиотечные (с расширением .lib), bak-файлы и некоторые другие.
Дополнительно, выполнив команду
make distclean |
можно удалить все исполняемые модули FLUIdS из директории ./bin, библитеки из ./lib, заголовочные файлы из ./include, а также файлы, образованные процедурой автоконфигурации. Тогда дистрибутивная директория системы должна принять свой первоначальный вид.
На главную страницу | valera@sbnet.ru |