Instalacao LTSP Debian Squeeze
Autor: Ensina Linux by Fábio Vieira | Publicado: 2012-09-18T13:33:00-03:00


LTSP é a sigla usada para o projeto chamado LINUX TERMINAL SERVER PROJECT, um projeto idealizado para que uma distribuição  GNU/Linux
 pudesse agir como um servidor de terminais, ou seja, vários 
computadores ligados em rede que ao invés de rodar o sistema localmente 
em um disco rígido, pudesse simplesmente executar uma sessão de um 
computador central, para quem conhece, mais ou menos igual a um terminal
 service no Windows Server. 

A vantagem em relação ao terminal service do Windows é que não há custo 
algum ao se montar um LTSP com relação a licença dos terminais,ao caso 
que no Windows Server você paga pela licença de cada terminal conectado 
ao servidor, sem falar que no Windows é necessário que haja um sistema 
operacional instalado na estação para acessar o servidor e é exigido 
processamento, memória e outros recursos de hardware na estação, ou 
seja, uma máquina antiga seria inviável para esse uso. 

Com o LTSP a ideia é exatamente a inversa, ou seja, a ideia é o 
aproveitamento de maquinas antigas, obsoletas para o uso nas estações, 
onde as mesmas nem mesmo precisam ter um hd, somente uma placa de rede, 
um processador que pode ser antigo, uma memória que pode ser de 32 MB e 
dependendo das configurações até menos,uma placa de rede que tenha opção
 de boot pela rede e um monitor qualquer.

As vantagens de ser ter um LTSP como pode-se notar é grande, pois há o 
aproveitamento de maquinas antigas que poderiam ser consideradas sucata,
 baixo custo na montagem, uma padronização dos terminais dos usuários 
além de muitos outros benefícios. 

A desvantagem é que o sistema funciona todo pela rede, ou seja, é 
preciso investimento em uma estrutura de rede adequada, e o 
inconveniente de um problema na rede, em um switch por exemplo, que 
faria todos os terminais pararem até o problema ser sanado, problemas no
 servidor que também faria o sistema parar, por isso seria bom pensar em
 casos específicos na implantação de servidores redundantes onde ao 
parar um o outro assume ate que seja resolvido o problema do principal, 
ter peças sobressalentes para troca rápida em caso de problemas e outros
 cuidados para não ter dor de cabeça com sua rede.

Caso se interessem a pagina oficial do projeto é  http://www.ltsp.org e procurem ler mais sobre o assunto.&nbsp;


Para o funcionamento do LTSP, é preciso alguns programas.
# apt-get install dhcp3-server isc-dhcp-server tftpd-hpa portmap nfs-kernel-server




Pra usar o ltsp-utils instalar bibliotecas do perl
# apt-get install libwww-perl libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl liburi-perl




Vamos instalar o ltsp-utils, com ele instalamos e configuramos o LTSP 4.2.
http://ltsp.mirrors.tds.net/pub/ltsp/utils/
 ou
http://idsorocaba.batemacumba.net/ltsp/utils/


# wget http://ltsp.mirrors.tds.net/pub/ltsp/utils/ltsp-utils-0.25-0.tgz
&nbsp;
# tar xvf ltsp-utils-0.25-0.tgz
&nbsp;
# cd ltsp-utils&nbsp;
&nbsp;
# sh install.sh&nbsp;
&nbsp;
Installing ltspadmin
Installing ltspcfg
Installing ltspinfo

Installation of ltsp-utils complete
&nbsp;
&nbsp;
No Debian Squeeze o pacote ltsp-utils não é mais oficial, por isso pegar o fonte para instalar.



Instalando a partir da .ISO&nbsp;
Obter a .iso
http://ltsp.mirrors.tds.net/pub/ltsp/isos/

ou
http://idsorocaba.batemacumba.net/ltsp/isos/



Montar .Iso do LTSP4.2
#mount -o loop ltsp-4.2u2-0.iso /mnt



Abra o #ltspadmin





Na tela do ltspadmin vamos primeiro em Configure the installer options


Em Where to retrieve packages from? vamos trocar e colocar:
&nbsp;
file:///mnt/



na opção abaixo In which directory would you like to place the LTSP client tree?&nbsp;
[/opt/ltsp]&nbsp;
Indicado manter o padrão e pra outras pode deixar em branco e dar enter.





Para instalar vamos em Install/Update LTSP Packages

Tecle A para selecionar todos arquivos para instalação:

&nbsp;
e Q para começar o Download

Instalou e tecle Enter para continuar



Com LTSP já instalado, falta somente configurar…
mas antes vamos editar/verificar se alguns arquivos estão como devem.


Abra o:
# vi /etc/default/tftpd-hpa


(pode usar seu editor preferido…nano, vi, vim, pico, emacs e etc…)


E deixe o arquivo tftpd-hpa deste jeito…


# /etc/default/tftpd-hpa
&nbsp;
&nbsp;
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure -l"

Salva e pronto.


O servidor deve ter duas placas de rede, vamos usar aqui no exemplo a eth1 com ip 192.168.20.1 para o LTSP

Para isso vamos abrir o:
&nbsp;
# vi /etc/network/interfaces

E colocar a seguinte configuração na eth1 deste jeito.

&nbsp;
auto eth1
iface eth1 inet static
        address   192.168.20.1
        netmask   255.255.255.0
        network   192.168.20.0
        broadcast 192.168.20.255

depois executar…
# /etc/init.d/networking restart



Para ver como esta a configuração atual do LTSP
&nbsp;
# ltspcfg&nbsp;
tecle S e veja se tem tudo instalado




Maiores informações:

2.5. Exibindo a configuração atual
http://ltsp.mirrors.tds.net/pub/ltsp/docs/ltsp-4.1-ptbr.html#AEN641




Em # ltspcfg Tecle C (configure)&nbsp;
2.3. Configurando os serviços necessários ao LTSP
&nbsp;
http://ltsp.mirrors.tds.net/pub/ltsp/docs/ltsp-4.1-ptbr.html#AEN443


Vamos Configurar




1 – Runlevel&nbsp;
e mude o Runlevel para 5


2 – Interface selection&nbsp;
e escolha a interface/placa de rede que LTSP vai usar.&nbsp;
Vamos aqui usar a eth1 que antes já configuramos


3 – DHCP configuration&nbsp;
aqui criei o arquivo dhcpd.conf&nbsp;
Do you want to build a dhcpd.conf file (y/n) ? Y


em outro Terminal/Aba faça
# cp /etc/dhcpd.conf /etc/dhcp/dhcpd.conf



E agora edite o dhcpd.conf
&nbsp;
# vi /etc/dhcp/dhcpd.conf


e procure por:

&nbsp;
option domain-name            "your_domain.org";   # You really should fix this


e coloque o domínio da sua rede.&nbsp;
Sugestão usar “ltsp”

&nbsp;
option domain-name            "ltsp";   # You really should fix this


procure a linha – subnet 192.168.0.0 netmask 255.255.255.0

&nbsp;
&nbsp;subnet 192.168.0.0 netmask 255.255.255.0 {
 range 192.168.0.100 192.168.0.199;
 if substring (option vendor-class-identifier, 0, 9) = "PXEClient" {
 filename "/lts/2.6.16.1-ltsp-1/pxelinux.0";
 }
 else{
 filename "/lts/vmlinuz-2.6.16.1-ltsp-1";
 }
 }


Verifica se esta com o ip de sua rede configurada na eth1, e confirme que linha do filename inicie com /lts/…. (se tiver /tftpboot/lts – remova o /tftpboot – pois já tem no tftp-hpa configurado.)


Em um Terminal/Aba execute: ls /tftpboot/lts e veja o retorno.

&nbsp;
&nbsp;# ls /tftpboot/lts
 2.6.17.3-ltsp-1 vmlinuz-2.6.17.3-ltsp-1


No dhcpd.conf criado esta escrito a versão – 2.6.16.1-ltsp-1 – só que ltsp tem instalado a: 2.6.17.3-ltsp-1.

Mude para 2.6.17.3-ltsp-1.


Agora faça as mudanças no option domain-name, subnet e no filename -, o dhcpd.conf deve ficar assim.

&nbsp;
# dhcpd.conf

 ddns-update-style ad-hoc;

 option subnet-mask 255.255.255.0;
 option broadcast-address 192.168.20.255;
 option routers 192.168.20.1;
 option domain-name-servers 192.168.20.1;
 option domain-name "ltsp"; # You really should fix this
 option option-128 code 128 = string;
 option option-129 code 129 = text;

 get-lease-hostnames true;

 next-server 192.168.20.1;
 option root-path "192.168.20.1:/opt/ltsp/i386";

 subnet 192.168.20.0 netmask 255.255.255.0 {
 range 192.168.20.100 192.168.20.110;
 if substring (option vendor-class-identifier, 0, 9) = "PXEClient" {
 filename "/lts/2.6.17.3-ltsp-1/pxelinux.0";
 }
 else{
 filename "/lts/vmlinuz-2.6.17.3-ltsp-1";
 }
 }
#
# If you need to pass parameters on the kernel command line, you can
# do it with option-129. In order for Etherboot to look at option-129,
# you MUST have option-128 set to a specific value. The value is a
# special Etherboot signature of 'e4:45:74:68:00:00'.
#
# Add these two lines to the host entry that needs kernel parameters
#
# option option-128 e4:45:74:68:00:00; # NOT a mac address
# option option-129 "NIC=ne IO=0x300";
#


Complete de editar o dhcpd.conf e informe ao isc-dhcp-server em qual 
interface de rede vai responder/escutar os pedidos de conexão.
&nbsp;
# vi /etc/default/isc-dhcp-server

&nbsp;
# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
#       Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES="eth1"
No caso esta eth1 pois usaremos esta interface.

Feito tudo…execute.
&nbsp;

#/etc/init.d/isc-dhcp-server restart

&nbsp;
# /etc/init.d/isc-dhcp-server restart
Stopping ISC DHCP server: dhcpd failed!
Starting ISC DHCP server: dhcpd.
dhcp3 ligou corretamente.

Voltar ao Terminal/Aba que tem o Menu de Configure



4 – TFTP configuration&nbsp;
coloque **Y** (yes ) para ligar/enabled o TFTP

Esta parte foi feito no inicio do texto…vamos continuando a instalação….



5 – Portmapper configuration&nbsp;
coloque Y (yes) para ligar/enabled.



6 – NFS configuration&nbsp;
coloque Y (yes) para ligar/enabled.



7 – XDMCP configuration&nbsp;
Vamos editar o /etc/gdm3/daemon.conf
&nbsp;
# vi /etc/gdm3/daemon.conf

&nbsp;
# GDM configuration storage
#
# See /usr/share/gdm/gdm.schemas for a list of available options.
# Some settings can also be configured using the gdmsetup tool.

[daemon]
# AutomaticLoginEnable = false
# AutomaticLogin =

[security]
DisallowTCP=true

[xdmcp]
Enable=true
DisplaysPerHost=2
HonorIndirect=false
MaxPending=4
MaxSessions=16
MaxWait=30
MaxWaitIndirect=30
PingIntervalSeconds=60
Port=177

[greeter]

[chooser]
Multicast=false

[debug]
Enable=false
8 – Create /etc/hosts entries
9 – Create /etc/hosts.allow entries
10 – Create /etc/exports entries
11 – Create lts.conf file&nbsp;

Nesta 4 seleções coloque Y (yes) para que o ltspcfg criar as entradas de configurações em cada arquivo e crie o arquivo lts.conf&nbsp;
Abaixo vamos editar algumas configurações que ltspcfg criou.



8 – Create /etc/hosts entries&nbsp;
Se o arquivo #cat /etc/hosts – tiver como retorno um parecido com abaixo

&nbsp;
## LTSP-begin ##
#
# The lines between 'LTSP-begin' and 'LTSP-end' were added
# on: Qua Abr 18 23:55:07 2007, by the ltspcfg configuration tool.
# For more information, visit the LTSP homepage
# at http://www.LTSP.org
#

......
192.168.20.84           ws084.ltsp      ws084
192.168.20.85           ws085.ltsp      ws085
192.168.20.86           ws086.ltsp      ws086
192.168.20.87           ws087.ltsp      ws087
......


esta tudo ok


9 – Create /etc/hosts.allow entries&nbsp;
Edite o arquivo #nano /etc/hosts.allow

&nbsp;
bootpd:     0.0.0.0
in.tftpd:   192.168.20.0
portmap:    192.168.20.0

mude para ip que tu tem configurado no seu servidor. No caso aqui: 192.168.20.1

&nbsp;
bootpd:     0.0.0.0
in.tftpd:   192.168.20.1
portmap:    192.168.20.1

Salve e pronto.


10 – Create /etc/exports entries&nbsp;
Edite o arquivo #nano /etc/exports – mudando para o ip do servidor. 192.168.20.1 Deve ficar assim:

&nbsp;
## LTSP-begin ##
#
# The lines between 'LTSP-begin' and 'LTSP-end' were added
# on: Qua Abr 18 23:57:57 2007, by the ltspcfg configuration tool.
# For more information, visit the LTSP homepage
# at http://www.LTSP.org
#

/opt/ltsp     192.168.20.1/255.255.255.0(ro,no_root_squash,sync,no_subtree_check)
#/var/opt/ltsp/swapfiles 192.168.20.1/255.255.255.0(rw,no_root_squash,async,no_subtree_check)

## LTSP-end ##

Pronto….reinicie a maquina e faça os teste nos terminais.


Depois de reiniciar…vai em ltspcfg e veja o S Status (ou #ltspcfg -p) e veja como esta tudo sim em:&nbsp;

Instalado, Ligado e Rodando. Installed Enabled Running

&nbsp;
# ltspcfg -p
tput: unknown terminfo capability '-e'

ltspcfg - Version 0.16

Checking Runlevel....: 5
Checking Ethernet Interfaces
Checking Dhcpd.....
Checking Tftpd........
Checking Portmapper...
Checking nfs....
Checking xdmcp...........Found: none!
Checking /etc/hosts.
Checking /etc/hosts.allow.
Checking /etc/exports.
Checking lts.conf.

ltspcfg v0.16

Interface IP Address      Netmask         Network         Broadcast        Used 
eth0      10.0.0.102      255.255.255.0   10.0.0.0        255.255.255.255 
eth1      192.168.20.1    255.255.255.0   192.168.20.0    192.168.20.255  &lt;-----

Service    Installed   Enabled   Running   Notes                                
dhcpd      Yes         no        Yes       Version isc-dhcpd-4
tftpd      Yes         no        Yes       No '-s' flag
portmapper Yes         Yes       Yes       
nfs        Yes         no        Yes       
xdmcp      no          no        no           Using: none!

File                                Configured  Notes                           
/etc/hosts                          Yes         
/etc/hosts.allow                    Yes         
/etc/exports                        Yes         
/opt/ltsp/i386/etc/lts.conf         Yes         

Configured runlevel: 5         (value of initdefault in /etc/inittab)
   Current runlevel: 5         (output of the 'runlevel' command)

Installation dir...: /opt/ltsp
&nbsp;
&nbsp;
&nbsp;
Dúvida ou sugestões entre em contato.
&nbsp;
&nbsp;



Abraços,
Fábio Vieira
System and Network Admin Linux and Windows

E-mail: 
ensinalinux@gmail.com
Website: www.winlinuxtecnologia.com
Tel.: (41) 9893-8701&nbsp;