1. Environnement
  2. Install du serveur ltsp
  3. Création des fichiers nécessaires au client
  4. Utilisation d'un dns local (facultatif)
  5. Paramétrage du serveur ltsp
  6. Copies d'écran


0) Environnement


L'install a été réalisé dans une vmware
(vmware-server-2.0 sur hôte 32-bits ubuntu gutsy-7.10)

La machine faisant office de serveur ltsp s'appelle ubu32, adresse ip 192.168.1.245.

root@ubu32:/# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=8.04
DISTRIB_CODENAME=hardy
DISTRIB_DESCRIPTION="Ubuntu 8.04.1"


root@ubu32:~# uname -a
Linux ubu32 2.6.24-22-generic #1 SMP Mon Nov 24 18:32:42 UTC 2008 i686 GNU/Linux

root@ubu32:~# df -hT
Sys. de fich. Type    Tail. Occ. Disp. %Occ. Monté sur
/dev/sda1     ext3    7,6G  2,8G  4,5G  39% /
varrun       tmpfs    189M   72K  189M   1% /var/run
varlock      tmpfs    189M     0  189M   0% /var/lock
udev         tmpfs    189M   44K  189M   1% /dev
devshm       tmpfs    189M   12K  189M   1% /dev/shm
lrm          tmpfs    189M   39M  150M  21% /lib/modules/2.6.24-22-generic/volatile

root@ubu32:/# free
             total       used       free     shared    buffers     cached
Mem:        385528     338528      47000          0      39568     178032
-/+ buffers/cache:     120928     264600
Swap:       409616      39560     370056

L'install est assez rapide pour peu que l'on soit au courant de quelques subtilités.

1) Install du serveur ltsp

root@ubu32:~# apt-cache search ltsp
ldm - LTSP display manager
python-tcm - control ubuntu LTSP connections
thin-client-manager-backend - control ubuntu LTSP connections
thin-client-manager-gnome - control ubuntu LTSP connections
ltsp-manager - Ubuntu LTSP server management GUI
mythbuntu-diskless-client - Mythbuntu-diskless client environment
python-ltsp - provides ltsp related functions
ltsp-client - LTSP client environment
ltsp-client-core - LTSP client environment
ltsp-server - Basic LTSP server environment
ltsp-server-standalone - Complete LTSP server environment
ltspfs - Fuse based remote filesystem for LTSP thin clients
ltspfsd - Fuse based remote filesystem daemon for LTSP thin clients

root@ubu32:~# apt-get install ltsp-server-standalone

.... install des paquets ....

2) Création des fichiers nécessaires au client

root@ubu32:~# ltsp-build-client

creation d'un environnement chroote puis install des paquets

Paramétrage de linux-ubuntu-modules-2.6.24-16-generic (2.6.24-16.23) ...
update-initramfs: Generating /boot/initrd.img-2.6.24-16-generic

Paramétrage de linux-image-generic (2.6.24.16.18) ...
Updating /var/lib/tftpboot directories for chroot: /opt/ltsp/i386
Parallel mksquashfs: Using 1 processor
Creating little endian 3.1 filesystem on /opt/ltsp/images/i386.img.tmp, block size 131072.
.....
Info : l'installation du client LTSP est terminée.


3) Utilisation d'un dns local
Pour éviter tout problème avec le serveur dhcp et pour simplifier par la suite,
j'ai un serveur dns local qui tourne sur une autre vm:

srvglus238:~# netstat -tpan |grep ":53"
tcp        0      0 192.168.1.241:53        0.0.0.0:*               LISTEN     9725/named         
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN     9725/named         
tcp6       0      0 :::53                   :::*                    LISTEN     9725/named      

srvglus238:~# hostname --fqdn
srvglus238.net.pat

Les fichiers de conf pour la partie dns de ce serveur sont ici 


4) Paramétrage du serveur ltsp

root@ubu32:/etc/default# cat tftpd-hpa
#Defaults for tftpd-hpa
RUN_DAEMON="yes"
OPTIONS="-l -s /var/lib/tftpboot"


root@ubu32:/etc# init.d/tftpd-hpa start

root@ubu32:/etc/ltsp# cat dhcpd.conf
#
# Default LTSP dhcpd.conf config file.
#

authoritative;

subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.200 192.168.1.205;
    option domain-name "net.pat";
    option domain-name-servers 192.168.1.241;
    option broadcast-address 192.168.1.255;
    option routers 192.168.1.1;
    next-server 192.168.1.245;
#    get-lease-hostnames true;
    option subnet-mask 255.255.255.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";
    }
}
 


root@ubu32:/etc# init.d/dhcp3-server start


Cette partie ne doit pas être omise sous peine de se prendre un message d'erreur : Connexion Refused.

root@ubu32:/etc/nbd-server# cat config
[generic]
# If you want to run everything as root rather than the nbd user, you
# may either say "root" in the two following lines, or remove them
# altogether. Do not remove the [generic] section, however.
        user = nbd
        group = nbd

# What follows are export definitions. You may create as much of them as
# you want, but the section header has to be unique.
[export]
        exportname = /opt/ltsp/images/i386.img
        port = 2000

root@ubu32:/etc/nbd-server# /etc/init.d/nbd-server start
nbd-server



root@ubu32:/etc/nbd-server# netstat -tpanu
Connexions Internet actives (serveurs et établies)
Proto Recv-Q Send-Q Adresse locale          Adresse distante        Etat       PID/Program name
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      7600/portmap   
tcp        0      0 0.0.0.0:2000            0.0.0.0:*               LISTEN      19434/nbd-server
tcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN      7125/2         
tcp        0      0 127.0.0.1:6011          0.0.0.0:*               LISTEN      7221/3         
tcp6       0      0 :::5900                 :::*                    LISTEN      6761/vino-server
tcp6       0      0 :::22                   :::*                    LISTEN      6974/sshd      
tcp6       0      0 ::1:6010                :::*                    LISTEN      7125/2         
tcp6       0      0 ::1:6011                :::*                    LISTEN      7221/3         
tcp6       0      0 192.168.1.245:22        192.168.1.244:47991     ESTABLISHED 7122/sshd: pme [pri
tcp6       0      0 192.168.1.245:22        192.168.1.244:47998     ESTABLISHED 7218/sshd: pme [pri
udp        0      0 0.0.0.0:67              0.0.0.0:*                           15683/dhcpd3   
udp        0      0 0.0.0.0:69              0.0.0.0:*                           29085/in.tftpd 
udp        0      0 0.0.0.0:111             0.0.0.0:*                           7600/portmap   



Je vous conseille de modifier le fichier suivant de cette façon:

root@ubu32:/var/lib/tftpboot/ltsp/i386/pxelinux.cfg# cat default
DEFAULT vmlinuz ro initrd=initrd.img
root@ubu32:/var/lib/tftpboot/ltsp/i386/pxelinux.cfg#

Cela vous permettra de voir les éventuelles erreurs lors du boot.


Je crée ensuite un utilisateur sur le serveur.

root@ubu32:/# adduser thin


5) Copies d'écran