LTSP 5 – HOWTO

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

NOTA: En caso de no estar instalado el paquete openbsd-inetd.255.0/24 • Dominio: ltsp-lenguas.1.0 netmask 255.0 {     range 192.255.conf. A continuación.16.168.     option domain­name­servers 200.4.20 192. todos los comandos de consola a los cuales se haga referencia. se procede a configurar el servicio DHCP.4. el mismo se encuentra en /etc/ltsp/dhcpd. reemplazar el paquete viejo por el openbsd-inetd.1 Procedemos a editar el archivo /etc/ltsp/dhcpd. se procede a construir el entorno del cliente ltsp­build­client  Si el servidor corre sobre una arquitectura diferente que los clientes (ej: amd64 vs i386). EL paquete LTSP incluye un archivo de configuración para dicho servicio. debemos agregar el parámetro –arch=i386. .16.     option broadcast­address 192.16. A partir de aquí.168. Para que los clientes puedan acceder a un entorno gráfico.16.4. Esto descargará un sistema Debian completo en /opt/ltsp/i386 (o en otra ubicación específica mediante el parametro '--base') e instalará los paquetes ltsp-client y ldm (LTSP Display Manager). Luego.168.4. Para ello se procede a instalar los paquetes ltsp-standalone-server. utilizando sudo. se instalará el servidor LTSP y el DHCP en un mismo equipo.     option routers 192.168. se ha definido: • Red: 192. será necesario que en el servidor esté instalado alguno como gnome o xfce. instalarlo: apt­get install openbsd­inetd Si dicho paquete genera conflicto con algun otro que se encuentre instalado (ej. se deben ejecutar con privilegios de root. xinetd). Para este caso en particular.1 • Router: 192.250. al momento del booteo. Éste es necesario para que. o en su defecto.168.com • Servidor DNS: 200.4.com".4.168. En este caso en particular. openssh-server y ldm-server. cada cliente obtenga una dirección IP que lo identifique dentro de la red.4.     option domain­name "ltsp­lenguas.Procedimiento de instalación.168. apt­get install ltsp­server­standalone openssh­server ldm­server.1.conf  para que quede de la siguiente manera: ########### LTSP ################# subnet 192.255.

Preparación de los clientes. se procede a descargar el código fuente desde el siguiente enlace: http://git.tar.no_subtree_check) Se reinicia el servidor NFS invoke­rc.async. 9 ) = "PXEClient"  {         filename "/ltsp/i386/pxelinux. En este caso.      if substring( option vendor­class­identifier. 0.etherboot. se descomprime el contenido tar ­xvzf gpxe­<release>. #    get­lease­hostnames true. el servidor está listo para recibir conexiones de parte de los clientes delgados.0. es el propio servidor DHCP (como se mencionó antes).255. se debe editar el fichero /etc/dhcp3/dhcpd.1.no_root_squash. Éste es un entorno de preejecución.255.conf y agregar al principio del mismo la siguiente línea: include "/etc/ltsp/dhcpd. que sirve para arrancar un sistema desde una placa de red.168.git.d dhcp3­server restart Se procede a configurar el archivo /etc/exports.0".d nfs­kernel­server restart Se reinicia el servicio tftpd (el cual es utilizado para transferir el kernel desde el servidor hacia el cliente): invoke­rc. Cuando se describió el proceso de booteo del cliente. Se reinicia el servicio DHCP invoke­rc. se mencionó en primera instancia que el kernel debe ser cargado en el cliente. y que para este caso en particular se utilizaría gPXE. Para que tome control el archivo que se editó anteriormente.     option root­path "/opt/ltsp/i386".     } else {         filename "/ltsp/i386/nbi.org/?p=gpxe.img". Para ello.gz .     } } Hay que tener en cuenta aquí que la opción next-server debe apuntar al servidor LTSP.conf".     option subnet­mask 255.a=snapshot Una vez descargado. agregando la siguiente línea: /opt/ltsp *(ro.d openbsd­inetd restart En este momento.    next­server 192.4.

se procede a escribir la imagen gPXE a un diskette: mformat a: cat bin/gpxe. incuyendo un directorio personal en /home/<nombre_de_usuario>. Por defecto. Se inserta el diskette en la unidad floppy del cliente y se configura el mismo para que bootee desde dicha unidad.Para poder compilarlo. se deben modificar los permisos mediante el siguiente comando: chmod 700 /home/<nombre_de_usuario> El entorno chroot Se denomina entorno chroot a una versión minimalista de GNU/Linux. Tambien se solicitarán datos del mismo (el más importante de ellos es la contraseña). se debe ejecutar este comando: ltsp­update­sshkeys Creando cuentas de usuario para los clientes. son necesarios un par de paquetes extra: apt­get install syslinux mtools Una vez instalados. y proceder a la compilación: cd gpxe/src make Ahora.dsk of=/dev/fd0 Ahora el cliente está en condiciones de bootear y establecer la conexión con el servidor. Si se desea restringir el acceso al mismo sólo al propietario. En el servidor. se debe ingresar al directorio donde se descomprimió el tarball. el directorio personal se crea con permisos totales para el propietario del mismo.dsk > /dev/fd0 Este último comando escribe la imagen al diskette. Las cuentas de usuario se crean mediante el comando adduser: adduser <nombre_de_usuario> A partir de allí el sistema creará el usuario. . y permisos de lectura para el resto de los usuarios. diseñada para optimizar el booteo por red que tiene que efectuar el cliente. antes de que cualquier cliente botee por primera vez. Esto puede hacerse tambien mediante el siguiente comando dd if=bin/gpxe.

y [Direccion MAC] para estaciones en particular.Puede encontrarse en /opt/ltsp. Para actualizar el entorno chroot. Encabezados de sección. se puede especificar todos los ajustes de configuración en la sección [default] (como se explicará posteriormente).list /opt/ltsp/i386/etc/apt/ Luego. se deberá abrir una consola con privilegios de root. con subdirectorios para cada arquitectura. Si se cuenta con máquinas cliente idénticas. así como también configuraciones individuales. algunas veces puede ser necesario personalizar los parámetros que están en el archivo de configuración /opt/ltsp/i386/etc/lts. se encontrará en /opt/ltsp/i386. como se está instalando sobre una arquitectura i386. o la combinación de teclas Ctrl+D. y ejecutar los siguientes comandos: En primer lugar. se deberá registrar dicha actualización ltsp­update­kernels Configurando el comportamiento de los clientes La mayoría de los clientes se autoconfigurará automáticamente en forma correcta. se debe copiar la lista de repositorios hacia el entorno chroot:  cp /etc/apt/sources. se procede a cambiar el directorio raíz hacia el entorno chroot LTSP  chroot /opt/ltsp/i386/ Una vez allí. donde X es un valor hexadecimal q va de 0 a F. En este caso particular. se efectúa la actualización de la lista de paquetes apt­get update Luego.conf Formato del archivo lts. Una vez hecho esto. se actualiza el software en el entorno chroot apt­get upgrade. se monta el directorio /proc mount ­t proc /proc /proc Luego. Si el kernel ha sido actualizado.conf El formato del archivo lts. se sale del entorno chroot mediante el comando exit. Sin embargo. . Los encabezados de sección comienzan con un identificador de la forma [default].conf admite una configuración por defecto. el cual es utilizado por todas las computadoras (como se mencionó anteriormente). de la forma [XX:XX:XX:XX:XX:XX].

Después del encabezado de sección. No es necesario especificar nada para este último grupo. Todo lo que esté a continuación de dicho caracter en el resto de la línea se considerará un comentario. se transcribe un ejemplo del archivo lts. Se ilustrará el uso mediante un ejemplo. Un grupo.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=True allows greater scalability and performance  . pero para los otros puede utilizarse algunos nombres simbólicos como se muestra a continuación: [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. Tambien hay variables no boobleanas de la forma VARIABLE = valor Se puede insertar comentarios utilizando el caracter #. usando la palabra clave LIKE se puede confeccionar un archivo lts. Suponer que se tienen 3 tipos de clientes delgados en la red. el cual será utilizado en el laboratorio tiene placas de video viejas y deben usar color en 16 bit a 1024 x 768. y luego asignar a estaciones particulares ese conjunto de parámetros. Otro grupo necesita tener su memoria RAM de video seteada a 8 megas. Yes / No. Éstas son valores booleanos que se setean con los valores True / False.conf más prolijo. agrupando parámetros relacionados dentro de un único nombre simbólico. se pueden definir variables. Y un tercer grupo autodetecta todo en forma correcta. A continuación. o bien Y / N. La palabra clave LIKE La palabra clave LIKE permite definir un conjunto general de parámetros bajo un identificador único.Asignación de variables.

Habilita los dispositivos de almacenamiento local en el cliente.    # Turn this off if you want greater security instead. revisar la documentación oficial del proyecto LTSP. (Nota: Para una explicación más detallada.      LDM_DIRECTX=True      # LDM_SYSLOG=True writes to server’s syslog      LDM_SYSLOG=True  ################  # A setting stanza for an old machine  ################  [oldmachine]      X_COLOR_DEPTH=8      X_MODE_0=800x600  ################  # Example of the LIKE variable  ################  [01:23:DE:AD:BE:EF]      LIKE=oldmachine      SCREEN_02=shell  ################  #[MAC ADDRESS]: Per thin client settings  ################  [00:11:25:84:CE:BA]      XSERVER = vesa      X_MOUSE_DEVICE=/dev/ttyS0      X_MOUSE_PROTOCOL=intellimouse  ###############  # A Thin Client Print server  # (switch off X by pointing tty7 to shell. SOUND Booleano. .  # to save ressources)  ###############  [00:11:25:93:CF:00]      PRINTER_0_DEVICE=/dev/usblp0      SCREEN_07=shell ###############  # A workstation that executes a specific  # command after login  ###############  [00:11:25:93:CF:02]      LDM_SESSION=/usr/bin/myloginscript  Parámetros de configuración general. Habilita el sonido en el cliente delgado.) LOCALDEV Booleano.

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

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

se ha seleccionado el usuario pc01. Luego se deberá hacer clic en el botón Propiedades. Para ello. y se procede a marcar las siguientes casillas: . se selecciona la pestaña Privilegios de usuario. se deben establecer ciertos privilegios a los usuarios que se quiere que tengan acceso a los dispositivos.conf LOCALDEV = True Luego. Para ello se deberá seguir los siguientes pasos: Agregar el siguiente parámetro en /opt/ltsp/i386/etc/lts. Luego se provee la contraseña de usuario root. sobre todo el caso de pendrives. y después se podrá ver una ventana como esta: Como ejemplo. desde gnome se va a Sistema -> Administración -> Usuarios y grupos. Una vez en la ventana nueva.Puede ser útil para el usuario. disponer de los dispositivos de almacenamiento local.

La opción que permitirá utilizar los dispositivos locales es “Mount user-space filesystems (FUSE)”. Cuando conecte un pendrive o inserte un cdrom. sin ninguna otra modificación. Sin embargo. con lo cual quedaría de la siguiente manera # legacy floppy drives:  .d/z60_ltspfsd. KERNEL=="fd[0­9]".rules Se procede a buscar las siguientes líneas # legacy floppy drives:  ACTION=="add". marcar las otras opciones mostradas en la imagen anterior será de utilidad si se desea que el usuario pueda además conectarse a redes wireless y ethernet. se debe proceder a editar el archivo /opt/ltsp/i386/etc/udev/rules. RUN+="ltspfs_entry add %k auto" Y se comenta (mediante el caracter #) la segunda. Para solucionar este problema. se podrá notar que en cada acceso a alguna unidad de almacenamiento local en el cliente. usar dispositivos de sonido y usar unidades de CD-ROM. Si la configuración se deja así. Ahora el usuario pc01 ya puede utilizar las unidades de almacenamiento local en su cliente delgado. la unidad floppy efectuará una lectura. causando una demora innecesaria y un ruido que puede llegar a ser muy molesto. un ícono identificador aparecerá en el escritorio.

 KERNEL=="fd[0­9]". RUN+="ltspfs_entry add %k auto" Problema con placas realtek 8139. en el entorno chroot. El mismo advierte sobre un problema de compatibilidad de las mismas con el módulo correspondiente del kernel. se deben seguir los siguientes pasos: Editar el archivo /opt/ltsp/i386/etc/initramfs-tools/modules y agregar el módulo: 8139too Editar el archivo /opt/ltsp/i386/usr/share/initramfs-tools/hook-functions y agregar el módulo “8139too” al final de la siguiente línea: r8169 s2io sis900 skge slhc smc911x starfire sky2 \ Luego. Un mensaje de advertencia suele ser mostrado en algunos clientes que cuentan con placas de red Realtek 8139. y sugiere reemplazarlo por otro módulo (8139too).conf para un cliente que utiliza un mouse serial. se puede implementar un script que tenga la siguiente forma: #!/bin/bash echo “----. Para solucionar esto.Espere un momento --------” sleep 10 fusermount -u /media/<nombre_de_usuario>/* .# ACTION=="add". El siguiente es un ejemplo de configuración del archivo lts. montar /proc actualizar el initramfs: sudo chroot /opt/ltsp/i386 mount ­t proc /proc /proc sudo chroot /opt/ltsp/i386 update­initramfs ­u  Actualizar: sudo ltsp-update-kernels Configuracion para clientes con mouse serial. Para implementar la extracción segura de dispositivos USB. [Client_MAC_Address] X_MOUSE_DEVICE = /dev/ttyS0 X_MOUSE_PROTOCOL = Microsoft X_MOUSE_EMULATE3BTN = True X_MOUSE_ZAXISMAPPING = 4 5 6 7 Extracción de pendrives en forma segura.

Poder reproducir videos de youtube. el ícono correspondiente al pendrive desaparecerá del escritorio. Para la reproducción multimedia. se deben bajar un conjunto de codecs via apt-get: apt­get install  gstreamer0. debido a su alta compatibilidad con la suite Office de Microsoft (hay que admitir que la mayoría de los usuarios utilizan ésta última en sus casas). Lo recomendable es instalar xterm. Para este caso en particular. puede crearse un lanzador en el escritorio. Puede crearse. se ha solicitado que los clientes puedan: Contar con una suite ofimática Poder reproducir contenidos multimedia. Instalar aplicaciones en el servidor. por ejemplo.10­ffmpeg gstreamer0. se descargan los paquetes correspondientes vía apt-get: apt­get install openoffice.1. para darle tiempo al sistema de escribir toda la información necesaria antes de extraer el dispositivo.10­pulseaudio  .org openoffice. Para ello. Luego desmonta el directorio correspondiente al punto de montaje de la unidad de almacenamiento. Para su instalación. Para la suite ofimática se ha optado por OpenOffice 3. se hace clic derecho en algun lugar vacío del mismo y se escoge la opción “Crear lanzador”. Poder ver contenido flash en las paginas web.Este script comienza con una parada de 10 segundos. se pone la siguiente línea: xterm ­e /opt/Desmontar/<nombre_de_usuario>/<nombre_del_script> Si no se tiene instalado xterm. dentro de un directorio en /opt.10­plugins­bad  gstreamer0.10­plugins­ugly gstreamer0. Luego en la pestaña “Lanzador” en el campo “Comando”. ya que es más liviano que aquellos 2. Suite ofimática. La ruta completa podría ser /opt/Desmontar/<nombre_de_usuario>/<nombre_del_script> Cabe recordar que se deberán otorgar permisos de ejecución al mismo: chmod 755 /opt/Desmontar/<nombre_de_usuario>/<nombre_del_script> Para facilitar al usuario el acceso al script.org­l10n­es  Reproducción de contenidos multimedia. puede usarse gnome-terminal o konsole. Una vez finalizada la ejecución.

debian­multimedia.16_all.10. podrá notar que la performance no es la más indicada. Esto debe hacerse para cada cuenta de usuario que sea utilizada por los clientes delgados. Para poder hacer esto. Si el lector hace la prueba de reproducir videos desde la pagina de youtube en un cliente liviano.Otra opción a considerar es el reproductor smplayer.debian-multimedia. se procede así: Se descarga la llave del repositorio desde la siguiente ubicacion http://www.deb Se procede a instalar la llave: dpkg ­i debian­multimedia­keyring_2008. En la opcion Audio seleccionar pulse. Para ello. agregando al final: deb http://www.16_all.list. Para ello se va a Opciones -> Preferencias -> General -> General . Para solucionar esto se deben seguir los siguientes pasos: 1 . primero se debe agregar el repositorio debianmultimedia. Una vez instalado. de mejor desempeño que Totem (el q viene por defecto en Debian). se accede con las cuentas de usuario correspondientes a los clientes y se ejecuta la aplicación. es necesario bajar el plug-in de flash. Como LTSP utiliza pulseaudio como salida de audio.org/pool/main/d/debian-multimedia-keyring/debianmultimedia-keyring_2008.En primer lugar. será necesario configurar el reproductor para poder tener sonido en los clientes.org squeeze main  Se actualiza la lista de paquetes: apt­get update Se descarga el paquete smplayer y w32codecs apt­get install smplayer w32codecs Si el servidor corre una versión de 64 bits. Para instalarlo. Para ello. Poder visualizar contenido Flash en las paginas web. se debe configurar el reproductor para habilitar el sonido en los clientes. desde apt-get apt­get install flashplugin­nonfree Reproduccion de videos de youtube. se debe descargar el paquete de integración de Totem al navegador: . el paquete se llama w64codecs. La misma está en Aplicaciones -> Sonido y Video -> Smplayer.10.deb Se edita el archivo /etc/apt/sources.

se descarga el script “Linterna magica”: http://e­valkov. Repasando lo visto anteriormente: Para crear un usuario el comando es adduser <nombre_de_usuario> Ahora bien.org/es­ES/firefox/addon/748 3 . Hay que bajar la extensión Greasemonkey para Iceweasel: https://addons.org/linterna­magica/ Nota: Los pasos 2 y 3 se deben realizar para cada cuenta de usuario en particular. 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> .Luego. Algunos aspectos administrativos. Terminar un proceso. para crear un grupo.mozilla. segun el criterio definido por el administrador. Agregar usuarios a grupos. detallada a continuación. para agregar un usuario a un grupo: addgroup <nombre_de_usuario> <nombre_de_grupo> De esta manera se podrán organizar los distintos usuarios del sistema en diferentes grupos.Por ultimo.apt­get install totem­mozilla 2 . se hace uso de una serie de comandos. addgroup <nombre_de_grupo> Finalmente. Para matar un proceso que se está ejecutando por algun usuario en particular.

Sign up to vote on this title
UsefulNot useful