Esta página muestra el procedimiento para instalar el software BOINC de trabajo distribuido en un servidor Linux y correr el programa sin necesidad de paquetes ni privilegios de superusuario.
Para llevar a cabo este tutorial se debe contar con los siguientes requisitos:
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.
[] 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~~
[]
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.
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.
[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]
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.
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):
Clave de cuenta Proporciona acceso total a su cuenta 00a1b2c3d4e5f60718293a4b5c6d7e8f
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):
./run_client --attach_project http://setiathome.berkeley.edu/ 00a1b2c3d4e5f60718293a4b5c6d7e8f
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).
[http://setiathome.berkeley.edu/] Master file download succeeded
Llegados a este punto, el cliente BOINC ya se encuentra instalado.
Opción 1 – Crear un lanzador que invoque explícitamente libstdc++.so.3
:
/usr/lib/libstdc++.so.5.???
(fichero real, no enlace simbólico) al directorio de BOINC con el nombre libstdc++.so.3
./usr/lib/libstdc++.so.5
a ${RUTA_A_BOINC}/libstdc++.so.3
.run_client
para que lea de la manera que se lee abajo en Lanzador:run_client
.cd "${RUTA_A_BOINC}" && LD_LIBRARY_PATH=./ exec ./boinc $@
Opción 2 – Agregar libstdc++.so.3
a las bibliotecas del sistema.
Requiere privilegios de Superusuario.
TOBEDONE