HOWTO Beagle

De Gentoo Linux Wiki

Tabla de contenidos

[editar] Introducción

Beagle es una utilidad de búsquedas que escanea en tu disco duro para encontrar todo lo que desees.

Con Beagle puedes buscar en diferentes sitios.

Puedes encontrar fácilmente:

  • documentos
  • e-mails
  • páginas web de tu historial
  • conversaciones de tu programa de mensajería instantánea
  • código fuente
  • imágenes
  • fotos/videos
  • aplicaciones
  • ... y mucho más!

[editar] Configuración del Kernel

Beagle se beneficia de ciertas funciones del Kernel si están activadas, no son obligatorias, pero si muy recomendadas

Primero comprueba que tienes la versión 2.6.13 o más nueva. Puedes comprobar la versión que estás ejecutando, simplemente escribiendo:

 # uname -r

Si tu Kernel es más viejo que la versión 2.6.13 tendrás que actualizar. gentoo-sources sería lo recomendable. Mira la Guía Gentoo Linux de actualización del núcleo para más información. Quizás quieras leer el resto de la sección antes de afrontar el proceso de actualización, así no tendrás que volver atrás para activar las funciones que necesitamos.

Ahora entraremos en la configuración del Kernel, normalmente escribiríamos ésto:

 # cd /usr/src/linux
 # make menuconfig

O también podemos hacerlo así (sólo si usamos genkernel para contruir nuestro núcleo):

 # genkernel --menuconfig all

[editar] Inotify

Inotify es una función del Kernel que permite que, ciertas aplicaciones como Beagle, monitoricen muy de cerca los eventos del sistema de ficheros. Por ejemplo, Beagle podría saber cuándo un nuevo documento se crea, y automáticamente indexarlo y procesarlo.

Dentro de la configuración del Kernel, busca y selecciona la siguiente opción:

Configuración del Kernel:
 File Systems -->
 [*] Inotify file change notification support

Inotify está activado por defecto, pero no cuesta nada comprobarlo por si acaso.

[editar] Atributos Extendidos

Los Atributos Extendidos (xattrs) son metadatos que se aplican a los archivos. Beagle los usa internamente para facilitar el acceso a esa información importante, como cuando el archivo en cuestión fue indexado por última vez.

Los Atributos Extendidos, tienen que estar activados para las particiones que quieres que Beagle indexe. Normalmente eso incluye al menos /home (o la partición que la contiene). También puedes indexar los datos en el lugar que quieras, como en el sistema de documentación. Eso sí, debes activar los atributos extendidos en todos los sistemas de archivos que tengas datos indexables.

Si usas XFS o JFS en tu partición root, entonces no necesitas hacer nada, ya que en éstos dichos atributos están disponibles incondicionalmente. Para otros sistemas de archivos, busca y selecciona las opciones relevantes, como aparece en el ejemplo de debajo:

Configuración del Kernel:
 File Systems -->
 <*> Second extended fs support
   [*]   Ext2 extended attributes
 <*> Ext3 journalling file system support
   [*]   Ext3 extended attributes
 <*> Reiserfs support
   [*]   ReiserFS extended attributes

Nota: Sólo necesitas activar los atributos extendidos en la(s) particion(es) que quieras indexar los datos (normalmente /home). Después de todo, ¡no necesitas activarlo en ReiserFS si es que no lo vas a utilizar!.

[editar] Recompilando el Kernel

Si has modificado alguna opción en los pasos anteriores, necesitarás recompilar el núcleo y reiniciar con él.

Mira la Guía Gentoo Linux de actualización del núcleo para ésto. Aunque te damos los comandos básicos para hacerlo aquí, pero ten cuidado, ya que ésto depende de tus preferencias personales y/o tu configuración.

 # cd /usr/src/linux
 # make
 # make modules_install
 # mount /boot
 # cp arch/i386/boot/bzImage /boot/bzImage-2.6.13-gentoo-r4
 # nano -w /boot/grub/grub.conf
 ## añade una nueva entrada en tu gestor de arranque
 # umount /boot
 # reboot

[editar] Activando los Atributos Extendidos

Si usas XFS o JFS, los atributos extendidos siempre están disponibles, asi que si usas dichos sistemas de arcivos puedes pasar al siguiente paso, si no, ¡sigue leyendo! :)

Ahora que ya has reiniciado con el kernel con el inotify y los atributos extendidos activados, tendremos que activarlos para cualquier sistema de ficheros que queramos indexar (normalmente /home). Ésto se hace con el comando:

 # mount -o remount,user_xattr /home

Éste comando debería completarse sin ningún error. Si tu /home no está en una partición diferente, tendrás que montar la partición que lo contenga (como /), con la opción de montaje user_xattr.

Si quieres que otras particiones se indexen con Beagle, haz lo mismo apropiadamente con ellas también.

Ahora necesitamos que ésto se haga automáticamente en el inicio del sistema. Para hacer ésto, modificaremos /etc/fstab, añadiendo user_xattr al campo opts de tu partición /home. Por ejemplo, mi partición para /home se parece a ésta:

 /dev/hda3               /home               reiserfs        noatime                0 0

Después de moficarlo se verá como ésto:

 /dev/hda3               /home               reiserfs        noatime,user_xattr      0 0

Ahora guarda, y sal de tu editor de textos.

[editar] Desenmascarando Paquetes

Nota: Si estás ejecutando tu sistema en la rama inestable (testing), por ejemplo, si tienes ACCEPT_KEYWORDS="~x86" en tu /etc/make.conf, puedes pasar de éste paso. Si no estás seguro, seguramente estás en la rama estable, con lo que sigue leyendo...

Beagle depende de ciertos paquetes que no están en la rama estable, con lo cual deberemos informar a Portage de que queremos éstos paquetes de la rama inestable.

Primero, crea el directorio para tu perfil si es que no existe:

 # mkdir -p /etc/portage

Ahora abre el archivo /etc/portage/package.keywords en tu editor de textos favorito, creándolo si es que no existe, o insertando las lineas al final de éste.

Las lineas son las siguientes:

Archivo: /etc/portage/package.keywords
 app-misc/beagle ~x86
 dev-lang/mono ~x86
 dev-dotnet/libgdiplus ~x86
 dev-dotnet/gtk-sharp ~x86
 dev-dotnet/glade-sharp ~x86
 dev-dotnet/gecko-sharp ~x86
 dev-dotnet/gnome-sharp ~x86
 dev-dotnet/gconf-sharp ~x86
 dev-dotnet/art-sharp ~x86
 dev-dotnet/gnomevfs-sharp ~x86
 dev-libs/gmime ~x86
 media-libs/libexif ~x86
 app-text/wv ~x86
 app-office/gnumeric ~x86
 gnome-extra/libgsf ~x86
 x11-libs/goffice ~x86

Nota que ésta lista puede diferir de la que se instale, ya que depende de las variables USE configuradas en tu sistema.

Guarda el archivo y cierra el editor de textos.

[editar] gmime y el flag USE de mono

Beagle requiere gmime-sharp, un componente incluido dentro de dev-libs/gmime el cual sólo se instala si se encuentra mono en las variables USE.

Si gmime se compiló sin soporte para mono, Beagle fallará tarde o temprano.

Abre /etc/portage/package.use en tu editor de texto favorito, y añade ésta linea:

 dev-libs/gmime mono

Guarda y cierra el archivo.

Ahora (re-)instala gmime:

 # emerge --oneshot -av gmime

[editar] Configurando los USEs

Beagle permite usar un número de variables USE, permitiendo activar/desactivar diversas funciones. Algunas de ellas, necesitan dependencias extra (portage se ocupará de manejarlas automáticamente).

FlagDescripción
debugActiva el logueo extra, necesario para ver cualquier error que aparezca.
gtkActiva la interface de usuario en GTK, si no se especifica sólo se construye la aplicación para consola.
pythonActiva el soporte para el lenguaje Python.
pdfActiva la dependencia app-text/poppler, la cual permite indexar los ficheros PDF.
evoActiva la integración con Evolution, permitiendo indexar los emails y las entradas del calendario.
oleActiva OLE (Object Linking and Embedding), permitiendo mostrar cierta clase de documentos.

Una vez que decidiste qué variables USE quieres activar, si es que hay alguna, puedes modificar el archivo /etc/portage/package.use. Por ejemplo, si quiero activar Python, y que me indexe los archivos PDF, añadiría ésta linea:

 app-misc/beagle pdf python

De cualquier manera, también tienes la opción de añadirlas como variables globales (para todo el sistema), entonces tendrás que modificar la entrada USE en el archivo /etc/make.conf.

[editar] Instalando Beagle

Ésta es la parte fácil, simplemente ejecuta:

 # emerge -av app-misc/beagle

[editar] Arrancando el demonio de Beagle

Bien, ahora ya puedes arrancar Beagle. Éste trabaja tanto como demonio como cliente.

En su primer arranque, es mejor que lo arranques en primer plano para verificar que no aparecen errores. Puedes hacer ésto con:

 # beagled --debug --fg

Verás un montón de texto que aparece en pantalla, ésto es normal, verifica que no aparece ningún error o excepción. Después de unos pocos segundos, podrás ver a beagle que empieza a indexar tus datos.

Una vez que veas que Beagle está trabajando bien, puedes cerrarlo desde otra consola:

 # beagle-shutdown

[editar] Manualmente

Para arrancar Beagle como un proceso en segundo plano, ejecuta:

 # beagled

[editar] Automáticamente

Probablemente te gustaría que Beagle se arrancara automáticamente cuando entres en tu entorno gráfico. Piensa que es mejor que lo arranques así que en el inicio del sistema, ya que Beagle es capaz de conectarse al servidor de X para comprobar si el Salvapantallas (xscreensaver) está activo (Beagle indexará más rápidamente tus datos si detecta que el ordenador no está en uso).

Los usuarios de GNOME pueden hacer ésto fácilmente yendo al menú Systema, Preferencias, Sesiones, y luego eligiendo la pestaña Programas al inicio y entonces añadir una entrada que ponga beagled.

Otra manera sería crear un archivo en ~/.config/autostart/

Archivo: ~/.config/autostart/beagle.desktop
 [Desktop Entry]
 Name=Sin nombre
 Encoding=UTF-8
 Version=1.0
 Exec=beagled
 X-GNOME-Autostart-enabled=true

[editar] Extensión para Firefox

Beagle también incluye una extensión para mozilla/firefox la cuál permite a beagle indexar las páginas web que visitas. Para instalarla, sencillamente vete a ls siguiente URL desde tu navegador:

 file:///usr/share/beagle/beagle.xpi

Ahora, reinicia mozilla/firefox y mira el pequeño icono de Beagle que aparece abajo a la derecha. Ya está activado ;).

[editar] Más información

Discusión en los foros Gentoo en Inglés

Página Web Oficial de Beagle

[editar] Créditos

Originalmente escrito por Daniel Drake (dsd@gentoo.org)

Artículo original en Beagle-Project (Inglés)

Traducido por Geko (gekito@gmail.com)

Herramientas personales
Otros idiomas