Main

ArchlinuxLtsp42

Para o funcionamento do LTSP, é preciso alguns programas.
# pacman -S dhcp tftp-hpa nfs-utils

Pra usar o ltsp-utils instalar bibliotecas do perl
# pacman -S perl-libwww

Vamos instalar o ltsp-utils, com ele instalamos e configuramos o LTSP 4.2.
http://ltsp.mirrors.tds.net/pub/ltsp/utils/ ou
https://www.idsorocaba.tk/ltsp/utils/
$ wget http://ltsp.mirrors.tds.net/pub/ltsp/utils/ltsp-utils-0.25-0.tgz
$ tar xvf ltsp-utils-0.25-0.tgz
$ cd ltsp-utils
$ su
# ./install.sh
Installing ltspadmin
Installing ltspcfg
Installing ltspinfo

Installation of ltsp-utils complete

No ArchLinux ltsp-utils não é oficial, por isso pegar o fonte para instalar. Tem um PKGBUILD no AUR mas esta com problemas.


Sobre Instalando a partir da .ISO
http://wiki.ltsp.org/twiki/bin/view/Ltsp/LTSP-42#Installing_from_the_LTSP_4_2u2_I
Obter a .iso
http://ltsp.mirrors.tds.net/pub/ltsp/isos/
ou
https://www.idsorocaba.tk/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:
file:///mnt/

na opção abaixo In which directory would you like to place the LTSP client tree?
[/opt/ltsp]

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

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:
#nano /etc/conf.d/tftpd
(pode usar seu editor preferido...vi, vim, pico, emacs e etc...)

E deixe o arquivo tftpd deste jeito...

#
# Parameters to be passed to TFTPD
#
TFTPD_ARGS="-l -s /tftpboot"

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:
#nano /etc/rc.conf
E colocar a seguinte configuração na eth1 deste jeito.

eth1="eth1 192.168.20.1 netmask 255.255.255.0 broadcast 192.168.20.255"

depois executar...
# /etc/rc.d/network restart

Para ver como esta a configuração atual do LTSP
#ltspcfg
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)
2.3. Configurando os serviços necessários ao LTSP
http://ltsp.mirrors.tds.net/pub/ltsp/docs/ltsp-4.1-ptbr.html#AEN443

Vamos Configurar

1 - Runlevel
e mude o Runlevel para 5

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

Os passos que dão mensagem de erro/problema:

  • 3 - DHCP configuration
  • 4 - TFTP configuration
  • 5 - Portmapper configuration
  • 6 - NFS configuration

Quando informar Y para ligar/colocar o Daemon para em automatico na hora do boot e der erro não se preocupe, contineu e vamos configurar, pois depois de que estiver configurado, somente tem que colocar no /etc/rc.conf que vão rodar ok na hora do boot.

DAEMONS=(syslog-ng dbus hal network netfs crond gdm dhcpd tftpd portmap nfslock nfsd) 

e deixar rodando.

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

em outro Terminal/Aba faça
#mv /etc/dhcpd.conf.sample /etc/dhcpd.conf

E agora edite o dhcpd.conf
#nano /etc/dhcpd.conf

e procure por:

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

e coloque o domínio da sua rede.
Sugestão usar "ltsp"

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

procure a linha - subnet 192.168.0.0 netmask 255.255.255.0

 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.

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

# 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.

Acrecente no topo do arquivo as linhas:

allow booting;
allow bootp;

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

# dhcpd.conf

allow booting;
allow bootp;

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";
#

Feito tudo...execute.
#/etc/rc.d/dhcpd restart

# /etc/rc.d/dhcpd restart
:: Stopping DHCP Server                                                  [DONE] 
:: Starting DHCP Server                                                  [DONE] 

dhcpd ligou corretamente.

Voltar ao Terminal/Aba que tem o Menu de Configure

4 - TFTP configuration
coloque **Y** (yes ) para ligar/enabled o TFTP

Em outro Terminal/Aba e crie o arquivo:
#nano /etc/xinetd.d/tftp
e coloque o conteudo

service tftp
{
	per_source = 11
	socket_type = dgram
	protocol = udp
	user = root
	server = /usr/sbin/in.tftpd
	server_args = -s /tftpboot
	wait = yes
	cps = 100 2
}

e deixe como esta acima.

Sobre criar o arquivo /etc/xinetd.d/tftp - veja: Using DHCP & XINETD

Bem continuando a instalação....

5 - Portmapper configuration
coloque Y (yes) para ligar/enabled.

6 - NFS configuration
coloque Y (yes) para ligar/enabled.

7 - XDMCP configuration
coloque Y (yes) para ligar/enabled.

Do you want to enable gdm (y/n) ? y

Desligar o login grafico no Servidor coloque N (no)

Do you want to disable the graphical login on the server (y/n) [N]? n

Veja que o padrão já não: [N]

8 - Create /etc/hosts entries
9 - Create /etc/hosts.allow entries
10 - Create /etc/exports entries
11 - Create lts.conf file
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
Abaixo vamos editar algumas configurações que ltspcfg criou.

8 - Create /etc/hosts entries
Se o arquivo #cat /etc/hosts - tiver como retorno um parecido com abaixo

## 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
Edite o arquivo #nano /etc/hosts.allow
Acrecente os Daemons que terminal tera que acessar e deixe tudo em ALL - para assim que qualquer um pode acessar.

nfsd:ALL
in.tftpd:ALL
portmap:ALL
mountd:ALL
gdm:ALL

# gdm - para poder o xdmcp atender os pedidos do terminal
# in.tftpd - para o terminal poder conectar e receber o sistema/arquivo
# portmap , mountd e nfsd para montar o sistema via nfs

Salve e pronto.
Informação sobre o que habilitar no hosts.allow ver:
Xdmcp - NFS - /etc/hosts.allow - NFS - /etc/hosts.allow - PT-BR
Se deseja liberar o serviço para uma determinada rede ou IP, veja links acima.

10 - Create /etc/exports entries
Edite o arquivo #nano /etc/exports - colocando no lugar dos ips somente * Deve ficar assim:

## 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                 *(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)

## 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: Instalado, Ligado e Rodando. Installed Enabled Running

# ltspcfg -p

ltspcfg - Version 0.16

Checking Runlevel....: 5
Checking Ethernet Interfaces
Checking Dhcpd.....
Checking Tftpd.......
Checking Portmapper...
Checking nfs....
Checking xdmcp............Found: gdm   Using: gdm
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.1.1.10       255.0.0.0       10.0.0.0        10.255.255.255  
eth1      192.168.20.1    255.255.255.0   192.168.20.0    192.168.20.255  <-----

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

File                                Configured  Notes                           
/etc/hosts                          Yes         
/etc/hosts.allow                    no          
/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

Veja que alguns Deamons não ficaram em Enabled como YES, não se preocupe com isso, somente confirme que estejam todos no /etc/rc.conf na linha dos DAEMONS=

Configuração baseada na: Instalação LTSP4.2 no Debian Lenny

Maiores Informações de Instalação no ArchLinux e exemplos de arquivo de configuração.
http://wiki.archlinux.org/index.php/Diskless_network_boot_NFS_root
http://wiki.archlinux.org/index.php/Nfs - Nfs-PT-BR
http://wiki.archlinux.org/index.php/Install_Arch_from_network_

Algumas infomações sobre configuração no lts.conf

Outra maneira de instalar e baixar o LTSP4.2 do mirror - http://ltsp.mirrors.tds.net/pub/ltsp/ltsp-4.2/ - com o ltsp-utils.
Caso tenho boa velocidade de internet pode fazer a instalação pegando do site.
Instalação LTSP4.2 no Debian Lenny - Via Internet/Rede - Creio que poderá fazer isso tranquilamente no ArchLinux....pois a unica mudança é que o Ambiente do LTSP será diferente, os restante da configuração será a mesma.