Diferencias

Muestra las diferencias entre dos versiones de la página.


desarrollo:informatica:contenidos:boinc [2012/05/26 10:54] (actual) – creado - editor externo 127.0.0.1
Línea 1: Línea 1:
 +====== Instalar BOINC en un servidor ======
 +
 +Esta página muestra el procedimiento para instalar el software [[http://boinc.berkeley.edu/|BOINC]] de trabajo distribuido en un servidor Linux y correr el programa sin necesidad de paquetes ni privilegios de superusuario.
 +
 +===== Requisitos =====
 +
 +Para llevar a cabo este tutorial se debe contar con los siguientes requisitos:
 +
 +  * :!: Permiso para ejecutar el software en la máquina especificada (ver la página web de Boinc).
 +  * Un servidor con acceso a internet.
 +  * Una cuenta en el sistema de BOINC y conocimiento de cómo recuperar el código de autenticación para proyectos.
 +  * Al menos un proyecto ya en marcha en BOINC con nuestra cuenta.
 +
 +A lo largo del ejercicio se asumirá que se está operando en el servidor ''miservidor.cl'', el cual cuenta con acceso a internet y programas como wget; y de un usuario con login ''miusuario'' el cual debe tener al menos permiso para ejecutar programas.
 +
 +===== Preparando el Cliente =====
 +
 +==== Seleccionando el Instalador ====
 +
 +[{{:desarrollo:informatica:contenidos:boinc-inst-01.png?300|La página web de descarga del software de BOINC}}]
 +Lo primero que hacemos es visitar la página web de BOINC:
 +
 +  http://boinc.berkeley.edu/
 +
 +Y entrar a la sección de **Descarga** ("Download" si estamos visitando el sitio en inglés), donde podemos obtener el programa. 
 +
 +Una vez aquí es importante no descargar la primera versión que ofrece el sitio, sino __entrar a la página de "todas las versiones"__ ("all versions"), enlace que se encuentra en la sección de enlaces al final de la página, justo antes del footer; esto ya que descargaremos y utilizaremos un cliente especial que sólo necesita una consola Linux con la cual los maestros nos manejamos tan bien. =)
 +
 +Entramos a la sección "todas las descargas" y navegamos hasta la última tabla de descargas de software, la cual debe leer "For Older Linux" o algo similar. En este punto podremos escoger uno de dos instaladores (por plataforma) que sólo requieren acceso a una consola.
 +
 +~~CL~~
 +
 +[{{:desarrollo:informatica:contenidos:boinc-inst-02.png?400|Opciones de descarga de BOINC para Linux, sólo consola}}]
 +Ambas versiones son solamente instaladores. La **versión recomendada** descarga e instala una plataforma cliente BOINC que usa las bibliotecas estándar de C++, sin embargo es una solución más o menos vieja (requiere ''libstdc++.so.3'' en circunstancias que a 2011 la biblioteca es ''libstdc++.so.6''), sin embargo correrá perfectamente y de manera más optimizada en máquinas Intel y AMD con sistemas de la fecha de Debian 5 ("Lenny"). La **versión antigua** usa solamente las bibliotecas de C por lo que no habrá problemas; puede correr incluso en sistemas Pentium II.
 +
 +~~CL~~
 +
 +Aquí basta con copiar la URL del instalador que deseemos para dejarla descargando desde nuestro servidor, ya sea con ''wget'' o una herramienta similar, o descargar el programa y subirlo remotamente por ''scp'' o una herramienta similar.
 +
 +==== Instalando el Cliente BOINC ====
 +
 +Una vez en nuestro servidor, descargamos el instalador correspondiente, lo cual nos entrega un nombre de archivo como ''boinc_compat_//varias_cosas//.sh''. Este archivo debemos ejecutarlo con nuestro intérprete de comandos con lo que creará una carpeta llamada ''BOINC'' (nótese las mayúsculas), que es donde queda instalado el cliente.
 +
 +<code terminal>
 +[miusuario@miservidor /tmp]$ sh boinc_compat_6.12.22_i686-pc-linux-gnu.sh 
 +use /tmp/BOINC/run_manager to start BOINC
 +[miusuario@miservidor /tmp]
 +</code>
 +
 +El programa nos avisa que usamos el programa ''run_manager'' para correr el cliente... pero eso lo dejaremos para después. Lo que se debe hacer ahora es agregar esta máquina a nuestro proyecto BOINC.
 +
 +==== Recuperando Nuestro Código de Cliente ====
 +
 +Primero nos dirigiremos a la página de un proyecto al cual estemos suscritos. Por ejemplo si estamos suscritos a Seti@Home, la url es [[http://setiathome.berkeley.edu/]] (nótese el slash final). Anótese esta URL para futuro uso.
 +
 +Aquí buscamos el acceso al sistema para hacer login y ver la información de nuestra cuenta. Buscamos la sección que tiene el encabezado **clave de cuenta** ("Account Key") y recuperamos en el portapapeles el código de la cuenta (aquí se presenta uno de ejemplo):
 +
 +<code>
 +Clave de cuenta
 +Proporciona acceso total a su cuenta 00a1b2c3d4e5f60718293a4b5c6d7e8f
 +</code>
 +
 +Una vez con este código procedemos a activar el cliente BOINC agregándolo a nuestro proyecto y cuenta por medio del argumento ''--attach_project'' al proyecto deseado usando su URL (por ejemplo, el de Seti@Home como se ve arriba):
 +
 +<code terminal>
 +./run_client --attach_project http://setiathome.berkeley.edu/ 00a1b2c3d4e5f60718293a4b5c6d7e8f 
 +</code>
 +
 +Esto debiera dejar el programa corriendo para realizar los primeros análisis del sistema, benchmarks, operativos de autenticación del proyecto recuperación de datos del proyecto. Una vez que encontremos mensajes como los que siguen, podremos tranquilamente presionar <key>C-c</key> para cortar el programa (nótese que la URL cambiará acorde al proyecto al que hayamos suscrito esta máquina).
 +
 +<code terminal>
 +[http://setiathome.berkeley.edu/] Master file download succeeded
 +</code>
 +
 +**Llegados a este punto, el cliente BOINC ya se encuentra instalado.**
 +
 +
 +----
 +
 +===== Posibles Problemas =====
 +
 +==== libstdc++ ====
 +
 +**Opción 1** -- Crear un lanzador que invoque explícitamente ''libstdc++.so.3'':
 +
 +  - Ya sea una de las siguientes:
 +    * Copiar la biblioteca ''/usr/lib/libstdc++.so.5.???'' (fichero real, no enlace simbólico) al directorio de BOINC con el nombre ''libstdc++.so.3''.
 +    * Crear un enlace simbólico de ''/usr/lib/libstdc++.so.5'' a ''${RUTA_A_BOINC}/libstdc++.so.3''.
 +  - Editar el fichero ''run_client'' para que lea de la manera que se lee abajo en **Lanzador**:
 +  - Ejecutar el programa, con sus argumentos, usando ''run_client''.
 +
 +<code terminal Lanzador>
 +cd "${RUTA_A_BOINC}" && LD_LIBRARY_PATH=./ exec ./boinc $@</code>
 +
 +**Opción 2** -- Agregar ''libstdc++.so.3'' a las bibliotecas del sistema.
 +
 +:!: Requiere privilegios de Superusuario.
 +
 +==== Errores de conexión HTTP ====
 +
 +==== Quitando el cliente de un Proyecto ====
 +
 +
 +----
 +
 +TOBEDONE
 +
 +