Servidor de terminales linux
A continuación se resume el procedimiento para configurar un servidor de terminales Linux (LTS). Un LTS es un entorno utilizado para reutilizar equipos antiguos en los que no funcionaría adecuadamente un sistema Linux habitual, ya sea por tener una cpu muy lenta, o poca memoria. Se necesita un ordenador servidor de gama media-alta con mucha memoria. Los clientes abren sesiones en este servidor y utilizan los recursos de este. Por tanto, puedes estar sentado delante de un Pentium 100 y tener en marcha KDE 3.5, OpenOffice 2 con tres documentos y un Firefox con 30 pestañas abiertas.
(Versión no definitiva, pendiente de revisión)
Normalmente un servidor de terminales linux LTS dispone de un servidor dhcp, tftp, nfs, y X. En nuestro caso, el servidor dhcp va en otra máquina, por tanto, describimos aparte la configuración necesaria para incluir el dhcp en la misma máquina.
El primer paso es instalar los paquetes correspondientes:
apt-get install tftpd-hpa nfs-kernel-server libwww-perl openbsd-inetd
apt-get install dhcp3-server (en nuestro caso personal, no)
Lo siguiente es añadir esta línea a /etc/inetd.conf, en caso de que el programa de instalación no la haya añadido.
tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /tftpboot
Acto seguido, reiniciamos inetd.conf para que los cambios surtan efecto.
/etc/init.d/openbsd-inetd restart
Y comprobamos que funciona con el comando: "netstat -panu | grep 69"
udp6 0 0 :::69 :::* 12067/openbsd-inetd
Ahora procederemos a descargar los paquetes necesarios para LTS. En el sistema anfitrión solo se necesita un paquete, que se llama ltsp-utils. El resto de la instalación que utilizará el cliente reside en un directorio llamado /opt/ltsp. Comenzamos descargando e instalando el paquete desde esta pagina, en concreto, para ubuntu haremos:
wget http://ltsp.mirrors.tds.net/pub/ltsp/utils/ltsp-utils_0.25_all.deb
dpkg -i ltsp-utils_0.25_all.deb
El resto de la instalación hemos dicho que es una instalación de un cliente y se realizará en /opt/ltsp. Es una instalación de un sistema base muy configurable y adaptable que es la que compartirán todos los clientes remotos. Es decir, en un único punto centralizamos el "clon" que usarán los terminales por red. Los desarrolladores de LTSP han optado por distribuir los paquetes como un todo en una imagen iso. El primer paso por tanto será descargarla y tenerla a mano con el siguiente comando:
wget http://ltsp.mirrors.tds.net/pub/ltsp/isos/ltsp-4.2u2-0.iso
Podemos comprobar que la hayamos descargado bien, descargando el md5sum y comprobando que coincide con el md5sum del fichero (ambas secuencias de numeros deben coincidir):
wget http://ltsp.mirrors.tds.net/pub/ltsp/isos/ltsp-4.2u2-0.md5sum
md5sum ltsp-4.2u2-0.iso
cat ltsp-4.2u2-0.md5sum
Montaremos esta imagen ISO en loopback en /opt/ltspfiles usando los siguientes comandos:
mkdir -p /opt/ltspfiles
mount -o loop ltsp-4.2u2-0.iso /opt/ltspfiles
A continuación ejecutaremos ltspadmin.
Elegir la opcion "Install/Update LTSP Packages": Se queja de que no esta configurado y que pasará a configurarse
Where to retrieve packages from? [file:///opt/ltspfiles/] file:///opt/ltspfiles/ In which directory would you like to place the LTSP client tree? [/opt/ltsp] /opt/ltsp If you want to use an HTTP proxy, enter it here Use 'none' if you don't want a proxy Example: http://proxy.yourdomain.com:3128 [none] If you want to use an FTP proxy, enter it here (Use 'none' if you don't want a proxy) [none] Correct? (y/n/c) yAparece un listado de paquetes, elegimos todos los paquetes pulsando "A"
Procedemos a instalar pulsando "Q", con lo que instala y sucede:
Ready to install/update the selected LTSP packages? (y/n) y Calculating package dependencies... Downloading packages from: file:///root/tmp/ ... ltsp-vnc-module-1.0-0-i386.tgz 0.15mb 100% ... Installing the packages... ltsp-vnc-module-1.0-0-i386.tgz ... Press <enter> to continue...Pasamos a configurar el ltsp eligiendo la opcion "Configure LTSP". Esto modifica muchos ficheros de la maquina.
Checking Runlevel....: 2 Checking Ethernet Interfaces Checking Dhcpd..... Checking Tftpd....... Checking Portmapper... Checking nfs... Checking xdmcp............Found: kdm Using: kdm Checking /etc/hosts. Checking /etc/hosts.allow. Checking /etc/exports. Checking lts.conf.Luego se queda este menu:
S - Show the status of all services C - Configure the services manually Q - QuitEn la opcion S debe mostrar algo asi, todo a "yes".
-------------------------------------------------------------------------------- ltspcfg v0.16 The Linux Terminal Server Project (http://www.LTSP.org) Interface IP Address Netmask Network Broadcast Used eth0 192.168.0.226 255.255.255.0 192.168.0.0 192.168.0.255 <----- Service Installed Enabled Running Notes dhcpd Yes Yes Yes Version 3 tftpd Yes Yes Yes Has '-s' flag portmapper Yes Yes Yes nfs Yes Yes Yes xdmcp Yes Yes Yes kdm Using: kdm File Configured Notes /etc/hosts Yes /etc/hosts.allow Yes /etc/exports Yes /opt/ltsp/i386/etc/lts.conf Yes Configured runlevel: 2 (value of initdefault in /etc/inittab) Current runlevel: 2 (output of the 'runlevel' command) Installation dir...: /opt/ltsp Press <enter> to return to the main menu... --------------------------------------------------------------------------------
Ahora es problema personal si no dice "yes". Arreglarlo implica pasearse por la configuración manual (C) y comprobar las cosas que fallen. En nuestro caso con ir paso a paso por la configuración conseguimos arreglarlo en un par de minutos.
Para completar la configuracion del servidor, debemos crear un fichero en el raiz NFS de los clientes, llamado etc/lts.conf, que servirá para definir las preferencias y especificidades de los terminales. En nuestro caso, contiene en su version de pruebas esto.
[default]
SCREEN_01 = startx
SCREEN_02 = shell
SERVER = 192.168.0.1
SOUND = y
XSERVER = vesa
[cubonegro]
XSERVER = i810
[00:12:3f:8e:66:40] LIKE = cubonegro
[00:12:3f:8e:0f:b1] LIKE = cubonegro
Es conveniente leer un fichero existente llamado etc/lts.conf.readme que describe todas las posibles opciones que permite este fichero. Toda la configuración de los terminales reside en este fichero.
En este momento ya tenemos instalada y configurada la parte de servidor. Los clientes son muy sencillos. Nosotros probamos arranque PXE, que viene incorporado en ordenadores recientes y funcionó. Tambien probamos usando un grub en los ordenadores clientes que contenía las lineas de kernel e initrd adecuadas. Faltó probar la parte de hacer un diskette de arranque netboot y la parte de flashear una eprom de tarjeta de red. ((detallar este parrafo))



