Está en la página 1de 15

LTSP 5 HOWTO

Autor: Luis Roberto Romano luisromano(at)gmail.com

Procedimiento de instalacin.
A partir de aqu, todos los comandos de consola a los cuales se haga referencia, se deben ejecutar con privilegios de root, o en su defecto, utilizando sudo. En este caso en particular, se instalar el servidor LTSP y el DHCP en un mismo equipo. Para ello se procede a instalar los paquetes ltsp-standalone-server, openssh-server y ldm-server.
aptgetinstallltspserverstandaloneopensshserverldmserver.

NOTA: En caso de no estar instalado el paquete openbsd-inetd, instalarlo:


aptgetinstallopenbsdinetd

Si dicho paquete genera conflicto con algun otro que se encuentre instalado (ej. xinetd), reemplazar el paquete viejo por el openbsd-inetd. Luego, se procede a construir el entorno del cliente
ltspbuildclient

Si el servidor corre sobre una arquitectura diferente que los clientes (ej: amd64 vs i386), debemos agregar el parmetro arch=i386. Esto descargar un sistema Debian completo en /opt/ltsp/i386 (o en otra ubicacin especfica mediante el parametro '--base') e instalar los paquetes ltsp-client y ldm (LTSP Display Manager). Para que los clientes puedan acceder a un entorno grfico, ser necesario que en el servidor est instalado alguno como gnome o xfce. A continuacin, se procede a configurar el servicio DHCP. ste es necesario para que, al momento del booteo, cada cliente obtenga una direccin IP que lo identifique dentro de la red. EL paquete LTSP incluye un archivo de configuracin para dicho servicio, el mismo se encuentra en /etc/ltsp/dhcpd.conf. Para este caso en particular, se ha definido: Red: 192.168.4.0/24 Dominio: ltsp-lenguas.com Servidor DNS: 200.16.16.1 Router: 192.168.4.1 Procedemos a editar el archivo /etc/ltsp/dhcpd.conf para que quede de la siguiente manera:
###########LTSP################# subnet192.168.4.0netmask255.255.255.0{ range192.168.4.20192.168.4.250; optiondomainname"ltsplenguas.com"; optiondomainnameservers200.16.16.1; optionbroadcastaddress192.168.4.255; optionrouters192.168.4.1;

nextserver192.168.4.1; #getleasehostnamestrue; optionsubnetmask255.255.255.0; optionrootpath"/opt/ltsp/i386"; ifsubstring(optionvendorclassidentifier,0,9)="PXEClient" { filename"/ltsp/i386/pxelinux.0"; }else{ filename"/ltsp/i386/nbi.img"; } }

Hay que tener en cuenta aqu que la opcin next-server debe apuntar al servidor LTSP. En este caso, es el propio servidor DHCP (como se mencion antes). Para que tome control el archivo que se edit anteriormente, se debe editar el fichero /etc/dhcp3/dhcpd.conf y agregar al principio del mismo la siguiente lnea:
include"/etc/ltsp/dhcpd.conf";

Se reinicia el servicio DHCP


invokerc.ddhcp3serverrestart

Se procede a configurar el archivo /etc/exports, agregando la siguiente lnea:


/opt/ltsp*(ro,no_root_squash,async,no_subtree_check)

Se reinicia el servidor NFS


invokerc.dnfskernelserverrestart

Se reinicia el servicio tftpd (el cual es utilizado para transferir el kernel desde el servidor hacia el cliente):
invokerc.dopenbsdinetdrestart

En este momento, el servidor est listo para recibir conexiones de parte de los clientes delgados.

Preparacin de los clientes.


Cuando se describi el proceso de booteo del cliente, se mencion en primera instancia que el kernel debe ser cargado en el cliente, y que para este caso en particular se utilizara gPXE. ste es un entorno de preejecucin, que sirve para arrancar un sistema desde una placa de red. Para ello, se procede a descargar el cdigo fuente desde el siguiente enlace: http://git.etherboot.org/?p=gpxe.git;a=snapshot Una vez descargado, se descomprime el contenido
tarxvzfgpxe<release>.tar.gz

Para poder compilarlo, son necesarios un par de paquetes extra:


aptgetinstallsyslinuxmtools

Una vez instalados, se debe ingresar al directorio donde se descomprimi el tarball, y proceder a la compilacin:
cdgpxe/src make

Ahora, se procede a escribir la imagen gPXE a un diskette:


mformata: catbin/gpxe.dsk>/dev/fd0

Este ltimo comando escribe la imagen al diskette. Esto puede hacerse tambien mediante el siguiente comando
ddif=bin/gpxe.dskof=/dev/fd0

Ahora el cliente est en condiciones de bootear y establecer la conexin con el servidor. Se inserta el diskette en la unidad floppy del cliente y se configura el mismo para que bootee desde dicha unidad. En el servidor, antes de que cualquier cliente botee por primera vez, se debe ejecutar este comando:
ltspupdatesshkeys

Creando cuentas de usuario para los clientes.


Las cuentas de usuario se crean mediante el comando adduser:
adduser<nombre_de_usuario>

A partir de all el sistema crear el usuario, incuyendo un directorio personal en /home/<nombre_de_usuario>. Tambien se solicitarn datos del mismo (el ms importante de ellos es la contrasea). Por defecto, el directorio personal se crea con permisos totales para el propietario del mismo, y permisos de lectura para el resto de los usuarios. Si se desea restringir el acceso al mismo slo al propietario, se deben modificar los permisos mediante el siguiente comando:
chmod700/home/<nombre_de_usuario>

El entorno chroot
Se denomina entorno chroot a una versin minimalista de GNU/Linux, diseada para optimizar el booteo por red que tiene que efectuar el cliente.

Puede encontrarse en /opt/ltsp, con subdirectorios para cada arquitectura. En este caso particular, como se est instalando sobre una arquitectura i386, se encontrar en /opt/ltsp/i386. Para actualizar el entorno chroot, se deber abrir una consola con privilegios de root, y ejecutar los siguientes comandos: En primer lugar, se debe copiar la lista de repositorios hacia el entorno chroot:
cp/etc/apt/sources.list/opt/ltsp/i386/etc/apt/

Luego, se procede a cambiar el directorio raz hacia el entorno chroot LTSP


chroot/opt/ltsp/i386/

Una vez all, se efecta la actualizacin de la lista de paquetes


aptgetupdate

Luego, se monta el directorio /proc


mounttproc/proc/proc

Luego, se actualiza el software en el entorno chroot


aptgetupgrade.

Una vez hecho esto, se sale del entorno chroot mediante el comando exit, o la combinacin de teclas Ctrl+D. Si el kernel ha sido actualizado, se deber registrar dicha actualizacin
ltspupdatekernels

Configurando el comportamiento de los clientes


La mayora de los clientes se autoconfigurar automticamente en forma correcta. Sin embargo, algunas veces puede ser necesario personalizar los parmetros que estn en el archivo de configuracin /opt/ltsp/i386/etc/lts.conf Formato del archivo lts.conf El formato del archivo lts.conf admite una configuracin por defecto, as como tambin configuraciones individuales. Si se cuenta con mquinas cliente idnticas, se puede especificar todos los ajustes de configuracin en la seccin [default] (como se explicar posteriormente). Encabezados de seccin. Los encabezados de seccin comienzan con un identificador de la forma [default], el cual es utilizado por todas las computadoras (como se mencion anteriormente), y [Direccion MAC] para estaciones en particular, de la forma [XX:XX:XX:XX:XX:XX], donde X es un valor hexadecimal q va de 0 a F.

Asignacin de variables. Despus del encabezado de seccin, se pueden definir variables. stas son valores booleanos que se setean con los valores True / False, Yes / No, o bien Y / N. Tambien hay variables no boobleanas de la forma
VARIABLE=valor

Se puede insertar comentarios utilizando el caracter #. Todo lo que est a continuacin de dicho caracter en el resto de la lnea se considerar un comentario. La palabra clave LIKE La palabra clave LIKE permite definir un conjunto general de parmetros bajo un identificador nico, y luego asignar a estaciones particulares ese conjunto de parmetros. Se ilustrar el uso mediante un ejemplo. Suponer que se tienen 3 tipos de clientes delgados en la red. Un grupo, el cual ser utilizado en el laboratorio tiene placas de video viejas y deben usar color en 16 bit a 1024 x 768. Otro grupo necesita tener su memoria RAM de video seteada a 8 megas. Y un tercer grupo autodetecta todo en forma correcta. No es necesario especificar nada para este ltimo grupo, pero para los otros puede utilizarse algunos nombres simblicos como se muestra a continuacin:
[Lab] X_COLOR_DEPTH=16 X_MODE_0=1024x768 [Lowram] X_VIDEO_RAM=8096 [00:40:32:71:77:A1] LIKE=Lab [00:70:84:BB:27:52] LIKE=Lowram

Como se puede ver, usando la palabra clave LIKE se puede confeccionar un archivo lts.conf ms prolijo, agrupando parmetros relacionados dentro de un nico nombre simblico. A continuacin, se transcribe un ejemplo del archivo lts.conf
################ [default] #X_COLOR_DEPTH=16 LOCALDEV=True SOUND=True NBD_SWAP=True SYSLOG_HOST=server #XKBLAYOUT=de SCREEN_02=shell SCREEN_03=shell SCREEN_04=shell SCREEN_05=shell SCREEN_06=shell SCREEN_07=ldm #LDM_DIRECTX=Trueallowsgreaterscalabilityandperformance

#Turnthisoffifyouwantgreatersecurityinstead. LDM_DIRECTX=True #LDM_SYSLOG=Truewritestoserverssyslog LDM_SYSLOG=True ################ #Asettingstanzaforanoldmachine ################ [oldmachine] X_COLOR_DEPTH=8 X_MODE_0=800x600 ################ #ExampleoftheLIKEvariable ################ [01:23:DE:AD:BE:EF] LIKE=oldmachine SCREEN_02=shell ################ #[MACADDRESS]:Perthinclientsettings ################ [00:11:25:84:CE:BA] XSERVER=vesa X_MOUSE_DEVICE=/dev/ttyS0 X_MOUSE_PROTOCOL=intellimouse ############### #AThinClientPrintserver #(switchoffXbypointingtty7toshell, #tosaveressources) ############### [00:11:25:93:CF:00] PRINTER_0_DEVICE=/dev/usblp0 SCREEN_07=shell ############### #Aworkstationthatexecutesaspecific #commandafterlogin ############### [00:11:25:93:CF:02] LDM_SESSION=/usr/bin/myloginscript

Parmetros de configuracin general.


(Nota: Para una explicacin ms detallada, revisar la documentacin oficial del proyecto LTSP.) LOCALDEV Booleano. Habilita los dispositivos de almacenamiento local en el cliente. SOUND Booleano. Habilita el sonido en el cliente delgado.

SOUND_DAEMON Servicio de Sonido. Valores posibles: esd, nasd, pulse. SCREEN_01 ... SCREEN_12 Script de inicio de sesion. Se pueden configurar hasta un mximo de 12, siendo accesibles mediante la combinacion ctrl+alt+F1 hasta ctrl+alt+F12. Por defecto, no es necesario configurar este parmetro. Valores posibles: rdesktop, shell, ldm, startx, telnet. MODULE_01 ... MODULE_10 Modulos a cargar en el booteo. Por defecto no deberia ser necesario. CONFIGURE_X Booleano. Permite configurar los parmetros de video en el cliente delgado. X_RAMPERC Valor entero. Define el porcentaje de memoria libre en el cliente que ser utilizado por el servidor Xorg. Valor por defecto: 100. Si la estacin comienza a experimentar cuelgues, se recomienda setear este valor a 80 o 90. X_MOUSE_DEVICE Device node al cual est conectado el mouse. Necesario en caso de utilizar un mouse serial. Ser /dev/ttyS0 o /dev/ttyS1. No es necesario en caso de mouse PS/2. X_MOUSE_PROTOCOL Protocolo del mouse. Debera ser autodetectado. En caso de no serlo, los posibles valores son: sunkbd, lkkbd, vsxxxaa, spaceorb, spaceball, magellan, warrior, stinger, mousesystems, sunmouse, microsoft, mshack, mouseman, intellimouse, mmwheel, iforce, h3600ts, stowawaykbd, ps2serkbd, twiddler, twiddlerjoy X_COLOR_DEPTH Valor entero. Indica la profundidad de color en bits para el video. Valores posibles: 8, 16, 24, 32. LDM_DIRECTX Booleano. Seteado a True, deshabilita el cifrado SSH en la conexin entre el cliente y el servidor. Recomendado en caso de necesitar incremento de rendimiento en el cliente (si se puede sacrificar el aspecto de la seguridad). LDM_AUTOLOGIN Booleano. Permite el autologueo en el servidor, tomando como usuario y contrasea los siguientes 2 parmetros, mencionados a continuacin. LDM_USERNAME Nombre de usuario usado por autologin. LDM_PASSWORD Password del usuario usado por autologin.

LDM: LTSP Display Manager


A partir de la versin 5, el paquete LTSP incluye su propio gestor de login: LDM. A diferencia de otros gestores, que se ejecutan en el servidor (como GDM o KDM), LDM se ejecuta del lado del cliente, permitiendo que ste tenga muchas ms opciones de configuracin respecto a la conexin que establece con el servidor. Los pasos que se siguen en un inicio de sesin normal son los siguientes: 1. El script de inicio ldm se inicia, configura algunas variables de entorno necesarias, contacta con el servidor para ver que sesiones e idiomas estn disponibles, y usan el xinit para lanzar ldm. 2. ldm inicia el greeter, que es un programa grfico que presenta al usuario una pantalla de registro y permite que se seleccione la sesin, idioma, y los hosts a los que se desea conectar. 3. ldm recoge informacin del greeter, e inicia una sesin ssh con el servidor. Esta sesin ssh se usa para crear un socket maestro ssh, el cual se usa para las operaciones subsiguientes. 4. Ahora, la sesin seleccionada por el usuario se inicia mediante el socket maestro. Dependiendo de si se hace una peticin encriptada o no, a travs del parmetro LDM_DIRECTX, la sesin se conecta a la pantalla local a travs de un tunel ssh, o a travs de una conexin TCP/IP normal. 5. Durante la sesin, cualquier memoria USB u otros dispositivos locales que estn conectados, comunican su estado al servidor mediante el socket de control ssh. 6. Cuando el usuario cierra la sesin, la conexin ssh se cierra, el programa ldm sale, el servidor X se para, y el script de pantalla se recicla para que todo inicie de nuevo a partir de un estado limpio. Scripts LDM puede ejecutar scripts en tres momentos durante la ejecucin: 1. Un init script que se ejecuta despus de que X haya iniciado, pero antes de que el usuario haya iniciado la sesin. Estos scripts deben empezar con una I mayscula. 2. Un start script que se ejecuta despus de que el usuario haya iniciado la sesin, pero antes de que su sesin X inicie. Estos scripts deben empezar con una S mayscula. 3. Un shutdown script que se ejecuta despus de que la sesin X haya terminado, pero antes de que el usuario cierre la sesin. Estos scripts deben empezar con una K mayscula. Al nombrar el script, normalmente se establece un nmero entre 00 y 99 despus del la letra inicial, sto le permitir controlar el orden en el que se desea que se ejecuten. Dichos scripts se encuentran en /opt/ltsp/i386/usr/share/ldm/rc.d.

Habilitando el almacenamiento local.

Puede ser til para el usuario, disponer de los dispositivos de almacenamiento local, sobre todo el caso de pendrives. Para ello se deber seguir los siguientes pasos: Agregar el siguiente parmetro en /opt/ltsp/i386/etc/lts.conf
LOCALDEV=True

Luego, se deben establecer ciertos privilegios a los usuarios que se quiere que tengan acceso a los dispositivos. Para ello, desde gnome se va a Sistema -> Administracin -> Usuarios y grupos. Luego se provee la contrasea de usuario root, y despus se podr ver una ventana como esta:

Como ejemplo, se ha seleccionado el usuario pc01. Luego se deber hacer clic en el botn Propiedades. Una vez en la ventana nueva, se selecciona la pestaa Privilegios de usuario, y se procede a marcar las siguientes casillas:

La opcin que permitir utilizar los dispositivos locales es Mount user-space filesystems (FUSE). Sin embargo, marcar las otras opciones mostradas en la imagen anterior ser de utilidad si se desea que el usuario pueda adems conectarse a redes wireless y ethernet, usar dispositivos de sonido y usar unidades de CD-ROM. Ahora el usuario pc01 ya puede utilizar las unidades de almacenamiento local en su cliente delgado. Cuando conecte un pendrive o inserte un cdrom, un cono identificador aparecer en el escritorio. Si la configuracin se deja as, sin ninguna otra modificacin, se podr notar que en cada acceso a alguna unidad de almacenamiento local en el cliente, la unidad floppy efectuar una lectura, causando una demora innecesaria y un ruido que puede llegar a ser muy molesto. Para solucionar este problema, se debe proceder a editar el archivo /opt/ltsp/i386/etc/udev/rules.d/z60_ltspfsd.rules Se procede a buscar las siguientes lneas
#legacyfloppydrives: ACTION=="add",KERNEL=="fd[09]",RUN+="ltspfs_entryadd%kauto"

Y se comenta (mediante el caracter #) la segunda, con lo cual quedara de la siguiente manera


#legacyfloppydrives:

#ACTION=="add",KERNEL=="fd[09]",RUN+="ltspfs_entryadd%kauto"

Problema con placas realtek 8139.


Un mensaje de advertencia suele ser mostrado en algunos clientes que cuentan con placas de red Realtek 8139. El mismo advierte sobre un problema de compatibilidad de las mismas con el mdulo correspondiente del kernel, y sugiere reemplazarlo por otro mdulo (8139too). Para solucionar esto, se deben seguir los siguientes pasos: Editar el archivo /opt/ltsp/i386/etc/initramfs-tools/modules y agregar el mdulo:
8139too

Editar el archivo /opt/ltsp/i386/usr/share/initramfs-tools/hook-functions y agregar el mdulo 8139too al final de la siguiente lnea:


r8169s2iosis900skgeslhcsmc911xstarfiresky2\

Luego, en el entorno chroot, montar /proc actualizar el initramfs:


sudochroot/opt/ltsp/i386mounttproc/proc/proc sudochroot/opt/ltsp/i386updateinitramfsu

Actualizar:
sudo ltsp-update-kernels

Configuracion para clientes con mouse serial.


El siguiente es un ejemplo de configuracin del archivo lts.conf para un cliente que utiliza un mouse serial.
[Client_MAC_Address] X_MOUSE_DEVICE=/dev/ttyS0 X_MOUSE_PROTOCOL=Microsoft X_MOUSE_EMULATE3BTN=True X_MOUSE_ZAXISMAPPING=4567

Extraccin de pendrives en forma segura.


Para implementar la extraccin segura de dispositivos USB, se puede implementar un script que tenga la siguiente forma:
#!/bin/bash echo ----- Espere un momento -------- sleep 10 fusermount -u /media/<nombre_de_usuario>/*

Este script comienza con una parada de 10 segundos, para darle tiempo al sistema de escribir toda la informacin necesaria antes de extraer el dispositivo. Luego desmonta el directorio correspondiente al punto de montaje de la unidad de almacenamiento. Puede crearse, por ejemplo, dentro de un directorio en /opt. La ruta completa podra ser /opt/Desmontar/<nombre_de_usuario>/<nombre_del_script> Cabe recordar que se debern otorgar permisos de ejecucin al mismo:
chmod755/opt/Desmontar/<nombre_de_usuario>/<nombre_del_script>

Para facilitar al usuario el acceso al script, puede crearse un lanzador en el escritorio. Para ello, se hace clic derecho en algun lugar vaco del mismo y se escoge la opcin Crear lanzador. Luego en la pestaa Lanzador en el campo Comando, se pone la siguiente lnea:
xterme/opt/Desmontar/<nombre_de_usuario>/<nombre_del_script>

Si no se tiene instalado xterm, puede usarse gnome-terminal o konsole. Lo recomendable es instalar xterm, ya que es ms liviano que aquellos 2. Una vez finalizada la ejecucin, el cono correspondiente al pendrive desaparecer del escritorio.

Instalar aplicaciones en el servidor.


Para este caso en particular, se ha solicitado que los clientes puedan: Contar con una suite ofimtica Poder reproducir contenidos multimedia. Poder ver contenido flash en las paginas web. Poder reproducir videos de youtube. Suite ofimtica. Para la suite ofimtica se ha optado por OpenOffice 3.1, debido a su alta compatibilidad con la suite Office de Microsoft (hay que admitir que la mayora de los usuarios utilizan sta ltima en sus casas). Para su instalacin, se descargan los paquetes correspondientes va apt-get:
aptgetinstallopenoffice.orgopenoffice.orgl10nes

Reproduccin de contenidos multimedia. Para la reproduccin multimedia, se deben bajar un conjunto de codecs via apt-get:
aptgetinstallgstreamer0.10ffmpeggstreamer0.10pluginsbad gstreamer0.10pluginsuglygstreamer0.10pulseaudio

Otra opcin a considerar es el reproductor smplayer, de mejor desempeo que Totem (el q viene por defecto en Debian). Para instalarlo, primero se debe agregar el repositorio debianmultimedia. Para ello, se procede as: Se descarga la llave del repositorio desde la siguiente ubicacion http://www.debian-multimedia.org/pool/main/d/debian-multimedia-keyring/debianmultimedia-keyring_2008.10.16_all.deb Se procede a instalar la llave:
dpkgidebianmultimediakeyring_2008.10.16_all.deb

Se edita el archivo /etc/apt/sources.list, agregando al final:


debhttp://www.debianmultimedia.orgsqueezemain

Se actualiza la lista de paquetes:


aptgetupdate

Se descarga el paquete smplayer y w32codecs


aptgetinstallsmplayerw32codecs

Si el servidor corre una versin de 64 bits, el paquete se llama w64codecs. Una vez instalado, se debe configurar el reproductor para habilitar el sonido en los clientes. Para ello, se accede con las cuentas de usuario correspondientes a los clientes y se ejecuta la aplicacin. La misma est en Aplicaciones -> Sonido y Video -> Smplayer. Como LTSP utiliza pulseaudio como salida de audio, ser necesario configurar el reproductor para poder tener sonido en los clientes. Para ello se va a Opciones -> Preferencias -> General -> General . En la opcion Audio seleccionar pulse. Esto debe hacerse para cada cuenta de usuario que sea utilizada por los clientes delgados. Poder visualizar contenido Flash en las paginas web. Para poder hacer esto, es necesario bajar el plug-in de flash, desde apt-get
aptgetinstallflashpluginnonfree

Reproduccion de videos de youtube. Si el lector hace la prueba de reproducir videos desde la pagina de youtube en un cliente liviano, podr notar que la performance no es la ms indicada. Para solucionar esto se deben seguir los siguientes pasos: 1 - En primer lugar, se debe descargar el paquete de integracin de Totem al navegador:

aptgetinstalltotemmozilla

2 - Luego, Hay que bajar la extensin Greasemonkey para Iceweasel:


https://addons.mozilla.org/es-ES/firefox/addon/748

3 - Por ultimo, se descarga el script Linterna magica:


http://e-valkov.org/linterna-magica/

Nota: Los pasos 2 y 3 se deben realizar para cada cuenta de usuario en particular.

Algunos aspectos administrativos.


Agregar usuarios a grupos. Repasando lo visto anteriormente: Para crear un usuario el comando es
adduser <nombre_de_usuario>

Ahora bien, para crear un grupo,


addgroup <nombre_de_grupo>

Finalmente, para agregar un usuario a un grupo:


addgroup <nombre_de_usuario> <nombre_de_grupo>

De esta manera se podrn organizar los distintos usuarios del sistema en diferentes grupos, segun el criterio definido por el administrador. Terminar un proceso. Para matar un proceso que se est ejecutando por algun usuario en particular, se hace uso de una serie de comandos, detallada a continuacin. Para ver la lista de procesos que est corriendo un determinado usuario se hace uso del comando
ps w -u <nombre_de_usuario>

Para matar un proceso en particular se hace

killall -u <nombre_de_usuario> <nombre_del_proceso>

También podría gustarte