Журнал LinuxFormat - перейти на главную

LXF70:Beagle

Материал из Linuxformat
Перейти к: навигация, поиск

Эта ищейка найдет документы и письма, которые, как вам казалось, уже навсегда потеряны: но сможет ли beagle стать новым лучшим другом человека? Давайте посмотрим вместе с Грэхемом Моррисоном.

Содержание


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

Это похоже на то, как работает сервис Google Gmail. Он предлагает гигабайты дискового пространства, и приучает вас никогда не удалять отдельные письма. а как, по-вашему, организованы все эти данные? Ну, Google предпочитает просто оставлять все как есть. Сила Gmail заключается в использовании устрашающих поисковых алгоритмов Google, чтобы моментально предоставить вам список электронных сообщений, соответствующих вашим критериям поиска. Например, вы можете захотеть проверить некоторый онлайновый заказ: просто введите «компакт-диск» и «Бритни Спирс» в форме поиска, и все письма, соответствующие этому запросу, будут сразу же отображены в списке. Это и есть тот тип интеграции, который Beagle стремится принести на ваш рабочий стол.

Но Beagle имеет одно преимущество перед Gmail: он обрабатывает не просто вашу почту, а целый набор Gnome-приложений, включая документы OpenOffice.org, файлы в формате PDF, HTML, наиболее распространенные графические и звуковые форматы, мгновенные сообщения Gaim и многое, многое другое. Когда вы привыкнете пользоваться Beagle, просмотр обширных иерархий папок в поисках одного-единственного файла начнет казаться вам слишком трудоемким и устаревшим методом. Чтобы подробнее ознакомиться с технологией и историей разработки, посетите домашнюю страницу проекта Beagle: http://beaglewiki.org/main_page.

Как уже упоминалось в 67-ом выпуске LinuxFormat, в обзоре Mandriva Linux Limited Edition 2005, мы были встревожены тем, что не обнаружили Beagle в обширном списке пакетов. Очевидно, разработчики Mandriva слишком заняты, чтобы включать в дистрибутив такие своенравные пакеты, как Beagle, так что мы решили описать каждый шаг установки Beagle в системе Mandriva. Если вы используете другой дистрибутив, многие стадии будут сходными — просто замените менеджер пакетов Mandriva на тот, который имеется в вашем дистрибутиве, и все должно заработать.

Основная трудность настройки Beagle заключается в несколько причудливом способе именования, принятом в Mandriva и в проблемах зависимостей. инсталляция Beagle — не для слабых сердцем: она может оказаться достаточно стрессовой. Требуется удовлетворить дюжину зависимостей, требований совместимости со стороны ядра и вручную установить некоторые большие приложения. Сказав все это, мы постараемся исключить большинство трудных моментов и проведем вас за руку по всем шагам, так что от вас не потребуется каких-либо специальных знаний. Только держитесь подальше от пустошей и остерегайтесь луны!

Этап 1 — низкоуровневая конфигурация

Beagle активно следит за изменениями в вашей файловой системе. Можно было бы ожидать, что он поглотит значительную часть ресурсов, но этого не происходит, потому что Beagle использует систему мониторинга событий уровня ядра, называемую Inotify. Она включена в большинство современных ядер, но проблема заключается в том, что Beagle требует для своей работы специальную версию Inotify. Поскольку мы будем ставить Beagle версии 0.0.11.1, выпущенную 15 июня, нам понадобится ядро, содержащее Inotify версии 0.23. Более ранние версии Beagle требуют более ранних версий Inotify. Сборка своего собственного ядра — сложная операция, так что намного проще загрузить уже скомпилированное и любезно подготовленное для Mandriva ядро как пакет. Ядро, которое нас интересует, называется kernel-multimedia-2.6.11-9.mm, и вы можете найти него в Сети, введя имя в форме поиска на http://rpm.pbone.net. Как только вы получите файл, установите его, набрав в консоли следующую команду от имени суперпользователя root:

urpmi kernel-multimedia-2.6.11-9.mm.4mdk-1-1mdk.i586.rpm

Urpmi внесет изменения в ваше загрузочное меню, что позволит вам выбрать вновь установленное ядро во время следующей загрузки. Также должна добавиться необходимая для активации Inotify опция, что можно проверить, поискав inotify=o в соответствующей строке «append» файла /etc/lilo.conf. Простая перезагрузка с этим ядром обеспечит работу системы Inotify, которая создаст файл устройства, размещенный в /dev/inotify.

Секретные файлы

Следующий кирпичик низкоуровневой конфигурации, на который опирается Beagle — поддержка расширенных атрибутов в вашей локальной файловой системе. Расширенные атрибуты — это хороший способ присоединить некоторую информацию к файлу внутри самой файловой системы, а не хранить ее во внешней базе данных или ином файле. Информацией может быть что-то обычное, например, тип файла или время последнего доступа к нему. Beagle использует расширенные атрибуты для отслеживания файлов и их содержимого. Большинство современных файловых систем, за исключением Reiser4 и NFS, поддерживают расширенные атрибуты. В Reiser4 применяется собственный интерфейс к расширенным атрибутам, в то время как NFS их вообще не имеет, так что пока обе они пока не подходят для пользователей Beagle.

Чтобы включить расширенные атрибуты, вам нужно просто добавить ключ user_xattr для дисковых разделов в вашем файле /etc/fstab. Поскольку Beagle предполагает запуск от имени непривилегированного пользователя, то в действительности вам нужно установить этот ключ только для раздела, где размещен ваш домашний каталог. В другой стороны, если вы используете один раздел, то просто установите этот ключ для корневого раздела /. Соответствующая строка для вашего раздела в /etc/fstab может выглядеть таким образом:

/dev/hda7 /home ext3 noatime,user_xattr 1 2

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

mount -o remount /home

Ад зависимостей

Следующий шаг — инсталляция пакетов Mandriva, от которых зависит Beagle. Вы можете установить их с помощью утилиты rpmdrake или используя urpmi в командной оболочке, войдя в систему как root. Прежде чем углубляться в отдельные пакеты, сначала убедитесь, что у вас установлены все пакеты из набора Gnome Workstation. Вы можете сделать это в Control Center системы Mandriva, загрузив компонент Software Management, перейдя к Look At Installable Software Packages и выбрав Gnome Workstation. Щелчок по кнопке Install начнет длительный процесс установки десятков файлов, которые вам нужны. Ниже приведен список специфических зависимостей. Каждый из этих пакетов должен быть установлен, и автоматически потянет за собой множество других связанных с ним пакетов, в зависимости от конфигурации вашей системы. установите их из Control Center, или из командной строки с помощью urpmi.

  • bison
  • libglib2.0_0-devel
  • gcc-c++
  • libxml2-devel
  • libexif12-devel
  • libwv-1.0_2-devel
  • gnome-vfs-devel
  • mozilla-firefox-devel
  • libxorg-x11-devel
  • libpango1.0_0-devel
  • libgtk+2.0_0-devel
  • libsqlite0-devel
  • libgnome-vfs2_0-devel
  • libgnomecanvas2_0-devel
  • libgnomeui2_0-devel
  • libgnomeprintui2-2_0-devel
  • gtkhtml-devel

Этап 2 — крутимся сами

Мы использовали готовые пакеты Mandriva, какие только могли, но остались еще пять, которые нужно скачать, скомпилировать и установить:

Самое крупное приложение из этих пяти, – это Mono. Оно отнимает больше всего времени, так что хорошо бы с него и начать.

Файл объемом около 15Мб может быть легко загружен с сайта http://go-mono.com или получен с помощью следующей команды:

wget http://go-mono.com/sources/mono-1.1/mono-1.1.8.tar.gz

Компиляция Mono обычно проходит легко, разве что требует некоторого времени. Прежде всего, нам нужно распаковать скачанный архив, запустить сценарий конфигурации, чтобы сборка была оптимизирована под вашу систему, и, наконец, дать команду make, которая должна собрать приложение. Компиляция займет примерно 30 минут на современной машине – этого времени как раз достаточно, чтобы профильтровать воду, перемолоть немного кофе и сделать освежающий напиток.

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

tar xvzf mono-1.1.8.tar.gz
cd mono-1.1.8
./configure --prefix=/usr
make
sudo make install

Mono обеспечивает платформу разработки для Beagle. Другие компоненты, которые вам придется установить, обеспечивают расширение возможностей платформы .Net, которую предоставляет нам Mono. Первый пакет из тех, что нам потребуются – gtk-sharp-1.0, который используется в основном для графического интерфейса пользователя. Важно, чтобы это была именно версия 1.0, а не более свежая - 1.9. Как и в случае со всеми пакетами, которые нам нужно собрать, для установки необходимо выполнить четыре стандартных операции: распаковку архива, конфигурацию процесса сборки, собственно сборку приложения и, наконец,инсталляцию.

tar xvzf gtk-sharp-1.0.10.tar.gz
cd gtk-sharp-1.0.10
./configure --prefix=/usr

В случае с gtk-sharp есть одна особенность, которая заключается в выводе конфигурационного скрипта. Он показывает вам, какие компоненты gtk-sharp будут установлены. Если у вас есть все необходимые пакеты разработки, вы должны увидеть что-то подобное этому:

Optional assemblies included in the build:
    * art-sharp.dll: yes
    * gnome-sharp.dll: yes
    * glade-sharp.dll: yes
    * gda-sharp.dll: no
    * gnomedb-sharp.dll: no
    * rsvg-sharp.dll: no
    * gtkhtml-sharp.dll: no
    * vte-sharp.dll: no

Библиотеки, которые нам необходимы - это art-sharp.dll, gnome-sharp.dll и glade-sharp.dll, так что остальной вывод можно смело игнорировать. Если же один их этих трех обязательных пакетов окажется не включен (в приведенном выводе будет значиться ‘no’ вместо ‘yes’), вам нужно убедиться, что вы правильно установили все библиотеки разработки Gnome. Вы можете проверить это, просто набрав ‘-devel’ в качестве критерия поиска в менеджере пакетов Mandriva. Если же с выводом конфигурационного скрипта вам повезло, то вам осталось просто набрать make и make install, как и в случае с инсталляцией Mono.

Кроме самой Beagle, остаются еще два пакета, которые нужно скачать и установить: gecko-sharp и gmime-2.1.13. Они не должны вызвать особых проблем. Просто загрузите файлы, распакуйте их, запустите ./configure --prefix=/usr в каталоге пакета, а затем выполните с правами root команды make и make install для установки каждого из них. Если все пройдет как надо, нам останется установить только один пакет, а именно – Beagle.

Установка beagle

Этот этап на самом деле достаточно прост, поскольку все необходимое уже установлено. После того, как вы скачали tar-файл, распаковали его, перешли во вновь созданный каталог, у вас может возникнуть желание сразу же двинуться вперед и выполнить команду ./configure --prefix=/usr. Если вы так сделаете, то будете «обрадованы» примерно такой ошибкой:

‘configure: error: unable to find grkmozembed; this can be found in
   the mozilla/firefox/thunderbird development packages’.

Конфигурационный сценарий жалуется, что не может найти grkmoztmbed, обычно устанавливаемый как часть пакета разработчика Firefox. Проблема заключается в том, что в Mandriva требуемый пакет уже был установлен, когда мы инсталлировали mozilla-firefox-devel, но имена файлов в нем отличаются от тех, которые ищет сценарий конфигурации. На самом деле, для работы сценария необходимы два файла, и наименее разрушительный путь – создать на имеющиеся в Mandriva файлы символические ссылки с именами, которые ожидает видеть конфигурационный сценарий:

$ ln -s /usr/lib/pkgconfig/mozilla-firefox-gtkmozembed.pc \
   /usr/lib/pkgconfig/firefox-gtkmozembed.pc
$ ln -s /usr/lib/pkgconfig/mozilla-firefox-xpcom.pc \
   /usr/lib/pkgconfig/firefox-xpcom.pc

Нам также нужно добавить одну опцию в сценарий конфигурации Beagle, чтобы включить новый web-сервис. Он позволит вам отправлять запросы к базе данных Beagle из любого web-браузера. Чтобы конфигурационный скрипт добавил этот сервис, наберите следующее:

$ ./configure --prefix=/usr --enable-webservices=yes

Теперь запуск сценария должен пройти без каких-либо ошибок. Когда работа скрипта завершится, последний блок текста проинформирует вас о том, какие совместимые расширения были найдены:

target OS:                           linux
      extended Attributes: libc
      Prefix:                        /usr
      GNOMe Prefix:                  /usr
      KDe Prefix:          /usr
      evolution-Sharp?               no
(missing dependencies)
      gsf-sharp?           no
      gst-sharp?           no
     epiphany extension? no (epiphany not
installed)
      Mozilla extension?             yes
      wv1?                 yes
      libchm?              no
      Local SqliteClient?            yes
      enable WebServices             yes

Любые дальнейшие расширения, какие вы пожелаете добавить, например, Evolution-sharp (которое позволит Beagle индексировать адресные книги Evolution), могут быть скачаны и установлены со страницы дополнительных пакетов Beagle http://beaglewiki.org/Optional_Prerequisites.

Наконец, наберите make и make install (от имени root), чтобы собрать и установить Beagle в вашу систему.

Этап 3 — запускаем Beagle

Способ установки с помощью EasyURPMI

Персональные инструменты
купить
подписаться
Яндекс.Метрика