Construir una estació de càlcul de models climàtics amb un ordinador vell

Resum: aprofitarem un ordinador antic per muntar una mena d’estació que faci càlculs de models climàtics per contribuir a aclarir alguns dubtes sobre el canvi climàtic i fer-ne prediccions. Per fer-ho, entrarem a formar part del projecte ClimatePrediction.net, dirigit per la Universitat d’Oxford, que usa una xarxa de computació distribuïda basada en el programari anomenat BOINC. Un cop instal·lat correctament, el sistema s’ha de posar en marxa sense més intervenció per part de l’usuari que engegar l’equip (no caldrà pantalla ni teclat). Farem una instal·lació del sistema base de Debian Testing sense x-window-system (és a dir, sense sistema de finestres ni entorn gràfic) com a suport per instal·lar-hi BOINC.

Instal·lació del sistema operatiu

Amb un CD d’instal·lació por red de Debian Testing n’he instal·lat el sistema base, sense ni tant sols entorn d’escriptori. No caldrà per fer la feina. Un cop s’ha completat el procés, l’equip s’ha reiniciat i en entorn de línia de comandes ha requerit les dades d’inici de seció (nom d’usuari i contrasenya). En l’instal·lació he creat l’usuari alvaro i les seves dades són les que uso ara.

Instal·lació del paquet boinc-client

He instal·lat el programari BOINC mitjançant l’ordre:
apt-get install boinc-client

Cal executar-la com a superusuari (root), de manera que abans s’ha d’introduir l’ordre “su” i la contrasenya de l’usuari root (superusuari).

Un cop l’apt, el gestor de paquets de Debian, ha instal·lat el programari requerit i totes les seves dependències, ha mostrat el text:
Starting BOINC core client: boinc_client.

Autologin, inici de sessió automàtic

Com que l’ordinador ha d’executar BOINC sense més intervenció meva que engegar-lo i ni tant sols mantindré connectats el monitor, ratolí i teclat, cal que s’inicii la sessió de l’usuari alvaro automàticament. Per fer-ho, seguirem els passos següents amb la sessió iniciada com a superusuari:

Instal·lem el paquet mingetty:

apt-get install mingetty

Obrim amb l’editor de textos vi l’arxiu /etc/inittab:

vi /etc/inittab

Canviem la línia:

1:2345:respawn:/sbin/getty 38400 tty1

per aquesta altra:

1:2345:respawn:/sbin/mingetty --noclear --autologin alvaro tty1

Òbviament cal canviar alvaro pel nom d’usuari que correspongui.

Per fer aquesta petita edició amb vi cal dirigir-se amb el cursor fins al punt a editar, prémer “a” que activa el mode d’inserció en la següent posició del cursor i escriure –autologin alvaro. La comanda de vi per desar i sortir és :wq.

Aquests canvis afecten a un arxiu important del sistema. Escrivim reboot per a reiniciar.

Configuració del BOINC

Les següents ordres que cal introduir ja no s’han d’executar com a superusuari sinó com a l’usuari habitual, en el meu cas alvaro, que és amb el qual s’ha iniciat sessió automàticament si tot ha anat bé.

Podem executar:

boinc_cmd --host localhost --get_state

A fi i efecte de comprovar que fins ara tot funciona com cal. Rebrem un missatge en pantalla amb diferents subapartats que informen de l’estat de boinc. Estaran tots buits, segurament, perquè encara no ens hem inscrit en cap projecte.

Executarem ara les següents comandes de configuració:

boinc_cmd --host localhost --set_run_mode always
boinc_cmd --host localhost --set_network_mode always

Aquest és el punt en què ens unirem a un projecte ClimatePrediction.net.

En el cas que encara no tinguem un compte de BOINC actiu en aquest projecte, podem crear-ne un nou mitjançant la comanda:

boinc_cmd --host localhost --create_account http://climateprediction.net la.meva@adreça.com CONTRASENYA NOMDUSUARI

On la.meva@adreça.com, una adreça electrònica que vulguem associar amb el nou compte; on CONTRASENYA, una contrasenya inventada; i on, NOMDUSUARI un nom d’usuari que triem, que ens servirà per identificar-nos en aquest i altres projectes BOINC i en els diferents servidors d’estadístiques de participació en projectes BOINC que existeixen.

En el meu cas ja tinc un compte actiu en aquest projecte, així que executo:

boinc_cmd --host localhost --lookup_account http://climateprediction.net la.meva@adreça.com CONTRASENYA

Tot canviant, es clar, la.meva@adreça.com per l’adreça electrònica real i CONTRASENYA per la contrasenya que hi correspon.

Com a resultat d’executar això rebem en pantalla una llarga cadena de caràcters que usarem tot seguit en executar la següent comanda:

boinc_cmd --host localhost --project_attach http://climateprediction.net la_llarga_cadena_de_caràcrers

Cal introduir on he posat la_llarga_cadena_de_caràcters la cadena de caràcters que acabem de rebre.

Amb això ja estarem treballant en el projecte ClimatePrediction.net, que significa que el nostre ordinador rebrà una sèrie de dades d’Internet (models climàtics), els processarà (farà càlculs) i n’enviarà els resultats als responsables del projecte, els quals els faran servir per estudiar el canvi climàtic i fer prediccions al respecte.

Podem comprovar l’estat de BOINC en qualsevol moment mitjançant l’ordre

boinc_cmd --host localhost --get_state

Authorization failure: -155

Com a nota addicional, durant el procés m’ha aparegut un error Authorization failure: -155 que he solucionat tot executant boinc_cmd des de la seva pròpia carpeta, és a dir, modificant lleugerament totes les comandes que he anat indicant de manera que comencessin per ./boinc_cmd i havent executat prèviament cd /usr/bin/.

S’ha acabat!

No cal fer res més. Ja podem retirar, si volem, el teclat, la pantalla, el ratolí, etc.: l’ordinador posarà en marxa tot el que cal per fer tot el que ha de fer sense que haguem de fer cap altra cosa que engegar-lo.

Referències

Ageless. boinc_cmd giving “Authorization failure: -155”. [Data de consulta: 19/10/2007]. Disponible en <http://boinc.berkeley.edu/dev/forum_thread.php?id=977&nowrap=true#4831>.

Annagul. HOW-TO BOINC. [Data de consulta: 19/10/2007]. Disponible en <http://softwarelibre.uca.es/boinc_howto>.

A través del monitor. Como de BOINC en Linux. [Data de consulta: 19/10/2007]. Disponible en <http://atravesdelmonitor.lamatriz.org/como-de-boinc-en-gnulinux>.

BOINC Project. The BOINC command tool. [Data de consulta: 19/10/2007]. Disponible en <http://boinc.berkeley.edu/trac/wiki/BoincCmd>.

John Kodis. Autologin with mingetty. Linux Gazette, 1988 [Data de consulta: 19/10/2007]. Disponible en <http://www.tldp.org/LDP/LG/issue27/kodis.html>.

Michael Kupsch. Installing the BOINC-client on Debian GNU/Linux. [Data de consulta: 19/10/2007]. Disponible en <http://www.mk-stuff.de/artikel/installing_boinc/>.