Escolar Documentos
Profissional Documentos
Cultura Documentos
Manual do TCOS
para administradores
Traduzido em 17/04/2008 por Aécio Pires (http://aeciopires.rg3.net),
membro da comunidade TCOS Brasil (http://br.tcosproject.org).
página 1 de 39
Manual do TCOS para administradores
Licença de Uso
Este trabalho está licenciado sob uma Licença Creative Commons AtribuiçãoUso Não
Comercial 2.5 Brasil. Para ver uma cópia desta licença, visite
http://creativecommons.org/licenses/bync/2.5/br/ ou envie uma carta para Creative
Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA.
página 2 de 39
Manual do TCOS para administradores
Sobre o Autor
● Criador e mantenedor do TCOS (http://tcosproject.org).
Sobre o Coautor e Tradutor
● Graduando em Redes de Computadores pelo Instituto
Federal de Educação, Ciência e Tecnologia da Paraíba
– IFPB (http://www.ifpb.edu.br);
● Estagiário de Informática da Secretaria da Receita do
Estado da Paraíba – SERPB (http://receita.pb.gov.br)
● Tradutor do TCOS (http://tcosproject.org) para a língua portuguesa .
● Membro da TCOS Brasil (http://br.tcosproject.org): comunidade de usuários
brasileiros do TCOS.
página 3 de 39
Manual do TCOS para administradores
Sumário
1. Introdução.........................................................................................................................................5
2. TCOS................................................................................................................................................6
2.1. Características e diferenças com outros sistemas......................................................................8
2.2. Ferramentas TCOS..................................................................................................................12
3. Instalação do TCOS........................................................................................................................14
3.1. Configuração dos repositórios.................................................................................................14
3.2. Configuração do DHCP..........................................................................................................15
3.3. Configuração do TFTP............................................................................................................17
3.4. Servidores de fontes XFS e XFSTT........................................................................................19
3.5. Configurando o GDM.............................................................................................................20
3.6. Configurando o KDM.............................................................................................................21
3.6.1. Para o KDE versão 3........................................................................................................21
3.6.2. Para o KDE versão 4.......................................................................................................21
4. Gerando as imagens de inicialização..............................................................................................23
4.1. Como são geradas as imagens?...............................................................................................24
4.2. Processo de inicialização........................................................................................................25
4.3. Os possíveis problemas de inicialização e as soluções...........................................................28
5. TcosMonitor....................................................................................................................................37
página 4 de 39
Manual do TCOS para administradores
1. Introdução
Há lugares em que as redes de computadores são formadas por equipamentos de
última geração e, em alguns casos, são utilizados para realizar tarefas que requerem
pouco processamento, como por exemplo: editar documentos de texto, elaborar planilhas
eletrônicas e navegar na Internet. Para realizar essas mesmas tarefas poderiam ser
utilizados thin clients ou reaproveitar computadores obsoletos como clientes magros.
Uma rede de clientes magros possui baixo custo de instalação por permitir o uso de
computadores obsoletos ou thin clients[1], todos conectados a um servidor de alta
performance de processamento que compartilha o sistema operacional, aplicativos,
acesso a Internet, CDROM, impressora, armazenamento de arquivos, etc.
Uma das ferramentas que proporciona a implantação dessas redes é o TCOS –
Thin Client Operating System. Na próxima seção serão mostradas as características,
vantagens e desvantagens do TCOS, comparandoo com outras ferramentas. Na terceira
será mostrado como instalar e configurar o TCOS. Na quarta seção será exibida a
ferramenta TcosConfig usada na configuração e compilação da imagem do sistema
operacional dos clientes, além de explicar como acontece o processo de inicialização. Na
última seção será apresentada a ferramenta TcosMonitor usada para gerenciar e
monitorar os clientes magros.
página 5 de 39
Manual do TCOS para administradores
2. TCOS
1 GPL – General Public Licence é reponsável por informar as regras de uso de Software Livres. Para obter mais
informações acesse o site: http://www.gnu.org/licenses/gpl2.0.html
2 O Debian é uma distribuição GNU/Linux muito utilizada em servidores. Para mais obter informações acesse o site
http://debian.org
3 Ubuntu é uma distribuição GNU/Linux muita utilizada em desktop, mas também possui uma versão para servidor.
Mais informações podem ser obtidas no site http://www.ubuntu.com
4 Max 4.0 é desenvolvida pela comunidade de MadridES, baseada no Ubuntu Hardy Heron 8.04 e com foco na
educação. Para obter mais informações acesse o site www.educa.madrid.org/web/madrid_linux/
5 Guadalinex é uma distribuição GNU/Linux desenvolvida pela comunidade de AndaluciaES. Para obter mais
informações acesse o site http://www.guadalinex.org/
6 Lliurex é desenvolvida pela comunidade de ValenciaES. Para obter mais informações acesse o site:
http://lliurex.net
7 Mais informações sobre os thin clients podem ser encontradas no site http://pt.wikipedia.org/wiki/Thin_client
página 6 de 39
Manual do TCOS para administradores
Figura 1: Estrutura lógica de uma rede TCOS.
Como pode ser visto na figura 1, o servidor TCOS Server possui uma interface de
rede conectada a Internet e outra ao switch, no qual também estão conectados todos os
clientes magros.
Teoricamente os requisitos mínimos do hardware dos clientes são:
● procesador Pentium II ou outro compatível com clock de, pelo menos, 300 a 350
Mhz;
● 64 MB de memória RAM;
● interface de rede com taxa de transferência de, pelo menos, 10 Mbps e com
suporte ao protocolo PXE8. No entanto, recomendase o uso de uma interface de
rede que trabalhe a 100 Mbps.
● placa gráfica, monitor, teclado e mouse.
Os clientes magros não necessitam de um disco rígido para serem inicializados,
8 PXE – Preboot Execution Environment é um protocolo desenvolvido pela Intel e que é utilizado na inicialização de
computadores via rede. Para mais informações acesse o site http://www.guiadohardware.net/termos/pxe
página 7 de 39
Manual do TCOS para administradores
pois o protocolo PXE permite que eles obtenham a imagem do sistema operacional via
rede.
É possível inicializar os clientes magros usando os seguintes métodos:
● disquete Etherboot ou gPXE9 => contém um pequeno software usado para
substituir os PXE Roms proprietários.
● CDROM => inicializa os clientes magros com a imagem do sistema operacional
criada pelo utilitário gentcos;
● disco rígido formatado para conter a imagem do disquete Etherboot ou três
arquivos de inicialização do TCOS (esse último possui um suporte maior).
Num ambiente de rede como o que foi mostrado na figura 1, a maior parte do
processamento dos dados é centralizado no servidor e de forma transparente ao usuário.
Ou seja, o usuário pensa que está usando os recursos do cliente magro, quando na
verdade está usando os do servidor, que após o processar as informações enviará os
resultados para serem visualizados na tela do cliente.
Para uma rede de 20 a 30 clientes, os requisitos aproximados do servidor são:
● processador Dual ou Quad (Core2Duo, Xeon, Dual Xeon);
● 500 MB de memória RAM, acrescida de 100 a 150 MB por cliente magro;
● duas interfaces de rede com taxa de transferência de 10/100/1000 Mbps. No
entanto, recomendase o uso de uma interface de rede que trabalhe, pelo menos, a
100 Mbps.
● discos rígidos rápidos, usando RAID 1 para obter uma maior segurança no
armazenamento dos dados.
A função do TCOS é integrar os clientes magros ao servidor, gerar a imagem do
sistema operacional, fornecer informações sobre o uso de cada cliente e das atividades
dos usuários para que o administrador da rede possa gerenciálos de forma simples e
eficiente.
2.1. Características e diferenças com outros sistemas
Além do TCOS existem outras soluções baseadas no GNU/Linux para os clientes
9 gPXE é o sucessor do projeto Etherboot. Para obter mais informações acesse o site www.etherboot.org
página 8 de 39
Manual do TCOS para administradores
magros, tais como: LTSP10(Linux Terminal Server Project), PXES11, X2go12, ThinStation13,
etc...
Antes de compararmos com outros projetos conheça as características e vantagens
do TCOS:
● pode ser utilizado em uma rede de computadores obsoletos com 32 a 64 MB de
memória RAM;
● suporte a múltiplos clientes conectados, simultaneamente, ao mesmo servidor;
● uso de dispositivos removíveis nos clientes, como: CDROM, pendrive e etc;
● controle remoto do volume de som emitido pelos clientes;
● configuração automática da sessão gráfica do usuário;
● detecção e configuração automática do hardware dos clientes;
● redução do custo de propriedade da rede e reaproveitamento dos recursos
disponíveis no servidor. O custo de propriedade da rede envolve aquisição e
manutenção dos equipamentos, licença de uso dos softwares, consumo de energia
elétrica, etc;
● gerenciamento e monitoramento centralizado dos clientes e usuários através das
aplicações TcosMonitor e TcosPHPMonitor;
● flexibilidade. Se houver alguma falha no hardware de um cliente, basta pedir ao
usuário para iniciar uma nova sessão gráfica a partir de outro. Assim não haverá
perda das informações, pois elas estão centralizadas no servidor;
● alta escalabilidade. Para aumentar o número de clientes na rede, basta aumentar a
capacidade de processamento e a quantidade de memória RAM do servidor;
● é possível personalizar uma sessão gráfica para cada usuário liberando ou
restringindo o acesso a determinados recursos e aplicações do servidor;
● a configuração e compilação da imagem do sistema operacional dos clientes pode
ser feita usando a aplicação gráfica TcosConfig. Esse processo é muito flexível,
pois permite adaptar o sistema ao perfil de hardware de cada cliente;
10 LTSP – Linux Terminal Server Project é um projeto criado pelo americano Jim McQuilan. Para mais informações
acesse o site http://www.ltsp.org/
11 PXES Universal Linux Thin Client é um projeto de Software Livre da COD Technologies Ltd para uso em thin
clients. Para obter mais informações acesse o site http://pxes.org/
12 X2go é um projeto para uso em clientes magros. Para obter mais informações acesse o site http://www.x2go.org
13 Thinstation é um pequeno sistema operacional para thin clients com suporte aos protocolos: Citrix ICA,
NoMachine NX, 2X ThinClient, Microsoft Windows terminal services (RDP), Cendio ThinLinc, Tarantella, X,
telnet, tn5250, VMS terminal e SSH. Para obter mais informações acesse o site http://www.thinstation.org/
página 9 de 39
Manual do TCOS para administradores
Ao compararmos o TCOS com o LTSP versão 5, uma das alternativas mais usadas,
teremos os seguintes resultados:
● no LTSP 5 os clientes usam NFS14 (Network File System) para obter o sistema de
arquivos raíz (opcionalmente podem usar squashfs sobre NBD15 Network Block
Device). No TCOS, os clientes obtém a imagem squashfs usando os protocolos
TFTP (Trivial File Transfer Protocol), HTTP (Hipertext Transfer Protocol) ou NFS,
mas quando o cliente possui mais do que 38 MB de memória RAM não é
necessário utilizar NFS, o que diminui o consumo de memória;
● para os clientes com menos de 38 MB de memória RAM, TCOS inicializaos da
mesma maneira que o LTSP 5, usando o NFS. Mas sem usar o ambiente chroot
completo, ou seja, sem usar a cópia completa do sistema operacional, apenas os
arquivos necessários;
● se o servidor LTSP 5 falhar ou perder conectividade, todos os clientes sofrerão um
kernel panic e precisarão ser reinicializados. Com o TCOS, eles apenas tem de
esperar o servidor voltar a funcionar normalmente;
● o sistema de acesso aos dispositivos removíveis utilizado por ambos os projetos é
o LTSPFS (filesystem sobre Xorg + o módulo de kernel chamado FUSE). No TCOS
houve uma melhoria no uso desses dispositivos com a aplicação gráfica
TcosDevicesNG. No LTSP 5 esses dispositivos são montados de forma
automática e a desmontagem é complicada, mas no TCOS essas operações são
realizadas de forma muito simples;
● LTSP 5 utiliza, por padrão, o diretório /media do servidor como ponto de
montagem dos dispositivos removíveis dos usuários. Enquanto que o TCOS usa
um diretório do sistema do cliente magro de cada usuário. Dessa forma nenhum
outro usuário pode acessar diretamente o conteúdo desses dispositivos nem
mesmo o usuário root do servidor;
● LTSP 5 só tem suporte a disquetes, memórias USB e CDROM de dados. O TCOS,
além desses dispositivos tem suporte a partições do disco rígido (incluindo o
sistema de arquivos NTFS, CDROM USB, discos firewire16, CD de aúdio, etc;
● no LTSP 5 é necessário ter uma conexão com a Internet, um repositório local ou
um CDROM/DVDROM com os pacotes para criar a imagem de inicialização dos
clientes. TCOS utiliza os binários disponíveis no servidor. No LTSP5 esse processo
demora mais de 15 minutos, no TCOS apenas 15 segundos;
14 NFS – Network File System um protocolo desenvolvido inicialmente pela Sun Microsystens. Para obter mais
informações acesse o site http://en.wikipedia.org/wiki/Network_File_System_(protocol)
15 NBD – Network Block Device. Acesse o site http://nbd.sourceforge.net/ para obter mais informações.
16 Firewire pode ser considerada uma tecnologia sucessora da quase obsoleta interface paralela SCSI. Para obter mais
informações acesse o site http://pt.wikipedia.org/wiki/FireWire
página 10 de 39
Manual do TCOS para administradores
● LTSP 5 não permite personalizar a imagem de inicialização dos clientes. Com o
TCOS é possível personalizála e escolher o que será removido ou incluído.
● LTSP 5 tem uma ferramenta muito simples para administrar os clientes chamada
Thin Client Manager17 e outra para configurálos, a LTSPManager18. TCOS
possui a ferramenta TcosPersonalize, para configurar os clientes;
TcosMonitor e TcosPHPMonitor, para gerenciálos. O TcosMonitor
também consegue gerenciar os computadores do tipo desktops, desde que
possuam instalada a aplicação cliente tcosstandalone;
● o LTSP 5 demorou dois anos para utilizar o PulseAudio, um sistema de som
melhorado à rede. TCOS utilizouo desde o início, o que significa que se aposta
mais no avanço de projetos pequenos;
● LTSP 5 só permite conexões gráficas entre os clientes e o servidor usando o
XDMCP (X Display Manager Control Protocol). Além desse protocolo, o TCOS
utiliza: o rDesktop19 (para Windows Terminal Server), FreeNX20, SSH+X e o XRDP21;
● TCOS usa o XMLRPC22 entre o servidor e os clientes para trocar informações,
tornando mais fácil o desenvolvimento de pequenos programas ou plugins para
fazer tarefas simples. O pamusbtcos, que será visto na próxima seção, é um
exemplo desses plugins;
● TCOS possui uma pequena aplicação para controlar o nível dos canais de aúdio
dos clientes (através do XMLRPC). No LTSP5 podese modificar apenas os canais
Mestre e PCM;
● A configuração do servidor LTSP 5 é feita através da edição manual de arquivos de
configuração. Além desse método o servidor TCOS pode ser configurado usado a
aplicação gráfica TcosConfigurator, tornando esse processo rápido e fácil.
● LTSP 5 não tem uma aplicação gráfica para configurar e compilar as imagens dos
clientes. TCOS possui o TcosConfig.
Por outro lado, o LTSP é um projeto que existe a mais tempo, sendo bem mais
conhecido e utilizado. O LTSP também possui versões para outras distribuições
17 Thin Client Manager é uma ferramenta desenvolvida pelo projeto Bayanihan Linux. Para obter mais informações
acesse o site http://thinclient.bayanihan.gov.ph/downloads.html
18LTSPManager é uma ferramenta grafica desenvolvida pela comunidade de programadores do projeto LTSP e do
sistema operacional GNU/Linux Ubuntu para configurar os clientes LTSP de forma bastante simples e intuitiva para o
usuário. Para obter mais informações acesse o site http://wiki.edubuntu.org/LTSPManager
19 rDesktop => http://www.rdesktop.org/
20 FreeNX => http://freenx.berlios.de/
21 XRDP => http://xrdp.sourceforge.net/
22 XMLRPC é um protocolo de chamada de procedimento remoto codificado em XML. Para obter mais informações
acesse o site http://www.xmlrpc.com/
página 11 de 39
Manual do TCOS para administradores
2.2. Ferramentas TCOS.
A seguir serão apresentadas as ferramentas TCOS:
● gentcos => um arquivo de shell script usado para compilar as imagens de
inicialização para o TCOS a partir das configurações personalizadas pelo
administrador;
● tcosconfig => usada para criar e personalizar os arquivos de inicialização dos
clientes. Desenvolvida em Python23 e GTK224, ela é uma interface gráfica para o
gentcos;
● tcosmonitor => utilizada para gerenciar os clientes magros e desktops, desde que
tenham instalado a aplicação cliente tcosstandalone.
página 12 de 39
Manual do TCOS para administradores
● tcospersonalize => permite configurar algumas características dos clientes, tais
como: a resolução da tela, os drivers de vídeo, módulos de kernel, entre outros.
Leia a página de manual (man tcospersonalize) para obter mais detalhes.
● tcosdeviceng => utilizada para montar/desmontar automaticamente o CDROM,
disco rígido, dispositivos USB, entre outros dispositivos conectados nos clientes.
Para obter mais informações acesse o site:
http://wiki.tcosproject.org/Utils/TcosDevices ou leia a página de manual (man
tcosdevicesng).
● pamusbtcos => um utilitário gráfico que associa o uso de um dispositivo USB a
um ou mais usuários. Ele evita que o usuário digite a senha para montar ou
desmontar o dispositivo todas as vezes em que ele for conectado ou desconectado
nos clientes. A seguinte funcionalidade ainda não implementada será permitir o uso
das sessões itinerantes.
26 PHP é uma linguagem de programação que permite criar sistemas Web. Para obter mais informações acesse o site:
http://br.php.net
página 13 de 39
Manual do TCOS para administradores
3. Instalação do TCOS.
Para instalar o TCOS devemos optar por uma distribuição GNU/Linux derivada da
Debian ou Ubuntu. Para esta aula usaremos a Debian Lenny 5.0, aproveitando seu
recente lançamento.
3.1. Configuração dos repositórios.
Acesse o console de comandos do sistema e obtenha as permissões do usuário
root (administrador do sistema) com o comando abaixo:
$ sudo su
Lembrete: Por convenção, neste tutorial o símbolo “$”, mostrado no início da linha de
comando, indicará o prompt de um usuário comum no sistema. O símbolo “#” significará o
prompt de comandos do usuário root. Exceto quando inserido dentro de um arquivo, pois
indicará um simples comentário para auxiliar na leitura do conteúdo.
Use um editor de texto de sua preferência e adicione ao fim do arquivo /etc/apt/
sources.list o seguinte conteúdo:
deb http://www.tcosproject.org lenny main experimental
Devemos importar a chave GPG do repositório. Há várias formas de fazer isso,
mas a mais fácil é instalando o pacote tcoskeyring com os seguintes comandos:
# aptget update
# aptget install tcoskeyring
Aceitaremos o aviso de que este pacote não é seguro e em seguida devemos
executar o comando:
# aptget update
Os pacotes TCOS estão divididos modularmente para que possam adaptaremse a
qualquer caso (para mais informações veja a tabela das versões dos pacotes disponíveisl
em http://tcosproject.org/versions.php):
● tcos => um metapacote que instala as dependências necessárias à configuração
de um servidor de clientes magros;
página 14 de 39
Manual do TCOS para administradores
● tcoscore => binários (independentes da arquitetura) com alguns utilitários que se
executam no cliente magro;
● initramfstoolstcos => conjunto de scripts para compilação das imagens de
inicialização (logo veremos quais são) incluindo o script gentcos;
● tcosstandalone => pacote para ser instalado nos clientes autonômos e podermos
gerencilálos a partir do TcosMonitor tal como é feito com os clientes magros;
● tcosconfig => interface gráfica (frontend) do script de compilação das imagens dos
clientes gentcos;
● tcosmonitor => painel de administração dos clientes para o
professor/administrador da rede;
● tcosusplash e tcossplashy => temas gráficos para a inicialização dos clientes;
● tcosextramodules2.6.xxxxx => módulos para cada kernel, no caso da Debian:
unionfs, aufs, squashfs, cdfs, sis7019....
● ltspfsserver e ltspfsclient => parte do cliente e servidor que permite o acesso
aos dispositivos remotos;
● etherboottcos => arquivos para criação das imagens universais de inicialização
dos clientes;
● tcosconfigurator => ferramenta que permite configurar o servidor TCOS em
quatro passos fáceis.
Como o metapacote tcos instala todas as dependências necessárias simplesmente
o instalamos:
# aptget install tcos
Depois que terminar a instalação devemos configurar vários serviços:
3.2. Configuração do DHCP
página 15 de 39
Manual do TCOS para administradores
No exemplo acima, eth1 é a interface de rede que estará conectada aos clientes.
Para configurar o DHCP edite o arquivo /etc/dhcp3/dhcpd.conf. Um exemplo
de configuração deste servidor pode ser:
# /etc/dhcp3/dhcpd.conf
allow bootp;
ddnsupdatestyle adhoc;
authoritative;
option subnetmask 255.255.255.0;
option broadcastaddress 10.0.0.255;
option routers 10.0.0.254;
option domainnameservers 10.0.0.254;
option domainname "tcos.local";
option option128 code 128 = string;
option option129 code 129 = text;
getleasehostnames true;
nextserver 10.0.0.254;
sharednetwork WORKSTATIONS {
subnet 10.0.0.0 netmask 255.255.255.0 {
range dynamicbootp 10.0.0.1 10.0.0.253;
filename "/tcos/pxelinux.0";
}
}
página 16 de 39
Manual do TCOS para administradores
Para este caso necessitamos configurar nosso servidor para fazer NAT (Network
Address Translation) na rede. Para isso crie o script nattcos.sh dentro do diretório
/usr/local/sbin e adicione o seguinte conteúdo:
#!/bin/bash
if [ "$1" = "on" ]; then
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables F
iptables t nat F
iptables table nat append POSTROUTING \
outinterface eth0 j MASQUERADE
iptables append FORWARD ininterface eth1 j ACCEPT
elif [ "$1" = "off" ]; then
iptables F
iptables t nat F
else
echo "Uso: $0 [on|off]"
fi
Depois disso dê permissão de execução ao script.
chmod +x /usr/local/sbin/nattcos.sh
Em seguida faremos com que esse script seja executado na inicialização do
sistema operacional do servidor editando o arquivo /etc/rc.local e adicionando a
seguinte conteúdo antes da linha exit 0:
bash /usr/local/sbin/nattcos.sh on
Para que o servidor DHCP entregue os nomes de máquina ou hostnames devemos
editar o arquivo /etc/hosts indicando os pares IP <=> nome da seguinte forma:
10.0.0.1 equipo01
10.0.0.2 equipo02
....
10.0.0.253 equipo253
3.3. Configuração do TFTP
O TCOS instala por padrão o servidor Atftpd, que nas versões mais recentes do
Debian e Ubuntu tem como diretório raiz o /var/lib/tftpboot.
página 17 de 39
Manual do TCOS para administradores
Deve aparecer algo como:
tcos > /var/lib/tcos/tftp
USE_INETD=false
OPTIONS="daemon port 69 tftpdtimeout 300 retrytimeout 10
logfile /var/log/atftpd.log mcastport 1758 mcastaddr
10.0.0.0255 mcastttl 1 maxthread 100 verbose=5
/var/lib/tcos/tftp"
Essa é a configuração básica do Atftpd, que irá usar a porta 69, especificada na
opção port, para receber/enviar pacotes do tipo UDP (User Datagram Protocol) aos
terminais. Na opção logfile deve ser especificado o arquivo no qual serão
registrados os logs do serviço (esse arquivo já deve existir, se não existir crieo com o
comando:
#touch /var/log/atftpd.log
#/etc/init.d/atftpd restart
página 18 de 39
Manual do TCOS para administradores
Depois disso reinicie o servidor, para que o serviço inetd possa carregar as novas
configurações.
3.4. Servidores de fontes XFS e XFSTT.
Anteriormente o TCOS dependendia fortermente do servidor de fontes, mas a partir
das versões recentes esse serviço se tornou opcional. Os servidores de fontes escutam
as requisições dos clientes nas portas 7100 e 7101/TCP, dessa forma os clientes
conseguem ter as fontes tipográficas instaladas.
Para configurar o XFS é necessário editar o arquivo /etc/X11/fs/config e
comentar a seguinte linha:
Antes:
nolisten = tcp
Depois:
#nolisten = tcp
Agora reiniciamos o serviço:
# /etc/init.d/xfs restart
A configuração do segundo servidor de fontes (XFSTT) é semelhante. Editamos o
arquivo /etc/default/xfstt e configuramos:
Antes:
# LISTEN_TCP="yes"
Depois:
LISTEN_TCP="yes"
página 19 de 39
Manual do TCOS para administradores
portno=7101
newuser=nobody
portarg="port $portno"
userarg="user $newuser"
Agora reiniciamos o serviço:
# /etc/init.d/xfstt restart
Para verificar se os dois serviços estão funcionando corretamente executamos o
comando:
# netstat tapun | grep 710
tcp 0 0 0.0.0.0:7100 0.0.0.0:* LISTEN 6407/xfs
tcp 0 0 0.0.0.0:7101 0.0.0.0:* LISTEN 6425/xfstt
tcp6 0 0 :::7100 :::* LISTEN 6407/xfs
tcp6 0 0 :::7101 :::* LISTEN 6425/xfstt
Os dois serviços são executados pelo usuário nobody, mas devemos protegêlos
para que só sejam acessíveis a partir da interface eth1.
3.5. Configurando o GDM
No gerente de login do GNOME é necessário ativar o login remoto e opcionalmente
o modo kiosko, este seria um extra do arquivo /etc/gdm/gdm.conf.
Para configurálo edite o arquivo /etc/gdm/gdm.conf e nas sessões: daemon,
security e xdmcp, modifique as opções abaixo, de modo que tenham os seguintes
valores em negrito:
[daemon]
TimedLoginEnable=true
TimedLogin=/usr/sbin/tcosgdmautologin|
TimedLoginDelay=10
[security]
AllowRemoteAutoLogin=true
DisallowTCP=false
página 20 de 39
Manual do TCOS para administradores
[xdmcp]
Enable=true
Esta configuração também pode ser feita automaticamente usando o script tcos
gdmautologin com a opção configure, como mostra o comando a seguir:
# tcosgdmautologin configure
Depois de editar o arquivo /etc/gdm/gdm.conf reinicie o GDM com o comando
a seguir:
# /etc/init.d/gdm restart
3.6. Configurando o KDM
Caso esteja utilizando o KDE, outro gerenciador de janelas, é necessário configurar
o KDE Display Manager – KDM, o gerenciador de login usado pelo KDE. A configuração
pode ser feita da seguinte maneira:
3.6.1. Para o KDE versão 3
#* #any host can get a login window
E na linha:
#* CHOOSER BROADCAST #any host indirect host can get a chooser
Enable=false
Por:
Enable=true
Depois de editálos reinicie o KDM com o comando a seguir:
página 21 de 39
Manual do TCOS para administradores
# /etc/init.d/kdm restart
3.6.2. Para o KDE versão 4
#* #any host can get a login window
E:
#* CHOOSER BROADCAST #any host indirect host can get a chooser
Enable=false
Por:
Enable=true
Depois de editálos reinicie o KDM com o comando a seguir:
# /etc/init.d/kdmkde4 restart
página 22 de 39
Manual do TCOS para administradores
4. Gerando as imagens de inicialização.
As imagens de inicialização dos clientes podem ser geradas a partir do console de
comandos, com o script gentcos, ou usando o assistente gráfico TcosConfig. Na
figura 2 é exibida a tela inicial do TcosConfig.
Figura 2: Tela de inicial do TcosConfig.
Esse assistente se baseia em modelos e nas modificações das variáveis sobre
cada modelo. Os modelos disponíveis são:
● tcosconfig.conf: utiliza todos os parâmetros indicados pelo administrador ao longo
do processo de configuração do kernel. Permite uma configuração bastante flexível.
página 23 de 39
Manual do TCOS para administradores
● base.conf: template básico de configuração.
Esses modelos ficam inicialmente no diretório /usr/share/initramfstools
tcos/templates/. O modelo selecionado será armazenado em
/etc/tcos/templates para ser usado pelo TCOS.
4.1. Como são geradas as imagens?
Figura 3: Esquema da geração da imagem do sistema dos clientes TCOS.
página 24 de 39
Manual do TCOS para administradores
4.2. Processo de inicialização
O método de inicialização via rede é o mais usado, por isso é necessário entender
como ele funciona. A figura 4 mostra as etapas da inicialização de um cliente TCOS.
Figura 4: Etapas do inicialização de um cliente TCOS.
Ao ser inicializado, o cliente passa instruções de várias maneiras a interface de
página 25 de 39
Manual do TCOS para administradores
rede para fazer requisições ao servidor DHCP em questão (lembram do conteúdo das
variáveis nextserver e filename do arquivo dhcpd.conf?).
Temos várias formas de inicializar o cliente via rede:
● quando a interface de rede suporta nativamente o protocolo PXE, simplesmente
configuramos esse dispositivo na BIOS (Basic Input Output System) para ser o
primeiro da ordem de inicialização do cliente;
● Quando a interface de rede não suporta o protocolo PXE, devemos ajudála
usando um disquete:
No servidor introduzimos um disquete vazio e executamos o comando:
# maketcosfloppy
# etherbootinstaller.sh
Isto formatará o disco rígido do cliente, criando duas partições: uma para a SWAP
(memória virtual com o dobro do tamanho da memória RAM) e outra com o sistema de
arquivos FAT32, usando o restante do espaço do disco e a imagem gravada no disquete.
Uma vez que o servidor tenha respondido a requisição DHCP, o cliente se conecta
a ele, usando o protocolo TFTP (ou outros protocolos já mencionados na seção 2), para
obter em primeiro lugar os arquivos vmlinuz e initramfs. Após descompactálos
na memória RAM, o cliente envia a segunda requisição DHCP para obter as
configurações da interface de rede (endereço IP, máscara de subrede, IP do gateway, do
servidor DNS, etc), escaneia o disco rígido em busca da partição SWAP, obtém o arquivo
squashfs, montao na memória e executa alguns serviços e deamons. Esse processo é
mostrado na figura 5.
página 26 de 39
Manual do TCOS para administradores
Figura 5: Detalhes da inicialização de um cliente TCOS.
As imagens de inicialização executam em ordem os seguintes scripts TCOS:
● tcostop => configura a rede e se necessário carrega o sistema via NFS;
● tcospremount => obtém o arquivo squashfs e monta o NFS ou criar o ambiente
chroot;
● tcosboton => inicializa os serviços e se conecta ao GDM do servidor.
Esse processo é mostrado na figura 6.
página 27 de 39
Manual do TCOS para administradores
Figura 6: Inicialização detalhada de um cliente TCOS.
Outra coisa que diferencia o TCOS dos outros sistemas é que não deixam o
initramfs, incluindo o Xorg executar a partir de um minisistema operacional na
memória.
4.3. Os possíveis problemas de inicialização e as soluções
a) O cliente não consegue IP depois de iniciar o disquete
Possíveis problemas: defeito no cabo de rede, na interface de rede ou no servidor
DHCP.
página 28 de 39
Manual do TCOS para administradores
Possíveis soluções:
● verifique se o cabo de rede está funcionando corretamente e se há enlace
(observando se os leds acendem) tanto no cliente quanto no swicth. Observe
também o cabo que liga o servidor ao swicth;
● verifique também se a interface de rede está funcionando corretamente, enviando
Pings de um cliente a outro;
● leia os logs do servidor DHCP para ver o que foi informado sobre a requisição.
Para isso execute no servidor o comando:
# tail f /var/log/syslog
página 29 de 39
Manual do TCOS para administradores
definido no arquivo /etc/hosts.
Para resolver esse problema use o o script tcosgdmautologin, com a opção
add, para adicionar os IP's dos clientes de forma automática. O script irá editar os
arquivos /etc/hosts e /etc/dhcp3/dhcpd.conf associando os respectivos
endereços IP aos nomes de host de cada terminais da rede.
Por exemplo: Para a nossa rede 10.0.0 com apenas três terminais a configuração
será a seguinte:
# tcosgdmautologin add
Please input the common prefix of hosts/users (example host):
nome_do_host
Need network IP Address of thin clients (example 192.168.0):
10.0.0
Number of host/users to generate (number): 3
Start generating from (default 1): 101
I will generate users and hostnames from "host1" to "host3"
with ip adresses from 10.0.0.101 to 10.0.0.103
and uncompress "/root/skel.tar.gz" as HOME_TEMPLATE
Are you sure you want this? [y/n] y
OBS.: Os termos em negrito são os parâmetros de configuração que deverão ser
informados de acordo com a sua rede.
/etc/hosts
10.0.0.101 nome_do_host1
10.0.0.102 nome_do_host2
10.0.0.103 nome_do_host3
/etc/dhcp3/dhcpd.conf
host host1 {
hardware ethernet 00:04:xx:xx:xx:xx;
fixedaddress 10.0.0.101;
}
host nome_do_host2 {
hardware ethernet 00:04:xx:xx:xx:xx;
fixedaddress 10.0.0.102;
}
host nome_do_host3 {
hardware ethernet 00:04:xx:xx:xx:xx;
fixedaddress 10.0.0.103;
página 30 de 39
Manual do TCOS para administradores
}
Observe que após a execução do script acima são criadas contas no sistema
associadas a nome de cada terminal.
b) O cliente inicializa, mas quando chega na sessão gráfica aparece apenas um
tela cinza com o cursor do mouse
em forma de X.
Isso acontece porque há problemas na conexão com o GDM ou há excesso de
conexões no enlace da rede:
Para corrigir esse problema configure o GDM para aumentar o número de
conexões editando o arquivo /etc/gdm/gdm.conf. Por padrão são 16 conexões
simultâneas, mas vamos aumentar para 50, por exemplo:
[xdmcp]
Enable=true
MaxSession=40
MaxPending=60
MaxPendingIndirect=30
MaxWait=75
MaxWaitIndirect=80
DisplayperHost=4
PingIntervalSeconds=35
DisplaysPerHost=4
MaxSessions=50
As vezes o GDM fica instável se a conexão com o servidor DNS não estiver
correta, não acessála ou não houver nenhuma ligação na interface de rede eth0, para de
detectar o PID do processo do GDM e "straceálo".
# ps aux|grep gdm
root 1417 0.0 0.0 16076 2556 ? S 21:09 0:00
/usr/sbin/gdm
TEREMOS COMO PID 1417
# strace p 1417
ISTO NOS DARÁ ALGUMA PISTA DO QUE ESTÁ ACONTECENDO
página 31 de 39
Manual do TCOS para administradores
Uma das adições ao servidor para melhorar o desempenho do GDM é ter um
servidor DNS local. É recondável usa o bind9 ou pdnsd. O primeiro é capaz de ler o
arquivo /etc/hosts e resolver os nomes computador em IP (viceversa), utilizando
chamadas DNS.
c) O cliente faz o download do sistema via rede, mas não exibe a sessão gráfica
ou pisca indefinidamente
Problemas com a placa gráfica. Algumas placa gráficas Intel são incompatíveis
com o driver VESA, TCOS inclui alguns hacks para ativar estas placas gráficas durante o
uso do TcosConfig.
O teclado ou mouse estão com defeito ou usam drivers incorretos. TCOS suporta
mouses PS2, serial ou USB óticos ou não. Se o mouse não for detectado, o Xorg não é
carregado.
Qualquer um desses problemas podem ser verificados no log registrado no arquivo
/var/log/Xorg.0.log do cliente (as últimas linhas do arquivo mostram a causa do
problema).
Outro possível problema é a má configuração do GDM. Leia novamente a sub
seção 3.5 e revise as configurações.
d) O cliente “trava” durante a inicialização
Se ao apertar a tecla Caps Look ou Num Lock do teclado e os leds não
funcionarem, então, temos um kernel panic. Um dos possíveis motivos é que o cliente não
tem memória RAM suficiente para ser inicializado.
Recomendase no mínimo 64 MB de memória RAM, para que os clientes
sejam inicializados corretamente.
Para clientes com menos memória do que o recomendado devemos configurar uma
inicialização alternativa mediante NFS. Para isso devemos gerar as imagens NFS com o
comando:
# gentcos nfs rootfs
O cliente deveria receber sempre o mesmo IP. Para isso podemos reservar um IP
página 32 de 39
Manual do TCOS para administradores
Depois disso executamos o seguinte comando:
# tcospersonalize host=10.0.0.20
Será exibida uma tela semelhante a da figura 7.
Figura 7: Configurando um cliente TCOS.
Nesta tela devemos selecionar o kernel que estamos usando no TCOS. O método
de inicialização é o NFS. Agora informamos no campo “Linha de arranque” essas
palavras: quiet splash forcenfs. Depois clicamos em Aplicar.
Isto criará um arquivo de texto, cujo o nome terá o IP invertido em hexadecimal no
diretório /var/lib/tcos/tftp/pxelinux.cfg/.
Isso fará que esse cliente necessite de menos memória para inicializar, em
compensação consumirá mais recursos da rede por meio do protocolo NFS.
página 33 de 39
Manual do TCOS para administradores
e) Se reinicia a sessão gráfica do cliente
Possível problema com o cabo de rede, pouca memória ou placa gráfica muito
ruim. O melhor jeito de descobrir o motivo da queda da sessão gráfica é olhando os logs
do arquivo /var/log/Xorg.0.log do cliente (podemos acessar esse arquivo via ssh
a partir do servidor).
Mesmo que a placa gráfica sirva, se o cliente tiver pouca memória isso pode não
ser o suficiente para usar a versão mais nova do Xorg. Como solução podemos investigar
o fabricante e o modelo da placa para configurar esse cliente a usar um driver distinto...
Quando o cliente for iniciado e aparecer a palavra “boot:” escreveremos o seguinte
texto em negrito:
boot: tcos xdriver=xxxxxx
Onde “xxxxx” no comando acima representa o nome do driver a ser utilizado.
Se este truque funcionar, usaremos o tcospersonalize e acrescentaremos esse
driver no campo Linha de Arranque.
Instalação do ponto de rede e cache DNS (Domain Name Server).
auto br0
iface br0 inet static
address 10.0.0.254
network 10.0.0.0
netmask 255.255.255.0
broadcast 10.0.0.255
bridge_ports eth1
bridge_maxwait 3
dnsnameservers xx.xx.xx.xx xx.xx.xx.xx
página 34 de 39
Manual do TCOS para administradores
global {
perm_cache=1024;
cache_dir="/var/cache/pdnsd";
run_as="pdnsd";
server_ip = br0; // Use eth0 here if you want to allow other
// machines on your network to query pdnsd.
status_ctl = on;
paranoid=on;
// query support for this to work.
min_ttl=15m; // Retain cached entries at least 15 minutes.
max_ttl=1w; // One week.
timeout=10; // Global timeout option (10 seconds).
}
server {
label = "rootservers";
root_server = on;
randomize_servers = on;
ip = 87.216.1.65, 87.216.1.65; // poner aquí los DNS de nuestro ISP
timeout = 5;
uptest = query;
interval = 30m; // Test every half hour.
ping_timeout = 300; // 30 seconds.
purge_cache = off;
exclude = .localdomain;
policy = included;
preset = off;
}
source {
owner=localhost;
file="/etc/hosts";
}
rr {
name=localhost;
reverse=on;
a=127.0.0.1;
owner=localhost;
soa=localhost,root.localhost,42,86400,900,86400,86400;
}
Se após essas dicas ainda acontecerem problemas na inicialização dos clientes,
peça ajuda a outros usuários através dos seguintes meios:
página 35 de 39
Manual do TCOS para administradores
/server irc.freenode.net
E acesse o canal #tcos com o comando:
/j tcos
Todas as mensagens do canal estão disponíveis em:
http://www.tcosproject.org/irclogs
● Comunidade de usuários: Para interagir com outros usuários ou administradores
de rede que usam o TCOS acesse as listas de discussão abaixo:
Comunidade espanhola: http://groups.google.com/group/tcosusuarios?hl=es
Comunidade inglesa: http://groups.google.com/group/tcosusuarios?hl=en
Comunidade brasileira: http://groups.google.com/group/tcos_brasil
página 36 de 39
Manual do TCOS para administradores
5. TcosMonitor
Figura 8: Usando o TcosMonitor.
Seu funcionamento é muito simples. Na primeira vez devemos configurar ao clicar
no botão preferências: o método de escaneio dos clientes, a autenticação (use a senha
do usuário root informada no TcosConfig) e alguns outros parâmetros que variam de
acordo com o gosto e as necessidades de cada um.
TcosMonitor permite ver os clientes da rede como numa sala de aula, por meio de
uma lista ou ícones, como mostrado na figura 9.
página 37 de 39
Manual do TCOS para administradores
Figura 9: Visualizando os clientes da rede no TcosMonitor.
O modo “Simulate Class Roon” ou “Simule uma sala de aula” nos permite organizar
os clientes da rede em ícones, movimentandoos de maneira a deixálos de forma
semelhante a como estão conectados fisicamente na rede.
Na sessão gráfica e remota de cada usuário (nos clientes) são executados dois
novos programas:
● tcosdevicesng => reponsável por montar os dispositivos removíveis, permitir o
acesso rápido ao conteúdo e desligar ou reiniciar o cliente. Vide figura 10.
Figura 10: Tcosdevicesng em uso.
página 38 de 39
Manual do TCOS para administradores
● tcosvolumemanager: controla os canais de aúdio da placa de som dos clientes.
Vide figura 11.
Figura 11: Tcosvolumemanager em uso.
Estas duas aplicações podem ser ativadas ou desativadas globalmente no arquivo
/etc/tcos/tcosmonitor.conf e podemos permitir o uso de discos rígidos locais (se
existirem) dos clientes, de CDROM, etc; a partir do arquivo /etc/tcos/tcos
devicesng.conf.
página 39 de 39