LTSP Trisquel 8.0
Hola, me llamo Andreas Jamett y estoy configurando ordenadores en formato ITX para distribuirlo a lugares desfavorecidos y aprovechar las ventajas de la utilidad LTSP sobre sus ordenadores antiguos en aulas (pentium 4, Core2Duo por lo general). Las características de hardware son estas:
CPU Intel i3 8100 3.6GHz 4N 4T
RAM Corsair Vengeance LPX 16GB 2666MHz [2x8GB]
SSD Corsair MP300 480GB NVMe x2
MOB Gigabyte B360N WIFI
CAS InWin Chopin + PSU 150W 80+ Bronze
Este proyecto lo hice tiempo atrás con la versión 6 de Trisquel, con la versión 8 he tenido que hacer unos cambios como por ejemplo volver al clásico esquema de las interfaces de RED ETH0, WLAN0. Os comparto toda la formula después de la instalación de Trisquel pero asumir que el nombre de usuario es "server" y el nombre del ordenador es "ServerLTSP"
* Establecer contraseña para super usuario / root
sudo passwd root
* Entrar como super usuario / root
sudo su
* Eliminar "GNOME Orca" y "LibreOffice"
apt-get remove --purge gnome-orca
apt-get remove --purge libreoffice*
* Eliminar posibles dependencias de pogramas
apt-get clean
apt-get autoremove
* Agregar "Mozilla Firefox" y "LibreOffice" a los Repositorios
add-apt-repository ppa:mozillateam/firefox-next
add-apt-repository ppa:libreoffice/ppa
* Actualizar lista de repositorios
apt-get update
apt-get upgrade
* Actualizar Sistema
Buscar en Configuración del Sistema (reiniciar al acabar)
* Instalar Mozilla Firefox, "LibreOffice" y "Gimp"
sudo su
apt-get install firefox
apt-get install firefox-locale-es
apt-get install libreoffice
apt-get install libreoffice-l10n-es
apt-get install libreoffice-help-es
apt-get upgrade
* Restaurar normativa eth0, eth1, etc
rm -rf /etc/udev/rules.d/*
nano /etc/default/grub
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
ln -sf /dev/null /lib/udev/rules.d/80-net-setup-link.rules
update-grub
update-grub2
reboot
* Configurar las direcciones IP de los puertos de red [TRISQUEL 6]
sudo su
nano /etc/network/interfaces
auto lo
iface lo inet loopback
# Tarjeta de Red Primaria (Internet)
auto eth0
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1
# Tarjeta de Red Secundaria (DHCP-LSTSP)
auto eth1
iface eth1 inet static
address 10.0.0.254
netmask 255.0.0.0
* Configurar DNS
nano /etc/resolvconf/resolv.conf.d/base
nameserver 8.8.8.8
nameserver 4.4.4.4
* Reiniciar ordenador
reboot
* Comprobar si se mantienen las DNS
cat /etc/resolv.conf
nameserver 8.8.8.8
nameserver 4.4.4.4
* Probar si hay conexión
sudo su
ping 8.8.8.8
* Parar comprobación
Presionar "Control + Z"
* Instalar servicio LTSP
apt-get install ltsp-server-standalone openssh-server
* Asignar ETH1 como servidor DHCP
nano /etc/default/isc-dhcp-server
INTERFACES="eth1"
* Configurar rango DHCP
nano /etc/ltsp/dhcpd.conf
GNU nano 2.2.6 Archivo: /etc/ltsp/dhcpd.conf
#
# Default LTSP dhcpd.conf config file.
#
authoritative;
subnet 10.0.0.0 netmask 255.0.0.0 {
range 10.0.0.1 10.0.0.100;
option domain-name "example.com";
option domain-name-servers 10.0.0.254;
option broadcast-address 10.255.255.255;
option routers 10.0.0.254;
# next-server 10.0.0.254;
# get-lease-hostnames true;
option subnet-mask 255.0.0.0;
option root-path "/opt/ltsp/i386";
if substring( option vendor-class-identifier, 0, 9 ) = "PXEClient" {
filename "/ltsp/i386/pxelinux.0";
} else {
filename "ltsp/i386/nbi.img";
}
}
* Reiniciar el servidor DHCP
/etc/init.d/isc-dhcp-server restart
* Crear usuarios
adduser usuario01
adduser usuario02
adduser usuario03
adduser usuario04
adduser usuario05
* Instalar "ntopng" para controlar tráfico de red
apt-get install ntopng
* Configurar ntopng para que escuche la tarjeta de red ETH1 y utilice el puerto 3001
nano /etc/ntopng.conf
-i=eth1
-w=3001
* Reiniciar ordenador e iniciar ntop
systemctl restart ntopng
* Comprobar que servicio ntop funciona
Abrir navegador e ir al enlace "http://localhost:3001"
User: admin
Pass: admin
* Instalar "htop" para monitorizar los procesos activos de los clientes
apt-get install htop
* Comprobar si htop funciona
htop
* Parar comprobación
Presionar "Control + Z"
* Instalar WakeOnLAN
apt-get install wakeonlan
* Preparar imagen para clientes ligeros
ltsp-build-client --arch i386 --copy-package-cache --keep-package
* Configurar los clientes para inicios automáticos [OPCIONAL]
nano /var/lib/tftpboot/ltsp/i386/lts.conf
[DEFAULT]
# Inicio automático por IP
LDM_AUTOLOGIN = TRUE
[10.0.0.1]
LDM_USERNAME = usuario01
LDM_PASSWORD = qwerty
[10.0.0.2]
LDM_USERNAME = usuario02
LDM_PASSWORD = qwerty
[10.0.0.3]
LDM_USERNAME = usuario03
LDM_PASSWORD = qwerty
[10.0.0.4]
LDM_USERNAME = usuario04
LDM_PASSWORD = qwerty
[10.0.0.5]
LDM_USERNAME = usuario05
LDM_PASSWORD = qwerty
* Instalar "epoptes" para poder monitorizar y controlar a los clientes
apt-get install epoptes
* Establecer usuario servidor para el uso de epoptes
gpasswd -a "server" epoptes
* Loguearse como cliente ltsp para hacer modificaciones varias
ltsp-chroot --arch i386
* Actualizar repositorios
apt-get update
apt-get upgrade
* Instalar funcion "nano" para editar ficheros
apt-get install nano
* Instalar "epoptes client"
apt-get install epoptes-client
* Establecer nombre de servidor ltsp para epoptes, puede ser la ip del servidor. Quitar "#"
nano /etc/default/epoptes-client
SERVER=10.0.0.254
* Obtener Certificados
epoptes-client -c
* Salir del modo client ltsp
exit
* Acabar la imagen
ltsp-update-kernels
ltsp-update-sshkeys
ltsp-update-image
* Reiniciar y probar
reboot
Tengo que decir que para que esto funcione correctamente lo ideal es hacer una pequeña inversión en tarjetas de Red PCI/PCIe 10/100/1000 para los terminales, un Switch Gigabit y cable de red Cat.6 para conectarlas, pues con las 10/100 integradas no se consigue el mismo resultado y pierde fluidez. La placa base en cuestión cuenta con dos tarjetas de Red 10/100/1000 y una de Wifi, entonces debemos suponer que quizás el acceso a internet se consiga desde el Wifi y tengamos que reemplazar unos valores como "eth0" por "wlan0" o simplemente configurar ambos.
Con la instrucción wakeonlan seguido de la dirección MAC del terminal podemos encender las maquinas a distancia. También podemos encender un grupo de ordenadores introduciendo todas las direcciones o un grupo de direcciones MAC en un archivo de texto macs.txt y luego decir: wakeonlan -f macs.txt
Con Epoptes puedo ver lo que hacen los alumnos, controlarlo, silenciarlo, bloquearlo y apagar su ordenador si hace falta.
Todo funciona correctamente, pero me da la sensación de que ha perdido fluidez con la versión 8.0 de Trisquel, con la 6 creo que iba mas rápido. Entiendo que ya no se usa GNOME Classic que era muy ligero. Será por esto? Si alguien me puede ayudar sería ideal. Gracias!
Comparto las instrucciones en un formato mas "ordenado"
Attachment | Size |
---|---|
LTSP.txt | 5.05 KB |
Has perdido fluidez en cuanto al uso de la interfaz de Trisquel o en cuanto a interacciones de la red?
Yo creo que tambien puedes instalar Trisquel mini con LXDE como entorno, lxde es muy minimalista.
btw en Trisquel el navegador se llama abrowser.
Cuando hice el proyecto con Trisquel 6 el servidor era una maquina virtual destinando un nucleo y solo 2GB de RAM y todo sobre un SSD. La maquina "cliente" era un PC real (no virtual) y arrancaba el LibreOffice en 5 segundos, ahora teniendo un PC real como servidor con 16GB noto que los clientes tardan hasta 25 segundos en abrir el libreoffice. Me impresiona la perdida considerando que ahora no estoy virtualizando, estoy usando el 100% de mi CPU. Me quedo con Firefox :)
Pierdo algo con la versión mini? no la he probado. Gracias!
Andreas,
Interesante proyecto, LTSP fue uno de los primeros proyectos que implementé oficialmente.
Honestamente no recuerdo mucho de eso, pero creo que usamos en ese entonces Trisquel 4 y LibreOffice 4.
Lo que te podría comentar es que en efecto, creo que has resuelto los temas principales.
No mezclar redes 10/100 con Gigabit, lo que causa un cuello de botella documentado en LTSP, switch gigabit, bien.
Ahora, puedes configurar local apps, para que te apoyes en los recursos del equipo cliente y te recomendaría que estandarices la resolución de los monitores en los clientes (evitando resoluciones muy altas), eso te ayuda junto a la compresión de las comunicaciones por ssh, aunque tal vez eso ya se hace por default, eso y configuraciones muy específicas que podrás encontrar en ltsp.org o regados en los logs del IRC.
Finalmente, LibreOffice no es broma es un programa muy completo y pesado, incluso de manera local en un HDD convencional con Corei5 puede tomar 20s en abrir.
Como comentario, a pesar de que a mí no me gustó para nada el giro que se le dio a Abrowser, recordar que el foro no apoya/promueve el instalar software privativo donde Firefox cae en esa definición.
Mucho éxito!
Buenas! gracias por tu tiempo
Sobre lo de "local apps" tendré que estudiarlo pues no soy experto en el tema. La red es Gigabit con cable Cat.6 pero aun asi notaba perdida. He probado con la versión Mini LXDE como dijo "PJJ" y funciona como cuando hice le proyecto en Trisquel 6.0.1. El LibreOffice en el PC servidor (AMD Athlon 200GE) me inicia nada mas hago clic, creo que no llega al segundo de demora y no exagero. Lo cierto es que también utilizo una unidad Corsair MP300 NVMe x2 de 1580MB/s de lectura. Mañana probare con los clientes que tal va
De todas formas te puedo asegurar que casi iba de la misma manera con los clientes (maximo 3 segundos) cuando el servidor se alojaba en una maquina virtual de un laptop y destinando 1 de los 4 nucleos reales de la maquina. Te adjunto un enlace con la foto para que se entienda, verás que el portatil anfitrión mueve el server de Trisquel con VirtualBox.
Sobre lo del navegador no fue para apoyar el software privativo, simplemente hice un copia y pega de los pasos y en estos estaba Firefox. El proyecto funciona bien ahora pero estudiaré para mejorarlo aun mas.
Enlace proyecto anterior: https://scontent-mad1-1.xx.fbcdn.net/v/t31.0-8/12748130_1116435535055130_3996716602788461557_o.jpg?_nc_cat=106&_nc_oc=AQkEBd3QH7iUwJsJYTrDT9q6PE4B7U8qbQvYyO1vQHSJcYXrrvrGPo...
Hola de nuevo,
Tengo una duda, ¿cómo lograste cargar Trisquel en un RPi2?
¿No son esos, arquitectura arm?
¿Has visto que a partir de Trisquel 8/Ubuntu 16.04 en adelante, LTSP5 está próximo a convertirse en obsoleto?
Ahora se está trabajando en lo que parece llamarse LTSP 19+
Estoy pensando en revisar a fondo LTSP, si gustas compartir notas, no dudes en contactarme.
Saludos.