LTSP no Slackware

Esta contribuição está participando do sorteio da Mochila Targus Matrix. Envie seu texto e participe você também, você contribui com outros usuários e ainda pode faturar uma mochila novinha em folha para o seu laptop. Saiba mais sobre como participar.

Sobre o Autor:

Rodrigo Lilge Rosa
suxsys@gmail.com

Apresentação

LTSP é a sigla para Linux Terminal Server Project, um projeto criado por James McQuillan nos Estados Unidos e hoje é mantido por vários desenvolvedores ao redor do mundo. Atualmente é um grande sucesso no mundo todo, principalmente em países sub-desenvolvidos.

A idéia central do LTSP é reunir tudo que existe de bom para Linux e ser um servidor completo de terminais, com alto nível de gerenciamento. Com um servidor não muito grande (ex: 1500 MHz e 256 MB RAM), podemos ter, por exemplo, trinta 486s “pendurados”, rodando softwares de última geração.

Existem vários casos de sucesso de implementação de LTSP no Brasil. Inclusive muitos governos estão profundamente estudando essa alternativa. Podemos destacar aqui as prefeituras de São Paulo e Porto Alegre, que estão fazendo projetos pilotos de LTSP nos seus TeleCentros.

Instalação

A instalação citada nesse documento segue com base na documentacao oficial do progeto, sendo ela modificada para atender melhor ao sistema usado. A distribuição utilizada nesse modelo e o Slackware Linux 10.1 e a versão do LTSP e a 4.1, serão acresentados configurações extras, como dispositivos(CDROM e FLOPPY).

Nesse artigo nao irei explicar a instalação do slackware pois não e esse o objetivo. Iremos instalar a biblioteca LibWWW, pois por questões práticas não vem pré-configurada em nosso OS. O link da biblioteca para download é http://search.cpan.org/~gaas/libwww-perl-
5.803/lib/Bundle/LWP.pm
. Faça o download e salve em uma pasta qualquer, e mãos a obra:

bash-3.00$ tar -xvzf libwww-perl*.tar.gz
bash-3.00$ cd libwww-perl*/
bash-3.00$ perl -MCPAN -e ‘install Bundle::LWP’

As últimas partes do script de instalacao verificam de onde serao baixado os arquivos, escolha o continente e as mirros que preferir.

Obs: Siga todos os passos por default, apenas no seu continente, país e servidores escolhidos e que você deverá escolher a opção.

Tendo instalada sem nenhum problema, a saida será:

All tests successful.
Files=45, Tests=356, 3 wallclock secs
( 2.26 cusr + 0.26 csys = 2.52 CPU)
/usr/bin/make test — OK
Running make install
Already tried without success
bash-3.00$

Agora faça o download da ISO do progeto LTSP no seu proprio site. www.ltsp.org. Feito isso vamos instalar o LTSP. Primeiro devemos montar a ISO:

bash-3.00$ mkdir /mnt/ltsp
bash-3.00$ mount -o loop ltsp*.iso /mnt/ltsp

Copie o arquivo ltsp-utils*.tgz que se encontra dentro da pasta montada:

bash-3.00$ tar -xvzf ltsp-utils*.tgz
bash-3.00$ cd ltsp-utils*/
bash-3.00$ sh install.sh

Agora o instalaremos os pacotes:

bash-3.00$ ltspadmin

Escolha “Configure the installer options” e digite o caminho dos arquivos, no caso file:///mnt/ltsp, o resto tecle enter pois deve ser default. Selecione então “Install/Update”, clique em “A” para selecionar todos os pacotes e “Q” para finalizar e comecar a instalação. Veja se tudo correu bem, se não de uma olhada no erro e veja se seguiu todos os passos.

Configurando

Durantes os passos citados foi instalado um script de configuração e monitoramento do LTSP. Iremos utilizá-lo agora para configurar todos os serviços oferecidos por ele. Com o mesmo comando podemos também verificar o estado atual desses serviços.

bash-3.00$ ltspcfg
ltspcfg – Version 0.11
Checking Runlevel….: 4
Checking Ethernet Interfaces
Checking Dhcpd…..
Checking Tftpd…….
Checking Portmapper…
Checking nfs….
Checking xdmcp…..Found: xdm, gdm, kdm
Using: none!
Checking /etc/hosts.
Checking /etc/hosts.allow.
Checking /etc/exports.
Checking lts.conf.
Press to continue.
ltspcfg v0.11
S – Show the status of all services
C – Configure the services manually
Q – Quit

Make a selection:

Selecione a opção “C”, depois deverão aparecer as seguintes opções. Para mostrar o estado dos serviços a opção seria “S”.

1 – Runlevel
2 – Interface selection
3 – DHCP configuration
4 – TFTP configuration
5 – Portmapper configuration
6 – NFS configuration
7 – XDMCP configuration
8 – Create /etc/hosts entries
9 – Create /etc/hosts.allow entries
10 – Create /etc/exports entries
11 – Create lts.conf file
R – Return to previous menu
Q – Quit

Todas elas irão abrir uma tela com opções, esse script cria arquivos .conf de exemplo e não irei entrar em detalhes mostrando apenas o que deve colocar em cada opção. As configurações seguem o modelo “Menu de serviço = Opção correta”.

1 – Runlevel = 4
2 – Interface selection = Placa de rede do dhcpd (ex. eth1)
3 – DHCP configuration = Y , Y
4 – TFTP configuration = ENTER (default)
5 – Portmapper configuration = ENTER (defalt)
6 – NFS configuration = ENTER (default)
7 – Create /etc/hosts entries = Y
8 – Create /etc/hosts entries = Y
9 – Create /etc/hosts.allow entries = Y
10 – Create /etc/exports entries = Y
11 – Create lts.conf file = Y

Exemplos de Configuração

Aqui estão exemplos dos arquivos de configurações do LSTP.

DHCPD Local
Nesse exemplo o sistema de PXE está ativado, verifique se a placa de rede dos terminais tem PXE.

#/etc/dhcpd.conf
dns-update-style none;
default-lease-time 21600;
max-lease-time 21600;
option subnet-mask
255.255.255.0;
option broadcast-address
192.168.0.255;
option routers 192.168.0.1;
# Ip do servidor
option domain-name-servers 192.168.0.1;
# Dns principal
option domain-name “ltsp”;
#Nome que quiser 🙂
option root-path
“192.168.0.1:/opt/ltsp/i386”;
option option-128 code 128 = string;
option option-129 code 129 = text;
subnet 192.168.0.0 netmask 255.255.255.0 {
use-host-decl-names on;
option log-servers 192.168.0.1;
# Copie um modelo desse para cada
# terminal alterando os ips e o host.
host ws001 {
hardware ethernet 00:50:2C:A6:E7:96;
fixed-address 192.168.0.2;
filename “/lts/2.4.26-ltsp-2/pxelinux.0”;
option vendor-encapsulated-options
09:0f:80:00:0c:4e:65:74:77:6f:72:6b:20:62:
6f:6f:74:0a:07:00:50:72:6f:6d:70:74:06:01:
02:08:03:80:00:00:47:04:80:00:00:00:ff;
}
}

Lembre-se que a ativação do dhcpd não é automática, você devera escrever dentro de /etc/rc.d/rc.local o nome dhcpd, para que quando reiniciado o servidor já inicialize o DHCP.

LTS Local

Nesse exemplo os dispositivos floppy e cdrom já estão habilitados.

#/opt/ltsp/i386/etc/lts.conf
[Default]
SERVER = 192.168.0.1
XSERVER = auto
X_MOUSE_PROTOCOL = “PS/2”
X_MOUSE_DEVICE = “/dev/psaux”
X_MOUSE_RESOLUTION = 400
X_MOUSE_BUTTONS = 3
XkbModel = abnt2
XkbLayout = br
LOCAL_DEVICE_01 = /
dev/hdc:cdrom
LOCAL_DEVICE_02 = /
dev/fd0:floppy
USE_XFS = N
SCREEN_01 = startx

AUTO.MISC Local

#Arquivo para ativacao dos dispositivos.

#/etc/auto.misc
ws001cd -fstype=smbfs,
workgroup=LTSP, guest ://ws001/cdrom
ws001fl -fstype=smbfs,
workgroup=LTSP,fmask=666,dmask=777,guest,username=nobody,rw ://ws001/floppy

#AUTO.MASTER Local

#/etc/auto.master
/etc/auto.master /misc /etc/auto.misc –timeout=60

Tendo copiado esses arquivos para seus respectivos locais, você deverá reiniciar o servidor. Para ter certeza se tudo deu certo, digite ltspcfg e escolha a opção:

S – Show the status of all services

Ela deve estar conforme o apresentado no quadro abaixo. Por enquanto é só, e boa sorte
com a sua instalação de LTSP.

ltspcfg v0.11 The Linux Terminal Server Project
(http://www.LTSP.org)
Interface IP Address Netmask Network Broadcast Used
eth0 170.0.10.5 255.255.255.0 170.0.10.0 170.0.10.255
eth1 192.168.0.1 255.255.255.0 192.168.0.0 192.168.0.255 <----- Service Installed Enabled Running Notes dhcpd Yes no Yes Version 3 tftpd Yes Yes Yes Has '-s' flag portmapper Yes no Yes nfs Yes Yes Yes xdmcp Yes no Yes xdm, gdm, kdm Using:none! File Configured Notes /etc/hosts Yes /etc/hosts.allow Yes /etc/exports Yes /opt/ltsp/i386/etc/lts.conf Yes Configured runlevel: 4 (value of initdefault in /etc/inittab) Current runlevel: 4 (output of the 'runlevel' command) Installation dir...: /opt/ltsp Pronto, agora você tem um servidor de LTSP com suas funções básicas configuradas e funcionais.