SlideShare uma empresa Scribd logo
1 de 61
Baixar para ler offline
LTSP
Versão 1.0.0
Sumário
I Sobre essa Apostila 3
II Informações Básicas 5
III GNU Free Documentation License 10
IV LTSP 19
1 O que é o LTSP 20
2 Plano de ensino 21
2.1 Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2 Público Alvo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3 Pré-requisitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.4 Descrição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.5 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.6 Cronograma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.7 Programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.8 Avaliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.9 Bibliografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3 Introdução/Instalação 24
3.1 Introdução/Instalação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.1.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.1.2 Instalando o LTSP no Servidor . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.1.3 Instalação dos Utilitários LTSP . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.1.4 Instalando os Pacotes do Cliente LTSP . . . . . . . . . . . . . . . . . . . . . 26
4 Configuração do Servidor 30
4.1 Configuração . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.1.1 Configuração . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.1.2 Configurações específicas da estação . . . . . . . . . . . . . . . . . . . . . . 33
5 Configurando a Estação de Trabalho 38
5.1 Teoria da Operação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.1.1 Passos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.1.2 Carregando o Kernel na Memória . . . . . . . . . . . . . . . . . . . . . . . . 41
1
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
5.2 Configurando a Estação de Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.2.1 Estação de Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.2.2 Carga com PXE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.2.3 Carga com Etherboot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.2.4 Ligando a Estação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
6 Problemas Técnicos 48
6.1 Solucionando problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
6.1.1 Solucionando Problemas em Disquetes com Imagens Etherboot . . . . . . . 48
6.1.2 DHCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
6.1.3 TFTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
6.1.4 NFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
6.1.5 Xserver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
6.1.6 Gerenciador de Telas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
2
Parte I
Sobre essa Apostila
3
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
Conteúdo
O conteúdo dessa apostila é fruto da compilação de diversos materiais livres publicados na in-
ternet, disponíveis em diversos sites ou originalmente produzido no CDTC (http://www.cdtc.org.br.)
O formato original deste material bem como sua atualização está disponível dentro da licença
GNU Free Documentation License, cujo teor integral encontra-se aqui reproduzido na seção de
mesmo nome, tendo inclusive uma versão traduzida (não oficial).
A revisão e alteração vem sendo realizada pelo CDTC (suporte@cdtc.org.br) desde outubro
de 2006. Críticas e sugestões construtivas serão bem-vindas a qualquer hora.
Autores
A autoria deste é de responsabilidade de João Paulo Claudino de Souza.
O texto original faz parte do projeto Centro de Difusão de Tecnologia e Conhecimento que
vêm sendo realizado pelo ITI (Instituto Nacional de Tecnologia da Informação) em conjunto com
outros parceiros institucionais, e com as universidades federais brasileiras que tem produzido e
utilizado Software Livre apoiando inclusive a comunidade Free Software junto a outras entidades
no país.
Informações adicionais podem ser obtidas através do email ouvidoria@cdtc.org.br, ou da
home page da entidade, através da URL http://www.cdtc.org.br.
Garantias
O material contido nesta apostila é isento de garantias e o seu uso é de inteira responsabi-
lidade do usuário/leitor. Os autores, bem como o ITI e seus parceiros, não se responsabilizam
direta ou indiretamente por qualquer prejuízo oriundo da utilização do material aqui contido.
Licença
Copyright ©2006, Instituto Nacional de Tecnologia da Informação (cdtc@iti.gov.br) .
Permission is granted to copy, distribute and/or modify this document under the terms
of the GNU Free Documentation License, Version 1.1 or any later version published by
the Free Software Foundation; with the Invariant Chapter being SOBRE ESSA APOS-
TILA. A copy of the license is included in the section entitled GNU Free Documentation
License.
4
Parte II
Informações Básicas
5
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
Sobre o CDTC
Objetivo Geral
O Projeto CDTC visa a promoção e o desenvolvimento de ações que incentivem a dissemina-
ção de soluções que utilizem padrões abertos e não proprietários de tecnologia, em proveito do
desenvolvimento social, cultural, político, tecnológico e econômico da sociedade brasileira.
Objetivo Específico
Auxiliar o Governo Federal na implantação do plano nacional de software não-proprietário e
de código fonte aberto, identificando e mobilizando grupos de formadores de opinião dentre os
servidores públicos e agentes políticos da União Federal, estimulando e incentivando o mercado
nacional a adotar novos modelos de negócio da tecnologia da informação e de novos negócios
de comunicação com base em software não-proprietário e de código fonte aberto, oferecendo
treinamento específico para técnicos, profissionais de suporte e funcionários públicos usuários,
criando grupos de funcionários públicos que irão treinar outros funcionários públicos e atuar como
incentivadores e defensores dos produtos de software não proprietários e código fonte aberto, ofe-
recendo conteúdo técnico on-line para serviços de suporte, ferramentas para desenvolvimento de
produtos de software não proprietários e do seu código fonte livre, articulando redes de terceiros
(dentro e fora do governo) fornecedoras de educação, pesquisa, desenvolvimento e teste de pro-
dutos de software livre.
Guia do aluno
Neste guia, você terá reunidas uma série de informações importantes para que você comece
seu curso. São elas:
• Licenças para cópia de material disponível;
• Os 10 mandamentos do aluno de Educação a Distância;
• Como participar dos foruns e da wikipédia;
• Primeiros passos.
É muito importante que você entre em contato com TODAS estas informações, seguindo o
roteiro acima.
Licença
Copyright ©2006, Instituto Nacional de Tecnologia da Informação (cdtc@iti.gov.br).
6
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
É dada permissão para copiar, distribuir e/ou modificar este documento sob os termos
da Licença de Documentação Livre GNU, Versão 1.1 ou qualquer versão posterior
públicada pela Free Software Foundation; com o Capitulo Invariante SOBRE ESSA
APOSTILA. Uma cópia da licença está inclusa na seção entitulada "Licença de Docu-
mentação Livre GNU".
Os 10 mandamentos do aluno de educação online
• 1. Acesso à Internet: ter endereço eletrônico, um provedor e um equipamento adequado é
pré-requisito para a participação nos cursos a distância;
• 2. Habilidade e disposição para operar programas: ter conhecimentos básicos de Informá-
tica é necessário para poder executar as tarefas;
• 3. Vontade para aprender colaborativamente: interagir, ser participativo no ensino a distân-
cia conta muitos pontos, pois irá colaborar para o processo ensino-aprendizagem pessoal,
dos colegas e dos professores;
• 4. Comportamentos compatíveis com a etiqueta: mostrar-se interessado em conhecer seus
colegas de turma respeitando-os e se fazendo ser respeitado pelos mesmos;
• 5. Organização pessoal: planejar e organizar tudo é fundamental para facilitar a sua revisão
e a sua recuperação de materiais;
• 6. Vontade para realizar as atividades no tempo correto: anotar todas as suas obrigações e
realizá-las em tempo real;
• 7. Curiosidade e abertura para inovações: aceitar novas idéias e inovar sempre;
• 8. Flexibilidade e adaptação: requisitos necessário à mudança tecnológica, aprendizagens
e descobertas;
• 9. Objetividade em sua comunicação: comunicar-se de forma clara, breve e transparente é
ponto - chave na comunicação pela Internet;
• 10. Responsabilidade: ser responsável por seu próprio aprendizado. O ambiente virtual não
controla a sua dedicação, mas reflete os resultados do seu esforço e da sua colaboração.
Como participar dos fóruns e Wikipédia
Você tem um problema e precisa de ajuda?
Podemos te ajudar de 2 formas:
A primeira é o uso dos fóruns de notícias e de dúvidas gerais que se distinguem pelo uso:
. O fórum de notícias tem por objetivo disponibilizar um meio de acesso rápido a informações
que sejam pertinentes ao curso (avisos, notícias). As mensagens postadas nele são enviadas a
7
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
todos participantes. Assim, se o monitor ou algum outro participante tiver uma informação que
interesse ao grupo, favor postá-la aqui.
Porém, se o que você deseja é resolver alguma dúvida ou discutir algum tópico específico do
curso. É recomendado que você faça uso do Fórum de dúvidas gerais que lhe dá recursos mais
efetivos para esta prática.
. O fórum de dúvidas gerais tem por objetivo disponibilizar um meio fácil, rápido e interativo
para solucionar suas dúvidas e trocar experiências. As mensagens postadas nele são enviadas
a todos participantes do curso. Assim, fica muito mais fácil obter respostas, já que todos podem
ajudar.
Se você receber uma mensagem com algum tópico que saiba responder, não se preocupe com a
formalização ou a gramática. Responda! E não se esqueça de que antes de abrir um novo tópico
é recomendável ver se a sua pergunta já foi feita por outro participante.
A segunda forma se dá pelas Wikis:
. Uma wiki é uma página web que pode ser editada colaborativamente, ou seja, qualquer par-
ticipante pode inserir, editar, apagar textos. As versões antigas vão sendo arquivadas e podem
ser recuperadas a qualquer momento que um dos participantes o desejar. Assim, ela oferece um
ótimo suporte a processos de aprendizagem colaborativa. A maior wiki na web é o site "Wikipé-
dia", uma experiência grandiosa de construção de uma enciclopédia de forma colaborativa, por
pessoas de todas as partes do mundo. Acesse-a em português pelos links:
• Página principal da Wiki - http://pt.wikipedia.org/wiki/
Agradecemos antecipadamente a sua colaboração com a aprendizagem do grupo!
Primeiros Passos
Para uma melhor aprendizagem é recomendável que você siga os seguintes passos:
• Ler o Plano de Ensino e entender a que seu curso se dispõe a ensinar;
• Ler a Ambientação do Moodle para aprender a navegar neste ambiente e se utilizar das
ferramentas básicas do mesmo;
• Entrar nas lições seguindo a seqüência descrita no Plano de Ensino;
• Qualquer dúvida, reporte ao Fórum de Dúvidas Gerais.
Perfil do Tutor
Segue-se uma descrição do tutor ideal, baseada no feedback de alunos e de tutores.
O tutor ideal é um modelo de excelência: é consistente, justo e profissional nos respectivos
valores e atitudes, incentiva mas é honesto, imparcial, amável, positivo, respeitador, aceita as
idéias dos estudantes, é paciente, pessoal, tolerante, apreciativo, compreensivo e pronto a ajudar.
8
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
A classificação por um tutor desta natureza proporciona o melhor feedback possível, é crucial, e,
para a maior parte dos alunos, constitui o ponto central do processo de aprendizagem.’ Este tutor
ou instrutor:
• fornece explicações claras acerca do que ele espera e do estilo de classificação que irá
utilizar;
• gosta que lhe façam perguntas adicionais;
• identifica as nossas falhas, mas corrige-as amavelmente’, diz um estudante, ’e explica por-
que motivo a classificação foi ou não foi atribuída’;
• tece comentários completos e construtivos, mas de forma agradável (em contraste com um
reparo de um estudante: ’os comentários deixam-nos com uma sensação de crítica, de
ameaça e de nervossismo’)
• dá uma ajuda complementar para encorajar um estudante em dificuldade;
• esclarece pontos que não foram entendidos, ou corretamente aprendidos anteriormente;
• ajuda o estudante a alcançar os seus objetivos;
• é flexível quando necessário;
• mostra um interesse genuíno em motivar os alunos (mesmo os principiantes e, por isso,
talvez numa fase menos interessante para o tutor);
• escreve todas as correções de forma legível e com um nível de pormenorização adequado;
• acima de tudo, devolve os trabalhos rapidamente;
9
Parte III
GNU Free Documentation License
10
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
(Traduzido pelo João S. O. Bueno através do CIPSGA em 2001)
Esta é uma tradução não oficial da Licença de Documentação Livre GNU em Português Brasi-
leiro. Ela não é publicada pela Free Software Foundation, e não se aplica legalmente a distribuição
de textos que usem a GFDL - apenas o texto original em Inglês da GNU FDL faz isso. Entretanto,
nós esperamos que esta tradução ajude falantes de português a entenderem melhor a GFDL.
This is an unofficial translation of the GNU General Documentation License into Brazilian Por-
tuguese. It was not published by the Free Software Foundation, and does not legally state the
distribution terms for software that uses the GFDL–only the original English text of the GFDL does
that. However, we hope that this translation will help Portuguese speakers understand the GFDL
better.
Licença de Documentação Livre GNU Versão 1.1, Março de 2000
Copyright (C) 2000 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
É permitido a qualquer um copiar e distribuir cópias exatas deste documento de licença, mas
não é permitido alterá-lo.
INTRODUÇÃO
O propósito desta Licença é deixar um manual, livro-texto ou outro documento escrito "livre"no
sentido de liberdade: assegurar a qualquer um a efetiva liberdade de copiá-lo ou redistribui-lo,
com ou sem modificações, comercialmente ou não. Secundariamente, esta Licença mantém
para o autor e editor uma forma de ter crédito por seu trabalho, sem ser considerado responsável
pelas modificações feitas por terceiros.
Esta Licença é um tipo de "copyleft"("direitos revertidos"), o que significa que derivações do
documento precisam ser livres no mesmo sentido. Ela complementa a GNU Licença Pública Ge-
ral (GNU GPL), que é um copyleft para software livre.
Nós fizemos esta Licença para que seja usada em manuais de software livre, por que software
livre precisa de documentação livre: um programa livre deve ser acompanhado de manuais que
provenham as mesmas liberdades que o software possui. Mas esta Licença não está restrita a
manuais de software; ela pode ser usada para qualquer trabalho em texto, independentemente
do assunto ou se ele é publicado como um livro impresso. Nós recomendamos esta Licença prin-
cipalmente para trabalhos cujo propósito seja de introdução ou referência.
APLICABILIDADE E DEFINIÇÕES
Esta Licença se aplica a qualquer manual ou outro texto que contenha uma nota colocada pelo
detentor dos direitos autorais dizendo que ele pode ser distribuído sob os termos desta Licença.
O "Documento"abaixo se refere a qualquer manual ou texto. Qualquer pessoa do público é um
11
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
licenciado e é referida como "você".
Uma "Versão Modificada"do Documento se refere a qualquer trabalho contendo o documento
ou uma parte dele, quer copiada exatamente, quer com modificações e/ou traduzida em outra
língua.
Uma "Seção Secundária"é um apêndice ou uma seção inicial do Documento que trata ex-
clusivamente da relação dos editores ou dos autores do Documento com o assunto geral do
Documento (ou assuntos relacionados) e não contém nada que poderia ser incluído diretamente
nesse assunto geral (Por exemplo, se o Documento é em parte um livro texto de matemática, a
Seção Secundária pode não explicar nada de matemática).
Essa relação poderia ser uma questão de ligação histórica com o assunto, ou matérias relaci-
onadas, ou de posições legais, comerciais, filosóficas, éticas ou políticas relacionadas ao mesmo.
As "Seções Invariantes"são certas Seções Secundárias cujos títulos são designados, como
sendo de Seções Invariantes, na nota que diz que o Documento é publicado sob esta Licença.
Os "Textos de Capa"são certos trechos curtos de texto que são listados, como Textos de Capa
Frontal ou Textos da Quarta Capa, na nota que diz que o texto é publicado sob esta Licença.
Uma cópia "Transparente"do Documento significa uma cópia que pode ser lida automatica-
mente, representada num formato cuja especificação esteja disponível ao público geral, cujos
conteúdos possam ser vistos e editados diretamente e sem mecanismos especiais com editores
de texto genéricos ou (para imagens compostas de pixels) programas de pintura genéricos ou
(para desenhos) por algum editor de desenhos grandemente difundido, e que seja passível de
servir como entrada a formatadores de texto ou para tradução automática para uma variedade
de formatos que sirvam de entrada para formatadores de texto. Uma cópia feita em um formato
de arquivo outrossim Transparente cuja constituição tenha sido projetada para atrapalhar ou de-
sencorajar modificações subsequentes pelos leitores não é Transparente. Uma cópia que não é
"Transparente"é chamada de "Opaca".
Exemplos de formatos que podem ser usados para cópias Transparentes incluem ASCII sim-
ples sem marcações, formato de entrada do Texinfo, formato de entrada do LaTex, SGML ou XML
usando uma DTD disponibilizada publicamente, e HTML simples, compatível com os padrões, e
projetado para ser modificado por pessoas. Formatos opacos incluem PostScript, PDF, formatos
proprietários que podem ser lidos e editados apenas com processadores de texto proprietários,
SGML ou XML para os quais a DTD e/ou ferramentas de processamento e edição não estejam
disponíveis para o público, e HTML gerado automaticamente por alguns editores de texto com
finalidade apenas de saída.
A "Página do Título"significa, para um livro impresso, a página do título propriamente dita,
mais quaisquer páginas subsequentes quantas forem necessárias para conter, de forma legível,
o material que esta Licença requer que apareça na página do título. Para trabalhos que não
tenham uma página do título, "Página do Título"significa o texto próximo da aparição mais proe-
minente do título do trabalho, precedendo o início do corpo do texto.
12
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
FAZENDO CÓPIAS EXATAS
Você pode copiar e distribuir o Documento em qualquer meio, de forma comercial ou não
comercial, desde que esta Licença, as notas de copyright, e a nota de licença dizendo que esta
Licença se aplica ao documento estejam reproduzidas em todas as cópias, e que você não acres-
cente nenhuma outra condição, quaisquer que sejam, às desta Licença.
Você não pode usar medidas técnicas para obstruir ou controlar a leitura ou confecção de
cópias subsequentes das cópias que você fizer ou distribuir. Entretanto, você pode aceitar com-
pensação em troca de cópias. Se você distribuir uma quantidade grande o suficiente de cópias,
você também precisa respeitar as condições da seção 3.
Você também pode emprestar cópias, sob as mesmas condições colocadas acima, e também
pode exibir cópias publicamente.
FAZENDO CÓPIAS EM QUANTIDADE
Se você publicar cópias do Documento em número maior que 100, e a nota de licença do
Documento obrigar Textos de Capa, você precisará incluir as cópias em capas que tragam, clara
e legivelmente, todos esses Textos de Capa: Textos de Capa da Frente na capa da frente, e
Textos da Quarta Capa na capa de trás. Ambas as capas também precisam identificar clara e
legivelmente você como o editor dessas cópias. A capa da frente precisa apresentar o título com-
pleto com todas as palavras do título igualmente proeminentes e visíveis. Você pode adicionar
outros materiais às capas. Fazer cópias com modificações limitadas às capas, tanto quanto estas
preservem o título do documento e satisfaçam a essas condições, pode ser tratado como cópia
exata em outros aspectos.
Se os textos requeridos em qualquer das capas for muito volumoso para caber de forma
legível, você deve colocar os primeiros (tantos quantos couberem de forma razoável) na capa
verdadeira, e continuar os outros nas páginas adjacentes.
Se você publicar ou distribuir cópias Opacas do Documento em número maior que 100, você
precisa ou incluir uma cópia Transparente que possa ser lida automaticamente com cada cópia
Opaca, ou informar, em ou com, cada cópia Opaca a localização de uma cópia Transparente
completa do Documento acessível publicamente em uma rede de computadores, à qual o público
usuário de redes tenha acesso a download gratuito e anônimo utilizando padrões públicos de
protocolos de rede. Se você utilizar o segundo método, você precisará tomar cuidados razoavel-
mente prudentes, quando iniciar a distribuição de cópias Opacas em quantidade, para assegurar
que esta cópia Transparente vai permanecer acessível desta forma na localização especificada
por pelo menos um ano depois da última vez em que você distribuir uma cópia Opaca (direta-
mente ou através de seus agentes ou distribuidores) daquela edição para o público.
É pedido, mas não é obrigatório, que você contate os autores do Documento bem antes de
redistribuir qualquer grande número de cópias, para lhes dar uma oportunidade de prover você
com uma versão atualizada do Documento.
13
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
MODIFICAÇÕES
Você pode copiar e distribuir uma Versão Modificada do Documento sob as condições das se-
ções 2 e 3 acima, desde que você publique a Versão Modificada estritamente sob esta Licença,
com a Versão Modificada tomando o papel do Documento, de forma a licenciar a distribuição
e modificação da Versão Modificada para quem quer que possua uma cópia da mesma. Além
disso, você precisa fazer o seguinte na versão modificada:
A. Usar na Página de Título (e nas capas, se houver alguma) um título distinto daquele do Do-
cumento, e daqueles de versões anteriores (que deveriam, se houvesse algum, estarem listados
na seção "Histórico do Documento"). Você pode usar o mesmo título de uma versão anterior se
o editor original daquela versão lhe der permissão;
B. Listar na Página de Título, como autores, uma ou mais das pessoas ou entidades responsá-
veis pela autoria das modificações na Versão Modificada, conjuntamente com pelo menos cinco
dos autores principais do Documento (todos os seus autores principais, se ele tiver menos que
cinco);
C. Colocar na Página de Título o nome do editor da Versão Modificada, como o editor;
D. Preservar todas as notas de copyright do Documento;
E. Adicionar uma nota de copyright apropriada para suas próprias modificações adjacente às
outras notas de copyright;
F. Incluir, imediatamente depois das notas de copyright, uma nota de licença dando ao público
o direito de usar a Versão Modificada sob os termos desta Licença, na forma mostrada no tópico
abaixo;
G. Preservar nessa nota de licença as listas completas das Seções Invariantes e os Textos de
Capa requeridos dados na nota de licença do Documento;
H. Incluir uma cópia inalterada desta Licença;
I. Preservar a seção entitulada "Histórico", e seu título, e adicionar à mesma um item dizendo
pelo menos o título, ano, novos autores e editor da Versão Modificada como dados na Página de
Título. Se não houver uma sessão denominada "Histórico"no Documento, criar uma dizendo o
título, ano, autores, e editor do Documento como dados em sua Página de Título, então adicionar
um item descrevendo a Versão Modificada, tal como descrito na sentença anterior;
J. Preservar o endereço de rede, se algum, dado no Documento para acesso público a uma
cópia Transparente do Documento, e da mesma forma, as localizações de rede dadas no Docu-
mento para as versões anteriores em que ele foi baseado. Elas podem ser colocadas na seção
"Histórico". Você pode omitir uma localização na rede para um trabalho que tenha sido publicado
pelo menos quatro anos antes do Documento, ou se o editor original da versão a que ela se refira
der sua permissão;
K. Em qualquer seção entitulada "Agradecimentos"ou "Dedicatórias", preservar o título da
14
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
seção e preservar a seção em toda substância e fim de cada um dos agradecimentos de contri-
buidores e/ou dedicatórias dados;
L. Preservar todas as Seções Invariantes do Documento, inalteradas em seus textos ou em
seus títulos. Números de seção ou equivalentes não são considerados parte dos títulos da seção;
M. Apagar qualquer seção entitulada "Endossos". Tal sessão não pode ser incluída na Versão
Modificada;
N. Não reentitular qualquer seção existente com o título "Endossos"ou com qualquer outro
título dado a uma Seção Invariante.
Se a Versão Modificada incluir novas seções iniciais ou apêndices que se qualifiquem como
Seções Secundárias e não contenham nenhum material copiado do Documento, você pode optar
por designar alguma ou todas aquelas seções como invariantes. Para fazer isso, adicione seus
títulos à lista de Seções Invariantes na nota de licença da Versão Modificada. Esses títulos preci-
sam ser diferentes de qualquer outro título de seção.
Você pode adicionar uma seção entitulada "Endossos", desde que ela não contenha qual-
quer coisa além de endossos da sua Versão Modificada por várias pessoas ou entidades - por
exemplo, declarações de revisores ou de que o texto foi aprovado por uma organização como a
definição oficial de um padrão.
Você pode adicionar uma passagem de até cinco palavras como um Texto de Capa da Frente
, e uma passagem de até 25 palavras como um Texto de Quarta Capa, ao final da lista de Textos
de Capa na Versão Modificada. Somente uma passagem de Texto da Capa da Frente e uma de
Texto da Quarta Capa podem ser adicionados por (ou por acordos feitos por) qualquer entidade.
Se o Documento já incluir um texto de capa para a mesma capa, adicionado previamente por
você ou por acordo feito com alguma entidade para a qual você esteja agindo, você não pode
adicionar um outro; mas você pode trocar o antigo, com permissão explícita do editor anterior que
adicionou a passagem antiga.
O(s) autor(es) e editor(es) do Documento não dão permissão por esta Licença para que seus
nomes sejam usados para publicidade ou para assegurar ou implicar endossamento de qualquer
Versão Modificada.
COMBINANDO DOCUMENTOS
Você pode combinar o Documento com outros documentos publicados sob esta Licença, sob
os termos definidos na seção 4 acima para versões modificadas, desde que você inclua na com-
binação todas as Seções Invariantes de todos os documentos originais, sem modificações, e liste
todas elas como Seções Invariantes de seu trabalho combinado em sua nota de licença.
O trabalho combinado precisa conter apenas uma cópia desta Licença, e Seções Invariantes
Idênticas com multiplas ocorrências podem ser substituídas por apenas uma cópia. Se houver
múltiplas Seções Invariantes com o mesmo nome mas com conteúdos distintos, faça o título de
15
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
cada seção único adicionando ao final do mesmo, em parênteses, o nome do autor ou editor
origianl daquela seção, se for conhecido, ou um número que seja único. Faça o mesmo ajuste
nos títulos de seção na lista de Seções Invariantes nota de licença do trabalho combinado.
Na combinação, você precisa combinar quaisquer seções entituladas "Histórico"dos diver-
sos documentos originais, formando uma seção entitulada "Histórico"; da mesma forma combine
quaisquer seções entituladas "Agradecimentos", ou "Dedicatórias". Você precisa apagar todas as
seções entituladas como "Endosso".
COLETÂNEAS DE DOCUMENTOS
Você pode fazer uma coletânea consitindo do Documento e outros documentos publicados
sob esta Licença, e substituir as cópias individuais desta Licença nos vários documentos com
uma única cópia incluida na coletânea, desde que você siga as regras desta Licença para cópia
exata de cada um dos Documentos em todos os outros aspectos.
Você pode extrair um único documento de tal coletânea, e distribuí-lo individualmente sob
esta Licença, desde que você insira uma cópia desta Licença no documento extraído, e siga esta
Licença em todos os outros aspectos relacionados à cópia exata daquele documento.
AGREGAÇÃO COM TRABALHOS INDEPENDENTES
Uma compilação do Documento ou derivados dele com outros trabalhos ou documentos se-
parados e independentes, em um volume ou mídia de distribuição, não conta como uma Ver-
são Modificada do Documento, desde que nenhum copyright de compilação seja reclamado pela
compilação. Tal compilação é chamada um "agregado", e esta Licença não se aplica aos outros
trabalhos auto-contidos compilados junto com o Documento, só por conta de terem sido assim
compilados, e eles não são trabalhos derivados do Documento.
Se o requerido para o Texto de Capa na seção 3 for aplicável a essas cópias do Documento,
então, se o Documento constituir menos de um quarto de todo o agregado, os Textos de Capa
do Documento podem ser colocados em capas adjacentes ao Documento dentro do agregado.
Senão eles precisarão aparecer nas capas de todo o agregado.
TRADUÇÃO
Tradução é considerada como um tipo de modificação, então você pode distribuir traduções
do Documento sob os termos da seção 4. A substituição de Seções Invariantes por traduções
requer uma permissão especial dos detentores do copyright das mesmas, mas você pode incluir
traduções de algumas ou de todas as Seções Invariantes em adição às versões orignais dessas
Seções Invariantes. Você pode incluir uma tradução desta Licença desde que você também in-
clua a versão original em Inglês desta Licença. No caso de discordância entre a tradução e a
16
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
versão original em Inglês desta Licença, a versão original em Inglês prevalecerá.
TÉRMINO
Você não pode copiar, modificar, sublicenciar, ou distribuir o Documento exceto como expres-
samente especificado sob esta Licença. Qualquer outra tentativa de copiar, modificar, sublicen-
ciar, ou distribuir o Documento é nula, e resultará automaticamente no término de seus direitos
sob esta Licença. Entretanto, terceiros que tenham recebido cópias, ou direitos de você sob esta
Licença não terão suas licenças terminadas, tanto quanto esses terceiros permaneçam em total
acordo com esta Licença.
REVISÕES FUTURAS DESTA LICENÇA
A Free Software Foundation pode publicar novas versões revisadas da Licença de Documen-
tação Livre GNU de tempos em tempos. Tais novas versões serão similares em espirito à versão
presente, mas podem diferir em detalhes ao abordarem novos porblemas e preocupações. Veja
http://www.gnu.org/copyleft/.
A cada versão da Licença é dado um número de versão distinto. Se o Documento especificar
que uma versão particular desta Licença "ou qualquer versão posterior"se aplica ao mesmo, você
tem a opção de seguir os termos e condições daquela versão específica, ou de qualquer versão
posterior que tenha sido publicada (não como rascunho) pela Free Software Foundation. Se o
Documento não especificar um número de Versão desta Licença, você pode escolher qualquer
versão já publicada (não como rascunho) pela Free Software Foundation.
ADENDO: Como usar esta Licença para seus documentos
Para usar esta Licença num documento que você escreveu, inclua uma cópia desta Licença
no documento e ponha as seguintes notas de copyright e licenças logo após a página de título:
Copyright (c) ANO SEU NOME.
É dada permissão para copiar, distribuir e/ou modificar este documento sob os termos da Licença
de Documentação Livre GNU, Versão 1.1 ou qualquer versão posterior publicada pela Free Soft-
ware Foundation; com as Seções Invariantes sendo LISTE SEUS TÍTULOS, com os Textos da
Capa da Frente sendo LISTE, e com os Textos da Quarta-Capa sendo LISTE. Uma cópia da li-
cença está inclusa na seção entitulada "Licença de Documentação Livre GNU".
Se você não tiver nenhuma Seção Invariante, escreva "sem Seções Invariantes"ao invés de
dizer quais são invariantes. Se você não tiver Textos de Capa da Frente, escreva "sem Textos de
Capa da Frente"ao invés de "com os Textos de Capa da Frente sendo LISTE"; o mesmo para os
Textos da Quarta Capa.
Se o seu documento contiver exemplos não triviais de código de programas, nós recomenda-
mos a publicação desses exemplos em paralelo sob a sua escolha de licença de software livre,
17
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
tal como a GNU General Public License, para permitir o seu uso em software livre.
18
Parte IV
LTSP
19
Capítulo 1
O que é o LTSP
O Linux Terminal Server Project (LTSP) é um projeto baseado em Linux que agrupa várias
ferramentas e protocolos standard, com a finalidade de proporcionar um ambiente de trabalho
remoto. Todo o software é corrido no servidor, e os terminais servem apenas de interface entre o
utilizador e as aplicações. Os poucos ciclos de processamento gastos são para enviar os dados
da placa de rede à placa gráfica. Com efeito, é possível ter vários clientes com hardware antigo
e ter um desempenho equivalente ao do servidor.
O material utilizado neste curso foi retirado do site www.ltsp.org. Segue abaixo informações
sobre direitos autorais e licença: This document is copyright 2004 by James McQuillan, and is
released under the terms of the GNU Free Documentation License, which is hereby incorporated
by reference.
20
Capítulo 2
Plano de ensino
2.1 Objetivo
Qualificar técnicos e programadores na linguagem de programação LTSP.
2.2 Público Alvo
Técnicos e Programadores que desejam trabalhar com LTSP
2.3 Pré-requisitos
Os usuários deverão ser, necessariamente, indicados por empresas públicas.
2.4 Descrição
O curso de LTSP será realizado na modalidade EAD e utilizará a plataforma Moodle como
ferramenta de aprendizagem. Ele é composto de um módulo de aprendizado que será dado
na primeira semana e um módulo de avaliação que será dado na segunda semana. O material
didático estará disponível on-line de acordo com as datas pré-estabelecidas no calendário.
2.5 Metodologia
O curso está dividido da seguinte maneira:
2.6 Cronograma
• Descrição das atividades
• Semana 1
Lição 1 - Introdução/ Instalação;
Lição 2 - Configuração;
21
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
Lição 3 - Teoria da operação;
Lição 4 - Configurando a estação de trabalho;
Lição 5 - Solucionando problemas;
Avaliação de aprendizagem.
Todo o material está no formato de livro, e estará disponível ao longo do curso. O livro poderá
ser acessado quantas vezes forem necessárias. Aconselhamos a leitura de "Ambientação do
Moodle", para que você conheça o produto de Ensino a Distância, evitando dificuldades advindas
do "desconhecimento"sobre o mesmo.
Ao final de cada semana do curso será disponibilizada a prova referente ao módulo estudado
anteriormente que também conterá perguntas sobre os textos indicados. Utilize o material de
cada semana e os exemplos disponibilizados para se preparar para prova.
Os instrutores estarão à sua disposição ao longo de todo curso. Qualquer dúvida deve ser
disponibilizada no fórum ou enviada por e-mail. Diariamente os monitores darão respostas e
esclarecimentos.
2.7 Programa
O curso oferecerá o seguinte conteúdo:
• Introdução/Instalação:
Introdução;
Instalação;
Instalação dos utilitários LTSP;
LTSP.
• Configuração:
Configuração;
Configurações específicas da estação:
• Teoria da operação:
Passos;
Carregando o kernel na memória.
• Configurando a estação de trabalho:
Estação de trabalho;
Carga com PXE;
Etherboot;
Ligando a estação.
• Solucionando problemas:
Solucionando problemas em disquetes com imagens Etherboot;
DHCP;
22
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
TFTP;
NFS;
Xserver;
Gerenciador de Telas.
2.8 Avaliação
Toda a avaliação será feita on-line.
Aspectos a serem considerados na avaliação:
• iniciativa e autonomia no processo de aprendizagem e de produção de conhecimento;
• capacidade de pesquisa e abordagem criativa na solução dos problemas apresentados.
Instrumentos de avaliação:
• participação ativa nas atividades programadas;
• avaliação ao final do curso;
• o participante fará várias avaliações referente ao conteúdo do curso. Para a aprovação e
obtenção do certificado o participante deverá obter nota final maior ou igual a 6.0 de acordo
com a fórmula abaixo:
• Nota Final = ((ML x 7) + (AF x 3)) / 10 = Média aritmética das lições;
• AF = Avaliações.
2.9 Bibliografia
• Site official: http://www.ltsp.org
23
Capítulo 3
Introdução/Instalação
Este módulo abordará uma breve introdução ao LTSP e como instalar o servidor LTSP na
máquina que dará suporte às estações.
3.1 Introdução/Instalação
• Instrodução;
• Instalação;
• Instalação dos utilitários LTSP;
• ltsp admin.
3.1.1 Introdução
O LTSP fornece um meio simples de utilizar estações de baixo custo como terminais gráficos
ou caracteres em um servidor GNU/Linux.
Em uma configuração tradicional de escritório, há PC’s relativamente potentes baseados em
processadores Intel em cada mesa de trabalho. Cada um com muitos gigabytes de espaço em
disco. Os usuários armazenam seus dados no disco local, e cópias de segurança são raramente
realizadas.
Será que realmente faz sentido ter um computador completo em cada mesa?
Dependendo das condições financeiras, não.
Por sorte, há outro meio. Utilizando o LTSP, você pode ter PC’s baratos, remover seu disco
rígido, disquete, CD-ROM, e adicionar uma placa de rede com suporte a boot por rede. Muitas
placas de rede possuem encaixes, apenas esperando por um chip de boot a ser instalado.
Durante a fase de boot, a estação sem disco obtém suas informações IP e o kernel do servi-
dor, e então monta o sistema de arquivos raiz via NFS.
A estação de trabalho pode ser configurada em um dos três modos:
24
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
• Interface Gráfica X Window System
Usando o X Windows, a estação de trabalho pode ser usada para acessar qualquer
aplicação no servidor, ou em outros servidores na rede.
• Interface Caractere Sessões Telnet A estações de trabalho pode obter múltiplas sessões
telnet no servidor. Cada sessão telnet estará em uma janela virtual separada. Pressionando
Alt-F1 até Alt-F9 irá alternar entre as sessões.
• Aviso Shell A estação de trabalho pode ser configurada para cair diretamente em um shell
bash no console. Isto é muito útil quando estiver depurando problemas com o X Windows
ou NFS.
Uma coisa realmente interessante é que você pode ter várias estações de trabalho conec-
tadas a um único servidor GNU/Linux. Quantas estações de trabalho? Bem, isto depende da
capacidade do servidor e das aplicações que serão usadas. Não é comum ter 50 estações de
trabalho, todas utilizando o Mozilla e OpenOffice.org em uma Dual P4-2.4 com 4GB de ram. Nós
sabemos que funciona. De fato, a carga média estará raramente acima de 1.0.
3.1.2 Instalando o LTSP no Servidor
É melhor pensar no LTSP como uma distribuição completa de Linux. É uma distribuição que
funciona no topo de uma distribuição host. A distribuição host pode ser qualquer distribuição de
Linux que você quiser. De fato, não há nenhuma exigência real que o host esteja rodando Linux.
A única exigência é que o sistema host seja capaz de utilizar um servidor NFS (Network File Sys-
tem). A maioria dos sistemas Unix pode fazê-lo. De fato, mesmo algumas versões de Microsoft
Windows podem ser configuradas para trabalhar como um servidor LTSP.
Há três fases para construir um servidor LTSP.
• Instalação dos utilitários LTSP;
• Instalando os pacotes dos clientes LTSP;
• Configurando os serviços necessários ao LTSP.
3.1.3 Instalação dos Utilitários LTSP
A partir da versão 4.1, o LTSP possui um pacote de utilitários para a instalação e gerencia-
mento de pacotes dos clientes LTSP (O software que é executado nos clientes), e para configurar
os serviços no servidor LTSP.
O utilitário de administração é chamado de ltspadmin e a ferramenta de configuração de
ltspcfg. Ambas as ferramentas são partes do pacote ltsp-utils.
Instalando o pacote TGZ
Faça o download da última versão do pacote TGZ ltsp-utils em http://www.ltsp.org/download, e
instale-o utilizando os seguintes comandos:
25
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
• tar xzf ltsp-utils-versao.tgz ;
• cd ltsp_utils ;
• ./install.sh ;
• cd ... .
O comando acima irá instalar os utilitários LTSP no servidor.
Instalando através do APT
Caso a distribuição em que se deseja instalar o LTSP seja baseada em Debian, provavelmente
você encontrará o utilitário APT. Para instalar o LTSP basta digitar o seguinte comando no termi-
nal:
• apt-get install ltsp-utils
3.1.4 Instalando os Pacotes do Cliente LTSP
Uma vez que a instalação do pacote ltsp-utils estiver completa, você pode executar o comando
ltspadmin. Este utilitário é utilizado para gerenciar os pacotes dos clientes LTSP. Ele irá consultar
o repositório de download do LTSP, e obter a lista dos pacotes atualmente disponíveis.
Execute o comando ltspadmin e você irá ver uma tela como o seguinte:
Nesta tela, você pode escolher "Install/Update", e se esta for a sua primeira vez executando o
utilitário, ele irá exibir a tela de configuração do instalador.
26
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
Na tela de configuração, você poderá definir diversos parâmetros que o instalador irá utilizar,
para fazer o download e instalar os pacotes LTSP. Estes parâmetros são:
• Where to retrieve packages from:
esta é a URL, que aponta para o repositório de pacotes. Tipicamente, deverá ser
http://www.ltsp.org/ltsp-4.1, mas se você desejar instalar os pacotes de um sistema de ar-
quivos local, poderá usar file:. Por exemplo, se os pacotes estiverem em um CD-ROM, e
você tiver montado o CD-ROM em /mnt/cdrom, então o valor para o repositório de pacotes
será: file:///mnt/cdrom. (Note as três barras).
• In which directory would you like to place the LTSP client tree:
este é o diretório no servidor, onde você deseja manter a árvore dos clientes LTSP.
Tipicamente, será: /opt/ltsp. O diretório será criado, caso o mesmo ainda não exista;
dentro deste diretório, o diretório raiz para cada uma das arquiteturas será criado. Atu-
almente, apenas as estações x86 são oficialmente suportadas pelo LTSP, mas há várias
pessoas trabalhando em ’ports’ para outras arquiteturas, como PPC e SPARC.
• HTTP Proxy:
se o servidor estiver por trás de um firewall, e o acesso a web deva ser feito através
de um proxy, você pode configurar o instalador para usar o proxy aqui. Os valores devem
conter a URL para o proxy, incluindo o protocolo e a porta. Se você não precisa de um
proxy, deverá configurar esta opção para "none".
• FTP Proxy:
para pacotes localizados em um servidor FTP, se você precisar acessar através de um
proxy FTP, você pode informar aqui. A sintaxe é similar para a opção proxy HTTP acima;
se você não precisa de um proxy, deverá configurar esta opção para "none".
27
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
Uma vez que você tenha concluído a tela da configuração, o instalador consultará o repositório
de pacotes e obterá a lista dos componentes atualmente disponíveis.
Selecione cada um dos componentes que deseja instalar. Para selecionar um componente,
mova a linha de destaque para o componente desejado e pressione ’I’ para selecionar o compo-
nente individual. Você pode pressionar também ’A’ para selecionar TODOS os componentes. Na
maioria das vezes, será este o seu objetivo. Desta forma, você poderá dar suporte à maioria dos
hardwares dos terminais.
Há várias teclas que podem ser utilizadas para navegar nesta tela. Você pode obter ajuda
para estas, pressionando a tecla ’ H’.
28
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
Se você deseja ver a lista de pacotes que estão em um determinado componente, você pode
pressionar ’S’, e a lista de pacotes será exibida. Será mostrada a versão atualmente instalada,
bem como a última versão disponível.
Uma vez que os componentes desejados estejam selecionados, você pode sair da tela de
seleção de componentes. O instalador irá perguntar a você, para se certificar que você realmente
deseja instalar/atualizar os pacotes selecionados. Se você responder ’Y’, então ele irá fazer o
download e a instalação dos pacotes selecionados.
29
Capítulo 4
Configuração do Servidor
Existem uma série de serviços que devem ser configurados para que o servidor LTSP funcione
corretamente. Entre estes serviços podemos citar: DHCP, NFS, TFTP e XDMCP. Vejamos como
isto funciona.
• Configuração;
• Configurações específicas da estação.
4.1 Configuração
4.1.1 Configuração
Há quatro serviços básicos necessários para suportar o boot de uma estação LTSP. São eles:
• DHCP;
• TFTP;
• NFS;
• XDMCP.
O ltspcfg pode ser utilizado para configurar todos estes serviços, além de muitas outras coisas
relacionadas ao LTSP.
Você pode acessar o ltspcfg do ltspadmin, ou pode executá-lo digitando ltspcfg em um shell.
Quando você executar o utilitário ltspcfg, ele irá verificar o servidor, para determinar o que
está atualmente instalado e executando. Você verá uma tela como esta:
30
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
Esta tela mostra todos os itens que o utilitário procura.
Para configurar todos os itens que precisam de configuração, escolha ’C’, e o menu de con-
figuração será exibido. Do menu de configuração, você precisará percorrer por cada item, para
certificar-se que estes estão configurados corretamente para servir às estações LTSP.
• 1 - Runlevel:
A variável Runlevel é usada pelo programa init. Com sistemas GNU/Linux e Unix, em
um determinado momento, é dito estar em um "Runlevel"específico. Os Runlevels 2 ou 3
31
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
são tipicamente usados quando o servidor está em modo texto. O Runlevel 5 tipicamente
indica que o sistema está em modo gráfico com suporte a rede;
para um servidor LTSP, tradicionalmente o Runlevel 5 é usado. A maioria dos sistemas
já está configurada para servir NFS e XDMCP quando no Runlevel 5. Para aqueles sistemas
que ainda estão configurados para este fim, este utilitário tomará conta deles.
• 2 - Interface selection:
para sistemas que possuem múltiplas interfaces de rede, você precisará especificar
qual interface os Thin clients estão conectados;
selecionando a interface, a ferramenta de configuração está apta para criar os outros
arquivos de configuração apropriados, como os arquivos dhcpd.conf e /etc/exports.
• 3 - DHCP configuration:
o DHCP precisa ser configurado para fornecer as informações necessárias para as
estações. Entre estas informações estão fixed-address, filename, subnet-mask, broadcast-
address e root-path;
selecionando este artigo de menu, você estará apto para criar o arquivo de configuração
dhcpd.conf, e então ativar o dhcpd para executar no início do sistema.
• 4 - TFTP configuration:
o TFTP é usado pelo ’thin client’ para fazer o download do kernel Linux. O serviço tftpd
precisa ser ativado no servidor, para servir os kernels.
• 5 - Portmapper configuration:
O Portmapper é usado pelos serviços RPC. Cada um dos serviços RPC, tal como o
NFS.
• 6 - NFS configuration:
o NFS é o serviço que permite que a árvore de diretórios local seja montada nas má-
quinas remotas. Este é necessário ao LTSP, porque as estações montam seus sistemas de
arquivos raiz do servidor;
este item de menu irá cuidar para que o serviço NFS seja configurado para iniciar com o
sistema. O arquivo de configuração é /etc/exports e sua criação será descrita mais adiante
nesta seção.
• 7 - XDMCP configuration:
o XDMCP é o "X Display Manager Control Protocol". O servidor X envia uma requisição
XDMCP para o gerenciador de ’Display’ no servidor para obter uma tela de login;
os gerenciadores de ’display’ comumente em uso são o XDM, GDM e KDM. Este item
de menu irá mostrar qual gerenciador de ’display’ foi encontrado, e qual está configurado
para executar;
por medida de segurança, o gerenciador de ’Display’ é configurado por padrão para não
permitir as conexões de estações remotas. Esta é normalmente a razão para a Gray screen
with large X cursor. O ltspcfg pode normalmente configurar o gerenciador de ’display"para
permitir que estações remotas se conectem ao servidor.
32
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
• 8 - Create /etc/hosts entries:
muitos serviços, como o NFS e o gerenciador de ’Display’ precisam mapear o endereço
IP da estação para um nome de host. Você pode configurar o Berkeley Intenet Naming
Daemon (BIND) para fazer isto, mas você deve certificar-se de configurar o reverses cor-
retamente. Finalmente, usar o BIND é provavelmente a melhor maneira fazê-lo, mas a
configuração do BIND é além da finalidade deste documento e do utilitário ltspcfg;
uma maneira mais simples para configurar o mapeamento de endereços IP e nomes de
host é o arquivo /etc/hosts.
• 9 - Create /etc/hosts.allow entries:
alguns serviços usam uma camada de segurança conhecida como tcpwrappers. Este é
configurado através do arquivo /etc/hosts.allow. Este item do menu irá configurar isto para
você.
• 10 - Create the /etc/exports file:
este é o arquivo usado pelo NFS, para determinar quais diretórios permitem ser monta-
dos por máquinas remotas. Este item do menu criará este arquivo.
• 11 - Create the lts.conf file:
a configuração de cada estação é direcionada por entradas no arquivo lts.conf. Para
estações razoavelmente modernas com um barramento PCI, não deve ser necessária ne-
nhuma entrada adicional no lts.conf. Mas, o arquivo ainda precisa existir. Este item do menu
criará o arquivo lts.conf padrão para você.
4.1.2 Configurações específicas da estação
Agora, é o momento de informar o servidor LTSP sobre uma estação específica. Há três ar-
quivos que contêm informações sobre as estações de trabalho.
• /etc/dhcpd.conf;
• /etc/hosts;
• /opt/ltsp/i386/etc/lts.conf.
/etc/dhcpd.conf
A estação precisa de um endereço IP e outras informações. Ela irá obter as seguintes do servidor
DHCP:
• Endereço IP;
• Nome de host;
• Endereço IP do servidor;
• Gateway padrão;
• Caminho do kernel a ser carregado;
33
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
• Servidor e caminho para o diretório que será montado como sistema de arquivos raiz.
Para o nosso exemplo de ambiente LTSP, nós escolhemos o DHCP para gerenciar a atribuição
de endereços IP das estações.
Durante a execução do script ltsp_initialize script, um arquivo dhcpd.conf é instalado. Ele es-
tará localizado em /etc/dhcpd.conf.example, você pode copiá-lo para /etc/dhcpd.conf para utilizá-
lo como base para a sua configuração do serviço DHCP. Você precisará modificar as partes deste
arquivo que referenciam o ambiente de servidor(s) e estações.
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.254;
option domain-name-servers 192.168.0.254;
option domain-name "ltsp.org";
option root-path "192.168.0.254:/opt/ltsp/i386";
shared-network WORKSTATIONS {
subnet 192.168.0.0 netmask 255.255.255.0 {
}
}
group {
use-host-decl-names on;
option log-servers 192.168.0.254;
host ws001 {
hardware ethernet 00:E0:18:E0:04:82;
fixed-address 192.168.0.1;
filename "/lts/vmlinuz.ltsp";
}
}
Desde a versão 2.09pre2 do LTSP, você não precisa especificar um kernel particular a ser car-
regado. O pacote padrão do kernel suporta todos as placas da rede que o Linux suporta. Há dois
arquivos de kernel incluídos no pacote do kernel LTSP. Um kernel tem o ’Linux Progress Patch’
(LPP) aplicado, e o outro não. Os nomes para os kernels são:
• vmlinuz-2.4.9-ltsp-5 ;
• vmlinuz-2.4.9-ltsp-lpp-5 .
34
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
Você pode ter observado que o kernel reside no diretório /tftpboot/lts, mas na entrada "filename"no
arquivo /etc/dhcpd.conf está faltando o componente tftpboot do caminho. Isto é porque nas ver-
sões 7,1 e superiores do Redhat, o TFTP está sendo executado com a opção ’-s’. Esta opção
leva ao daemon do tftpd a funcionar na modalidade secure. Isto é, faz um chroot para o di-
retório/tftpboot quando inicia. Conseqüentemente, todos os arquivos que estão disponíveis ao
daemon do tftpd são relativos ao diretório tftpboot.
Outras distribuições Linux podem não possuir a opção ’-s’ configurada para o tftpd, desta
forma você precisará adicionar o prefixo /tftpboot ao caminho do kernel.
• /etc/hosts;
• Mapeamento de endereços IP para nome de máquina.
Os computadores comunicam-se perfeitamente com os endereços do IP. Então, nós seres
humanos precisamos por nomes nos computadores, porque não podemos recordar os números.
É onde o DNS ou o arquivo /etc/hosts entra no jogo. Este mapeamento de endereços IP para
nomes de host geralmente não é necessário, exceto em um ambiente LTSP. Isto porque sem ele,
o NFS lhe dará erros das permissões quando a estação de trabalho tenta montar o sistema de
arquivos raiz.
Além dos problemas com o NFS, se a estação de trabalho não estiver listada no arquivo
/etc/hosts, você poderá ter problemas também com gerenciadores de telas GDM ou KDM.
• /opt/ltsp/i386/etc/lts.conf
Há um número de entradas de configuração que podem ser especificadas no arquivo lts.conf.
O arquivo lts.conf possui uma sintaxe simples, que consiste em seções múltiplas. Há uma
seção padrão chamada [default] e pode haver seções para estações individuais. As estações
podem ser identificadas pelo nome de host, pelo endereço IP ou pelo endereço MAC.
Um arquivo lts.conf típico se parece com este:
#
# Config file for the Linux Terminal Server Project
#
[Default]
SERVER = 192.168.0.254
XSERVER = auto
X_MOUSE_PROTOCOL = "PS/2"
X_MOUSE_DEVICE = "/dev/psaux"
X_MOUSE_RESOLUTION = 400
X_MOUSE_BUTTONS = 3
USE_XFS = N
LOCAL_APPS = N
35
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
RUNLEVEL = 5
[ws001]
USE_NFS_SWAP = Y
SWAPFILE_SIZE = 48m
RUNLEVEL = 5
[ws002]
XSERVER = XF86_SVGA
LOCAL_APPS = N
USE_NFS_SWAP = Y
SWAPFILE_SIZE = 64m
RUNLEVEL = 3
Arquivo lts.conf
Abaixo, uma lista das principais entradas:
• XSERVER:
se sua placa de vídeo é PCI, e se esta é suportada pelo X.org 6.7.0, então você apenas
precisa do pacote lts_x_core. Este contém todos os módulos de driver para o X4. Há vários
pacotes do XFree86 3.3.6 disponíveis para o LTSP. Isto é para o caso de sua placa de vídeo
não ser suportada pelo X.org 6.7.0. Você pode criar entradas no arquivo lts.conf para cada
estação individual, ou você pode criar uma entrada padrão que pode ser compartilhada por
todas as estações. Nossa estação de trabalho possui uma placa de vídeo com chipset Intel
i810, e esta pode ser detectada automaticamente, então nós não precisaremos de uma
entrada XSERVER no arquivo lts.conf. A entrada XSERVER pode ser especificada, se você
desejar, ou esta pode ser configurada para ’auto’ para mostrar que a placa de vídeo será
detectada automaticamente.
• RUNLEVEL:
queremos utilizar a estação de trabalho no modo gráfico, desta forma, precisamos que
o runlevel esteja configurado para ’5’. Isto é feito por outra entrada no arquivo lts.conf.
• Exibindo a configuração atual:
com o comando ltspcfg, você pode obter o status atual da configuração de todos os
serviços necessários ao LTSP. Através do menu principal do ltspcfg, pressione ’S’, e você
irá ver o status atual.
36
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
37
Capítulo 5
Configurando a Estação de Trabalho
Uma vez que o servidor esteja configurado, é hora de concentrar-se na configuração da esta-
ção de trabalho. Tudo o que acontece depois que o kernel está na memória é sobre o projeto de
LTSP. Há diversas maneiras de por o kernel na memória, incluíndo Etherboot, Netboot, PXE e o
disquete.
5.1 Teoria da Operação
• Passos;
• Carregando o kernel na memória.
5.1.1 Passos
Iniciar uma estação sem disco envolve alguns passos. Entender o que está acontecendo ao
longo do processo irá tornar muito mais fácil a solução de problemas se eles chegarem a aconte-
cer.
Há quatro serviços básicos que são necessários para iniciar uma estação LTSP. São eles:
• DHCP;
• TFTP;
• NFS;
• XDMCP.
O LTSP é muito flexível. Cada um dos serviços relacionados acima podem ser oferecidos pelo
mesmo servidor, ou de diferentes servidores. Por exemplo, iremos descrever uma configuração
simples, na qual consiste de um único servidor, fornecendo todos os serviços acima.
As etapas que a estação de trabalho passará
1. Carregar o kernel Linux na memória da estação de trabalho. Isto pode ser feito de diferentes
maneiras, incluindo:
38
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
• Bootrom (Etherboot,PXE,MBA,Netboot);
• Disquete;
• Disco rígido;
• CD-ROM;
• Dispositivos de armazenamento USB.
2. Uma vez que o kernel tenha sido carregado na memória, ele iniciará sua execução;
3. O kernel irá iniciar todo o sistema básico e todos os periféricos que reconhecer;
4. É aqui que a diversão começa realmente. Durante o processo de carga do kernel, a imagem
de um ramdisk também será carregada em memória. Um argumento na linha de comando
do kernel root=/dev/ram0 o informa para montar a imagem como o diretório raiz;
5. Normalmente, quando o kernel finaliza sua carga, ele carregará o programa init. Mas, neste
caso, instruímos o kernel para carregar um pequeno shell script em vez do padrão. Fazemos
isto passando init=/linuxrc na linha de comando do kernel;
6. O script /linuxrc inicia por analisar o barramento PCI, procurando por uma placa de rede.
Para cada dispositivo PCI que ele encontrar, será feita uma busca no arquivo /etc/niclist,
para ver se há uma coincidência. Uma vez que coincidência é encontrada, o nome do
módulo da placa de rede é retornado, e o modulo do kernel é carregado. Para as placas
ISA, o módulo precisa ser especificado na linha de comando do kernel, juntamente com
qualquer endereço IRQ, ou parâmetros de endereço que possam ser requeridos;
7. Um pequeno cliente DHCP chamado dhclient irá então, ser executado para realizar outra
consulta ao servidor DHCP. É preciso fazer esta consulta no espaço de usuário, porque pre-
cisamos de mais informações do que foram obtidas pela consulta ao DHCP pelo bootrom;
8. Quando o dhclient receber uma resposta do servidor, ele irá executar o arquivo /etc/dhclient-
script, o qual utilizará as informações recebidas, e configurará a interface eth0;
9. Até este ponto, o sistema de arquivos raiz era um disk. Agora, o script /linuxrc irá montar
um novo sistema de arquivos raiz via NSF. O diretório exportado do servidor é tipicamente
/opt/ltsp/i386. Ele não pode simplesmente montar o novo sistema de arquivos como /. Ele
primeiro precisa montar este em /mnt. Então, ele chama pivot_root. A pivot_root irá trocar
o sistema de arquivos raiz atual por um novo sistema de arquivos. Quando ele completar,
o sistema de arquivos NFS estará montado como / e o sistema de arquivos raiz anterior
estará montado em /oldroot;
10. Uma vez que a montagem e troca do novo sistema de arquivos raiz estiver completa, nós
terminamos com o shell script /linuxrc e precisamos chamar o programa /sbin/init real;
11. O Init irá ler o arquivo /etc/inittab e começará a configurar o ambiente da estação;
12. Um dos primeiros ítens é o arquivo inittab. É o comando rc.sysinit que será executado
enquanto a estação estiver no estado ’sysinit’;
13. O script rc.sysinit irá criar um disco em memória de 1MB para conter todas as coisas que
precisam ser gravadas ou modificadas de alguma forma;
39
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
14. O ramdisk será montado como o diretório /tmp. Qualquer arquivo que precisa ser gravado,
existirá atualmente no diretório /tmp haverá links simbólicos apontando para estes arquivos;
15. O sistema de arquivo /proc está montado;
16. O arquivo lts.conf será processado, e todos os parâmetros neste arquivo que pertencem a
esta estação, serão configurados nas variáveis de ambiente para uso do script rc.sysinit;
17. Se a estação estiver configurada para usar SWAP via NFS, o diretório /var/opt/ltsp/swapfiles
será montado como /tmp/swapfiles. Então, se ainda não existir um arquivo de swap para
esta estação, ele será criado automaticamente. O tamanho do arquivo de swap é confi-
gurado no arquivo lts.conf . O arquivo de swap será então ativado, através do comando
swapon;
18. A interface de rede loopback é configurada. Esta é a interface de rede que usa o endereço
IP 127.0.0.1. ;
19. Se as aplicações locais estiverem ativadas, então o diretório /home será montado, de forma
que as aplicações possam acessar o diretório pessoal dos usuários;
20. Diversos diretórios são criados. O sistema de arquivos /tmp para manter alguns dos ar-
quivos transitórios que são necessários durante a execução do sistema. Diretórios como a
seguir serão todos criados:
• /tmp/compiled;
• /tmp/var;
• /tmp/var/run;
• /tmp/var/log;
• /tmp/var/lock;
• /tmp/var/lock/subsys.
21. O arquivo /tmp/syslog.conf será criado. Este arquivo conterá informações com a localização
do daemon syslogd o qual irá armazenar as informações enviadas pela rede. O computador
com o serviço syslog é especificado no arquivo lts.conf. Há um link simbólico chamado
/etc/syslog.conf que aponta para o arquivo /tmp/syslog.conf;
22. O daemon syslogd é iniciado, usando o arquivo de configurações criado no passo anterior;
23. Uma vez que o script rc.sysinit script estiver concluído, o controle retorna para o programa
/sbin/init, o qual irá mudar o runlevel de sysinit para 5. Isto fará com que todas as entradas
no arquivo /etc/inittab sejam executadas;
24. Por padrão, haverá uma entrada no inittab para executar o script /etc/screen_session no
tty1, tty2 e tty3. Isto significa que você pode executar 3 sessões ao mesmo tempo, e o
tipo da sessão e controlado pelas variáveis SCREEN_01, SCREEN_02 e SCREEN_03 no
arquivo lts.conf . Mais entradas podem ser configuradas no inittab para mais sessões, se
desejado;
25. Se SCREEN_01 é configurada para o valor startx, então, o script /etc/screen.d/startx será
executado, o qual irá lançar o X Windows System, dando-lhe uma interface gráfica de usuá-
rio. Há um parâmetro chamado XSERVER no arquivo lts.conf, Se este parâmetro estiver
40
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
faltando, ou configurado para "auto", então uma detecção automática da placa de vídeo será
tentada. Se a placa for PCI ou AGP, então serão obtidos o PCI Vendor e o Device id, e feita
uma busca no arquivo /etc/vidlist. Se a placa for suportada pelo Xorg 6.7, a rotina pci_scan
irá retornar o nome do módulo do driver. Se esta for suportada apenas pelo XFree86 3.3.6,
o pci_scan irá retornar o nome do servidor X a ser usado. O script startx pode informar a di-
ferença por que os nomes dos módulos do X Server 3.3.6 começam com ’XF86_’, enquanto
na nova versão do X Server Xorg, os nomes dos módulos são tipicamente em minúsculas,
como ati ou trident;
26. Se o Xorg for usado, então o script /etc/build_x4_cfg será chamado para criar um arquivo
XF86Config file. Se o XFree86 3.3.6 for usado, então o script /etc/build_x3_cfg será cha-
mado para criar o arquivoXF86Config. Estes arquivos serão postos no diretório /tmp .
Os quais, se você estiver lembrado, é um ramdisk, visto apenas pela estação. O arquivo
XF86Config será criado, baseado nas entradas do arquivo /etc/lts.conf;
27. Uma vez que o arquivo XF86Config foi criado, então o script startx irá carregar o X Server
com aquele novo arquivo de configuração;
28. O X Server irá enviar uma consulta XDMCP para o servidor LTSP, o qual irá oferecer um
diálogo de login;
29. Neste ponto, o usuário pode logar. Ele irá obter uma sessão no servidor.
Em um primeiro momento, isto confunde muitas pessoas. Elas estão à estação, mas elas
estão executando uma sessão no servidor. Todos os comandos que elas executam, serão execu-
tados no servidor, mas a saída será mostrada na estação.
5.1.2 Carregando o Kernel na Memória
Pôr o kernel Linux dentro das memórias das estações pode ser feito de várias maneiras.
• Boot ROM
Etherboot
O Etherboot é um projeto de bootrom open-source muito popular. Ele contém drivers
para muitas placas de rede comuns, e funciona muito bem com o LTSP. O kernel Linux pre-
cisa ser ’rotulado’ com o mknbi-linux, o qual irá preparar o kernel para boot via rede, através
da prefixação do kernel com alguns códigos adicionais e anexando uma initrd ao final do
kernel. O kernel que é fornecido com o LTSP já está ’rotulado’ e pronto para uso com o
Etherboot. O Etherboot também pode ser gravado em disquete, funcionando perfeitamente
para testes.
PXE
Parte da especificação ’Wired for Management’ da década de 1990 incluiu a espe-
cificação de uma tecnologia de bootrom conhecida como Pre-boot Execution Environment
41
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
comumente abreviada como PXE. Uma bootrom PXE bootrom pode carregar até no má-
ximo um arquivo de 32 Kilobytes. Um kernel Linux é um pouco maior que isto. Por isso,
configuramos um carregador de boot de segundo estágio chamado pxelinux. O pxelinux é
pequeno o bastante para ser carregado, e ele sabe como carregar arquivos grandes, como
o kernel Linux.
MBA
O Managed Boot Agent (MBA) é uma bootrom de uma companhia chamada emBoot.
A emBoot foi utilizada como a divisão Lanworks da 3Com. O MBA é na realidade, quatro
bootroms em uma. Ele irá tratar PXE, TCP/IP, RPL e Netware. A implementação PXE do
MBA funciona muito bem. Você pode usá-la com o pxelinux para carregar o kernel Linux. O
método TCP/IP pode ser usado, mas antes, o kernel precisa ser preparado com um utilitário
chamado imggen.
Netboot
O Netboot, assim como Etherboot, é um projeto de software livre que fornece ima-
gens ROM livres para boot. A diferença é que ele é um ’invólucro’ para o driver NDIS ou
drivers de pacotes distribuídos com as placas de rede.
• Mídia Local
Disquetes
Há dois modos de iniciar uma estação LTSP com disquete. Um modo é carregar o
Etherboot no setor de boot do disquete. Então, ele funcionará como uma bootrom. O código
de boot será executado, a placa de rede será iniciada, e o kernel será carregado do servi-
dor de rede. Você poderá também gravar o kernel e a initrd no disquete e iniciar daquela
maneira. Entretanto, atualmente, é mais rápido carregar o kernel via rede.
Disco rígido
O disco rígido pode ser usado com o LILO ou GRUB, para carregar o kernel Linux e a
initrd ou você pode carregar uma imagem bootrom Etherboot do disco rígido, e esta atuará
como uma bootrom.
CD-ROM
Um CD-ROM ’bootavel’ pode ser carregado com o kernel Linux ou uma imagem Ether-
boot.
Dispositivos de armazenamento USB
42
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
Assim como o CD-ROM, disquete e disco rígido, você pode usar um dispositivo de
armazenamento USB tanto para iniciar um módulo Etherboot, como um kernel Linux e uma
imagem initrd.
5.2 Configurando a Estação de Trabalho
• Estação de trabalho;
• Carga com PXE;
• Etherboot;
• Ligando a Estação.
5.2.1 Estação de Trabalho
Uma vez que o servidor esteja configurado, é hora de concentrar-se na configuração da esta-
ção de trabalho.
Tudo o que acontece depois que o kernel está na memória é sobre o projeto de LTSP. Há
diversas maneiras de pôr o kernel na memória, incluíndo Etherboot, Netboot, PXE e o disquete.
5.2.2 Carga com PXE
Se sua placa de rede possui PXE embutido, então você pode usá-la para carregar o kernel do
Linux. PXE é uma tecnologia de bootrom, similar a Etherboot ou a Netboot.
Talvez você precise ativar o bootrom PXE em sua placa de rede. Você também pode precisar
mudar a ordem dos dispositivos de boot em sua BIOS, para fazer a "Boot from LAN"a primeira
escolha, ao invés de "Floppy"ou "HDD".
O PXE tem uma limitação de somente poder carregar arquivos de 32kb ou menores. O ker-
nel do Linux é um pouco maior que esta limitação, desta forma não é possível carregar o kernel
Linux diretamente com o PXE. Você precisa carregar algo conhecido como ’Network Bootstrap
Program’ ou NBP.
Há um NBP disponível para carregar o kernel Linux chamado de pxelinux.0. Este é parte do
pacote syslinux de H. Peter Anvin, um dos desenvolvedores do kernel.
O pacote LTSP do kernel inclui o NBP pxelinux.0 e o arquivo de configuração necessário para
carregar o kernel Linux e a imagem do ramdisk.
A maneira de funcionamento é esta:
• a bootrom PXE inicia a placa de rede e envia uma requisção DHCP;
43
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
• o servidor DHCP responde à requisição com um endereço IP, e o nome do NBP a ser
carregado;
• a bootrom PXE faz o download do NBP, o põe em memória e inicia sua execução;
• o NBP utiliza-se do tftp para fazer o download do arquivo de configuração do servidor;
• o arquivo de configuração contém o nome do kernel, o nome do arquivo ramdisk inicial, e
opções a serem passadas ao kernel, quando este for carregado.
Aqui está um arquivo de configuração exemplo do pxelinux:
prompt=0
label linux
kernel bzImage-2.4.24-ltsp-4
append init=/linuxrc rw root=/dev/ram0 initrd=initrd-2.4.24-ltsp-4.gz
O NBP então usa o tftp para fazer o download do kernel Linux, e do ramdisk inicial (initrd).
O controle é então passado ao kernel Linux, este é carregado em memória, monta o initrd, e
continua com o inicio do thin clinet.
5.2.3 Carga com Etherboot
O Etherboot é um pacote de software para criar imagens ROM que possam realizar o down-
load de código sobre uma rede Ethernet a ser executado em um computador x86. Muitas placas
de rede têm um soquete onde um chip de ROM pode ser instalado. O Etherboot é o código que
pode ser posto em tal ROM.
O Etherboot é também Open Source, protegido pela GNU General Public License, Version 2
(GPL2). Para usar o Etherboot, se você já possui uma placa de rede com uma bootrom Etherboot,
talvez precise modificar a configuração de sua BIOS para escolher a opção "Boot from LAN"para
a carga do sistema operacional ao invés de "Floppy"ou "HDD".
Se você não possui uma bootrom Etherboot, você pode ou criar uma bootrom, ou você pode
criar um disquete com uma imagem Etherboot em seu setor de boot.
O Etherboot suporta um vasto número de placas de rede. Mais de 200 modelos, com mais
sendo adicionados todo o tempo. Se você escolher criar um disquete ou gravar o código em uma
Eprom, precisará determinar qual o modelo de placa de rede possui.
• Escolhendo um driver Etherboot para placas de rede ISA
Para placas de rede antigas baseadas no padrão ISA, não é tão importante que você
determine o tipo exato. Primeiro, a maioria delas são placas ne2000 ou 3Com 3c509. Você
precisa apenas obter o driver Etherboot correto, o que seleciona o tipo correto de mídia na
placa 10 base-2 (Coax) e 10 base-T (Twisted pair).
44
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
• Escolhendo um driver Etherboot para placas de rede PCI
Para as placas de rede PCI, é importante escolher o driver Etherboot que corresponda
ao código PCI do fabricante e da placa de rede.
Às vezes, você terá sorte. Saberá exatamente que modelo de placa de rede tem, por
que o modelo é impresso na própria placa de rede, e bate exatamente com a descrição dos
módulos no Etherboot. Mas, em muitos casos, será necessário encontrar os números do
PCI ID.
Se sua estação de trabalho tiver uma drive de disquete, você pode carregar um disquete
tomsrtbt (Tom’s Root Boot). Ou, se sua estação de trabalho tiver uma unidade de CD-ROM, você
pode carregar um CD do Knoppix. Se você não puder carregar o linux em sua estação de traba-
lho, então sua única esperança pode ser mover a placa de rede para uma estação de trabalho
que possa carregar o Linux.
Uma vez que tenha o Linux carregado, você pode usar o comando lspci com a opção ’-n’.
[root@jamlaproot]# lspci -n
0000:00:00.0 Class 0600: 8086:7190 (rev 03)
0000:00:01.0 Class 0604: 8086:7191 (rev 03)
0000:00:03.0 Class 0607: 104c:ac1c (rev 01)
0000:00:03.1 Class 0607: 104c:ac1c (rev 01)
0000:00:07.0 Class 0680: 8086:7110 (rev 02)
0000:00:07.1 Class 0101: 8086:7111 (rev 01)
0000:00:07.2 Class 0c03: 8086:7112 (rev 01)
0000:00:07.3 Class 0680: 8086:7113 (rev 03)
0000:00:08.0 Class 0401: 125d:1978 (rev 10)
0000:01:00.0 Class 0300: 1002:4c4d (rev 64)
0000:06:00.0 Class 0200: 8086:1229 (rev 09)
No exemplo acima, você pode ver uma entrada para cada placa PCI no sistema. Você preci-
sará procurar apenas os dispositivos Class 0200. Desta forma, executado novamente o comando,
procurando apenas por interfaces Ethernet, a lista torna-se muito mais gerenciável.
[root@jamlaproot]# lspci -n | grep "Class 0200"
0000:06:00.0 Class 0200: 8086:1229 (rev 09)
Os números do PCI ID são: 8086:1229. O primeiro campo, 8086 é o PCI ID do fabricante.
Neste exemplo, o fabricante é a Intel Corporation. O segundo campo, 1229 é o PCI ID do dis-
positivo. Este nos informa qual o modelo da placa de rede. Neste caso, é uma placa de rede
EtherExpress 100.
Criando um disquete de boot
Você pode fazer o download do pacote Etherboot e configurá-lo para o tipo de bootrom que preci-
sar. Então, você pode compilar o fonte para produzir uma imagem bootrom que possa ser gravada
45
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
em uma EPPROM ou em um disquete.
Uma abordagem simples é ir ao site do Marty Connor’s www.Rom-O-Matic.net.
O Marty fez um bom trabalho ao por um front-end web para configuração e compilação da ge-
ração de imagens bootrom Etherboot. Neste site, você seleciona o tipo de placa de rede que tem
e que tipo de imagem deseja. Então, você tem a oportunidade de modificar muitas das opções
de configuração do Etherboot. Então, você pode pressionar o botão ’Get ROM’ e uma imagem
bootrom personalizada será gerada enquando você espera.
Para o formato de saída da ROM, escolhar ’Floppy Bootable ROM Image’. Isto irá ocasionar a
inclusão de um cabeçalho de 512 bytes que é um boot loader para carregar a imagem etherboot
na memória ram onde esta possa ser executada.
Pressione o botão ’Get ROM’. A imagem bootrom será gerada enquanto você espera. Isto
leva apenas alguns segundos, e quando completar, seu navegador irá abrir a janela de "Salvar
como"onde você pode definir onde a imagem bootrom será salva em seu computador.
Uma vez que tenha salvo a imagem em seu disco, você precisará gravá-la em um disquete.
Insira um disquete na unidade e execute o seguinte comando para gravar o disquete:
• dd if=Etherboot_Image of=/dev/fd0
5.2.4 Ligando a Estação
Assumindo que o servidor e a estação estão configurados corretamente, é necessário apenas
inserir um disquete de boot na estação de trabalho e ligá-la.
O código de Etherboot será lido do disquete para a memória, a placa de rede será encontrada
e inicializada, uma requisição dhcp será emitida na rede e uma resposta será emitida pelo servidor
e será feito o download do kernel para a estação de trabalho. Uma vez que o kernel inicializou o
hardware da estação de trabalho, o X Windows irá iniciar e uma tela de login deve aparecer na
estação de trabalho, similar ao exemplo abaixo:
46
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
Neste ponto, você pode logar. Uma coisa importante a ter em mente é que você está logando
no servidor. Todos os comandos que você executar, estarão sendo executados no servidor, e
sua saída mostrada na estação de trabalho. Isto é o poder do X Windows. Você pode executar
qualquer programa que seja suportado pelo servidor.
47
Capítulo 6
Problemas Técnicos
Se, após todas as configurações, sua estação de trabalho não carregar, então você deve
começar o processo de pesquisar os problemas de instalação. Esta lição mostrará diversos meios
de solucionar problemas.
6.1 Solucionando problemas
• Solucionando problemas em disquetes com imagens Etherboot;
• DHCP;
• TFTP;
• NFS;
• Xserver;
• Gerenciador de Telas.
6.1.1 Solucionando Problemas em Disquetes com Imagens Etherboot
Quando você iniciar por um disquete, você deverá ver algo similar a isto:
loaded ROM segment 0x0800 length 0x4000 reloc 0x9400
Etherboot 5.0.1 (GPL) Tagged ELF for [LANCE/PCI]
Found AMD Lance/PCI at 0x1000, ROM address 0x0000
Probing...[LANCE/PCI] PCnet/PCI-II 79C970A base 0x1000, addr 00:50:56:81:00:01
Searching for server (DHCP)...
<sleep>
O exemplo acima mostra o que você poderá ver na tela quando estiver iniciando um disquete.
Se você não vir aquelas mensagens, indicando que o Etherboot iniciou, então você pode ter um
disquete com defeito, ou você não gravou a imagem corretamente. Se, você vir uma mensagem
como a seguinte, então isto indica que provavelmente a imagem Etherboot que você gerou não é
a imagem correta para sua placa de rede.
48
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
ROM segment 0x0800 length 0x8000 reloc 0x9400
Etherboot 5.0.2 (GPL) Tagged ELF for [Tulip]
Probing...[Tulip]No adapter found
<sleep>
<abort>
Se for até o ponto onde ele detecta a placa de rede e mostrar o endereço MAC correto, então
o disquete provavelmente está normal.
6.1.2 DHCP
Uma vez que a placa de rede esteja iniciada, ela irá enviar uma requisição DHCP para a rede
local, procurando por um servidor DHCP.
Se a estação de trabalho receber uma resposta válida do servidor DHCP, então ela configura-
rará a placa de rede. Você saberá se funcionou corretamente caso as informações de endereço
IP forem indicadas na tela. Aqui está um exemplo de como deve aparecer:
ROM segment 0x0800 length 0x4000 reloc 0x9400
Etherboot 5.0.1 (GPL) Tagged ELF for [LANCE/PCI]
Found AMD Lance/PCI at 0x1000, ROM address 0x0000
Probing...[LANCE/PCI] PCnet/PCI-II 79C970A base 0x1000, addr 00:50:56:81:00:01
Searching for server (DHCP)...
<sleep>
Me: 192.168.0.1, Server: 192.168.0.254, Gateway 192.168.0.254
Se você vir uma linha que começa com ’Me:’, seguida por um endereço IP, então você sabe
que o DHCP está funcionando corretamente. Você pode ir em frente e verificar se o TFTP está
funcionando.
Se ao invés, você vir a seguinte mensagem na estação de trabalho, seguida de várias men-
sagens <sleep>, então algo está errado. Embora, seja comum ver uma ou duas mensagens
<sleep>, depois da resposta do servidor dhcp.
Searching for server (DHCP)...
Descobrir o que está errado pode ser algumas vezes difícil, mas aqui estão algumas coisas a
observar.
• Verificar conexões
A estação de trabalho está conectada à mesma rede que o servidor está conectado?
Com a estação de trabalho ligada, certifique-se de que as luzes de conexão estão acesas durante
toda a conexão.
49
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
Se você estiver conectando diretamente a estação e o servidor (sem hub ou switch), certifique-se
que você está usando um cabo cross-over. Se você estiver usando um hub ou switch, então
certifique-se de estar utilizando um cabo normal straight-thru, entre ambos a estação e o hub, e
o hub e o servidor.
O DHCP está sendo executado?
Você precisa determinar se o dhcpd está sendo executado no servidor. Podemos encontrar a
resposta de uma grande variedade de modos.
O dhcpd normalmente permanece em segundo plano, ouvindo na porta udp 67. Tente executar o
comando netstat para ver se existe algo ouvindo nesta porta:
netstat -an | grep ":67 "
Você deverá ver uma saída similar a esta:
udp 0 0 0.0.0.0:67 0.0.0.0:*
A quarta coluna contém o endereço IP e a porta, separados por dois pontos (’ : ’). Um en-
dereço composto por zeros (’0.0.0.0’) indica que ele está ouvindo em todas as interfaces. Isto é,
você pode ter as interfaces eth0 e eth1, e o dhcpd ouvindo em ambas as interfaces.
Só porque o netstat mostra que alguma coisa está ouvindo na porta udp 67, não significa que
é definitivamente o dhcpd que está escutando. Pode ser o bootpd, mas isto é incomum, porque o
bootp não é mais incluído na maioria das distribuições Linux.
Para certificar-se que é o dhcpd que está sendo executado, tente executar o comando ps.
ps aux | grep dhcpd
Você deverá ver algo parecido com o seguinte:
root 23814 0.0 0.3 1676 820 ? S 15:13 0:00 /usr/sbin/dhcpd root 23834 0.0 0.2 1552
600 pts/0 S 15:52 0:00 grep dhcp
A primeira linha mostra que o dhcpd está sendo executado. A segunda linha apenas o co-
mando grep.
Se você não vir nenhuma linha mostrando que o dhcpd está sendo executado, então você
precisa checar se o servidor está configurado para o runlevel 5, e que o dhcpd está configurado
para iniciar no runlevel 5. Em sistemas baseados em Red Hat, você pode executar o comando
ntsysv e procurar o dhcpd para certificar-se que ele está configurado para inciar.
Você pode tentar iniciar o dhcpd com este comando:
service dhcpd start
50
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
Preste atenção à saída, ela pode mostar erros.
• Verifique novamente a configuração do dhcpd
O arquivo /etc/dhcpd.conf possui uma entrada para a estação de trabalho?
Você deve verificar novamente a configuração ’fixed-address’ no arquivo de configuração, para
certificar-se que esta casa com a placa de rede na estação de trabalho.
• O IPTables ou IPChains estão bloqueando as requisições?
Verificando o ipchains
Execute o seguinte comando para ver o que ele diz:
ipchains -L -v
Se você vir algo como:
Chain input (policy ACCEPT: 229714 packets, 115477216 bytes):
Chain forward (policy ACCEPT: 10 packets, 1794 bytes):
Chain output (policy ACCEPT: 188978 packets, 66087385 bytes):
Então não é o ipchains que está atrapalhando.
Verificando o iptables
Execute o seguinte comando para ver o que ele diz:
iptables -L -v
Se você vir algo como:
Chain INPUT (policy ACCEPT 18148 packets, 2623K bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 17721 packets, 2732K bytes)
pkts bytes target prot opt in out source destination
51
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
Então não é o iptables que está atrapalhando.
* A estação de trabalho está enviando a requisição?
Tente monitorar o arquivo /var/log/messages enquanto a estação de trabalho estiver iniciando.
Você pode fazê-lo com o seguinte comando:
tail -f /var/log/messages
Isto ’seguirá’ o arquivo de log quando novos registros forem adicionados a ele.
server dhcpd: DHCPDISCOVER from 00:50:56:81:00:01 via eth0
server dhcpd: no free leases on subnet WORKSTATIONS
server dhcpd: DHCPDISCOVER from 00:50:56:81:00:01 via eth0
server dhcpd: no free leases on subnet WORKSTATIONS
Se você vir mensagens como as acima, informando ’no free leases’, isto indica que o dhcpd
está sendo executado, mas este não sabe nada sobre a estação de trabalho que está requisi-
tando um endereço IP.
6.1.3 TFTP
O Etherboot usa o TFTP para copiar o kernel Linux do servidor. Este é um protocolo muito
simples, mas algumas vezes há problemas ao tentar fazê-lo funcionar.
Se você vir uma mensagem similar a esta:
Loading 192.168.0.254:/lts/vmlinuz-2.4.24-ltsp-4.........
com os pontos enchendo a tela rapidamente, isto normalmente indica que o TFTP está funci-
onando corretamente, e que o kernel está sendo copiado.
Se, ao invés, você não vir os pontos, então há um problema. Problemas possíves incluem:
• O tftpd não está sendo executado
Se o tftpd não estiver configurado para executar, então ele certamente não estará apto a res-
ponder às requisições da estação de trabalho. Você pode ver se ele está sendo executado, você
pode usar o comando netstat, como este:
[root@bigdog]# netstat -anp | grep ":69 "
udp 0 0 0.0.0.0:69 0.0.0.0:* 453/inetd
52
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
Se você não vir nenhuma saída deste comando, então o tftpd não está sendo executado. Há
dois métodos comuns de executar o tftpd, são eles o inetd e o novo xinetd. O inetd usa um arquivo
de configuração chamado /etc/inetd.conf. Neste arquivo, certifique que a linha que começa com
tftpd não está comentada. Isto é como a linha deve parecer:
tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd -s /tftpboot
O xinetd usa um diretório com arquivos de configuração individuais. Um para cada serviço.
Se o seu servidor está usando o xinetd, então o arquivo de configuração para o tftpd é chamado
de /etc/xinetd.d/tftp. Abaixo está um exemplo:
service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
}
Certifique-se que a linha disable não contém yes.
• O kernel não está onde o tftpd espera encontrá-lo
O kernel precisa estar em um local onde o daemon tftpd possa acessá-lo. Se a opção ’-s’ do
daemon tftpd for utilizada, então qualquer coisa que a estação procurar precisa estar relativo ao
diretório /tftpboot. Então, se a entrada filename no arquivo /etc/dhcpd.conf está configurada para
/lts/vmlinuz-2.4.24-ltsp-4, então o kernel precisa estar em /tftpboot/lts/vmlinuz-2.4.24-ltsp-4 .
6.1.4 NFS
Há diversas coisas que podem impedir que o sistema de arquivos raiz seja montado. Incluíndo
as seguintes:
No init found
Se você obter o seguinte erro:
Kernel panic: No init found. Try passing init= option to kernel.
Então o mais provável é que você esteja montando o diretório errado como sistema de arqui-
vos raiz ou o diretório /opt/ltsp/i386 está vazio.
53
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
O servidor retornou o erro -13
Se você obter o seguinte erro:
Root-NFS: Server returned error -13 while mounting /opt/ltsp/i386
Isto indica que o diretório /opt/ltsp/i386 não está listado no arquivo /etc/exports.
Examine o arquivo /var/log/messages para ver se há algum indício. Uma entrada como esta:
Jul 20 00:28:39 bigdog rpc.mountd: refused mount request from ws004
for /opt/ltsp/i386 (/): no export entry
Então isto confirma nossa suspeita que a entrada no arquivo /etc/exports não está correta.
Problemas no Daemon NFS (portmap, nfsd & mountd)
O NFS pode ser um serviço complexo e difícil na solução de problemas, mas entendendo o
que deve ser configurado e quais ferramentas estão disponíveis para diagnosticar os problemas
irá certamente ajudar a tornar isto mais fácil.
Há três daemons que precisam estar em execução no servidor para o NFS funcionar correta-
mente. portmap, nfsd e mountd.
• O Portmapper (portmap)
Se você obter a seguinte mensagem:
Looking up port of RPC 100003/2 on 192.168.0.254
portmap: server 192.168.0.254 not responding, timed out
Root-NFS: Unable to get nfsd port number from server, using default
Looking up port of RPC 100005/2 on 192.168.0.254
portmap: server 192.168.0.254 not responding, timed out
Root-NFS: Unable to get mountd port number from server, using default
mount: server 192.168.0.254 not responding, timed out
Root-NFS: Server returned error -5 while mounting /opt/ltsp/i386
VFS: unable to mount root fs via NFS, trying floppy.
VFS: Cannot open root device "nfs"or 02:00
Please append a correct "root="boot option
Kernel panic: VFS: Unable to mount root fs on 02:00
Isto é causado muito provavelmente porque o daemon do portmap não está em execução.
Você pode confirmar se o portmapper está funcionando usando o comando ps:
54
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
ps -e | grep portmap
Se o portmapper estiver executando, você deverá ver uma saída como esta:
30455 ? 00:00:00 portmap
Outro teste é usar o netstat. O portmapper usa as portas TCP e UDP 111. Tente executar isto:
netstat -an | grep ":111 "
Você deverá ver a seguinte saída:
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
udp 0 0 0.0.0.0:111 0.0.0.0:*
Se você não ver uma saída similar, então o portmapper não está executando. Você inicia o
portmapper executado:
/etc/rc.d/init.d/portmap start
Então, você deverá certificar-se que o portmapper está configurado para iniciar quando o ser-
vidor é iniciado. Execute o ntsysv para certificar-se que este está selecionado para executar.
• O NFS e daemons MOUNT (nfsd & mountd)
O NFS possui 2 daemons que precisam estar executando. O nfsd e o mountd. Ambos são
iniciados pelo script /etc/rc.d/init.d/nfs.
Você pode executar o comando ps para certificar-se que eles estão em execução.
ps -e | grep nfs
ps -e | grep mountd
Se isto mostrar que um ou ambos os daemons não estão executando, então você precisará
iniciá-los.
Você deve estar apto a executar o script de início com o argumento restart para causar o inicio
de ambos, mas por alguma razão, o script /etc/rc.d/init.d/nfs não reinicia o nfsd desta maneira.
Ele reinicia somente o mountd (erro?). Assim, você deve preferivelmente executar a seguinte
seqüência dos comandos:
55
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
/etc/rc.d/init.d/nfs stop
/etc/rc.d/init.d/nfs start
Você pode obter erros no comando stop, mas isto está OK. O comando start deve mostrar OK
como status.
Se os daemos estiverem executando, mas o NFS continuar não funcionando, você pode verificar
se eles se registraram com o portmapper utilizando o comando rpcinfo.
rpcinfo -p localhost
Você deve ver resultados similares aos abaixo:
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100021 1 udp 32771 nlockmgr
100021 3 udp 32771 nlockmgr
100021 4 udp 32771 nlockmgr
100005 1 udp 648 mountd
100005 1 tcp 651 mountd
100005 2 udp 648 mountd
100005 2 tcp 651 mountd
100005 3 udp 648 mountd
100005 3 tcp 651 mountd
100024 1 udp 750 status
100024 1 tcp 753 status
Isto indica que o nfs (nfsd) e o mountd estão ambos executando e estão registrados com o
portmapper.
6.1.5 Xserver
Provavelmente a única parte mais difícil de configurar uma estação de trabalho LTSP é ter o
servidor X configurado corretamente. Se você estiver usando uma placa de vídeo razoavelmente
nova, e esta for suportada pelo Xorg Xservers, e você tiver um monitor razoavelmente novo que
possa gerenciar uma grande escala de freqüências e definições, então é razoavelmente fácil se-
guir em diante. Geralmente, nesse caso, se não funcionar, o mais provável é que o servidor X
não é o certo para esta placa de vídeo.
Quando um servidor X não funciona com sua placa, é geramente óbvio. Ou o servidor X não
inicia, ou a tela estará incorreta.
56
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
Quando a estação de trabalho está pronta para iniciar o servidor X, ela chama o script startx,
o qual inicia o servidor X localmente na estação de trabalho, com a opção -query apontando para
um servidor, onde um gerenciador de sessão, como o XDM, GDM ou KDM está executando.
Porque o servidor X é iniciado pelo script startx, que é iniciado pelo programa init, quando ele
falha, o init tenta executá-lo novamente. O init continuará este laço de tentar executar o servidor
X 10 vezes, então desiste. Depois que finalmente desiste, a mensagem de erro do servidor X
deve ser deixada na tela.
Esperar o servidor X falhar 10 vezes pode ser irritante, assim uma maneira simples de evi-
tar as falhas repetidas é iniciar a estação de trabalho no runlevel 3, de modo que o servidor X
não seja iniciado automaticamente. Ao invés disto, quando você iniciar a estação de trabalho,
começará com um shell bash. Do shell bash, você pode iniciar o servidor X manualmente com o
seguinte comando:
sh /tmp/start_ws
O servidor X tentará iniciar, então quando ele falhar, irá retornar ao shell bash, de forma que
você poderá ver a razão da falha.
6.1.6 Gerenciador de Telas
O gerenciador de telas é o daemon que executa no servidor, esperando que um servidor X o
contacte. Uma vez que o contato é feito, ele irá mostrar uma tela de login na tela, oferecendo ao
usuário a chance de logar no servidor.
Os três gerenciadores de tela mais comuns são:
• XDM - Existirar para sempre. Este está incluído no X Windows System padrão;
• GDM - O ’Gnome Display Manager’. Este é parte do pacote GNOME;
• KDM - O ’KDE Display Manager’. Este é parte do K Desktop System.
As distribuições GNU/Linux mais recentes incluem todos os três gerenciadores de tela.
Tela cinza com um grande cursor em forma de X
Isto indica que o servidor X está em execução, mas ele não conseguiu fazer contato com o
gerenciador de telas. Algumas das possíveis razões para isto são:
O gerenciador de janelas não está sendo executado
O gerenciador de janelas é iniciado através do init. No arquivo /etc/inittab, há uma linha que
se parece com esta:
57
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
x:5:respawn:/etc/X11/prefdm -nodaemon
O script prefdm irá determinar qual gerenciador de telas executar.
O gerenciador de telas padrão depende de quais pacotes foram instalados. Se o GNOME está
instalado, então o GDM é o gerenciador de telas padrão. Se o GNOME não estiver instalado,
então o script prefdm irá checar para ver se o KDE está instalado. Se ele estiver, então o KDM
será o gerenciador de telas padrão. Se o KDE também não estiver instalado, então o XDM será
o gerenciador de telas padrão.
Usando o comando netstat, você deverá conseguir ver se há um gerenciador de telas em exe-
cução. No servidor, execute o comando abaixo:
netstat -ap | grep xdmcp
Você deverá ver resultados mostrando que há um processo ouvindo na porta xdmcp (177).
udp 0 0 *:xdmcp *:* 1493/gdm
Isto mostra claramente que o gdm está sendo executado com o PID 1493, e está ouvindo na
porta xdmcp.
Se você vir uma linha como esta mostrada acima, indicando que definitivamente há um geren-
ciador de telas ouvindo, então você precisa certificar-se que a estação de trabalho está enviando
a consulta XDMCP para o servidor correto.
No arquivo lts.conf, você pode ter uma entrada que especifica o endereço IP do servidor que
está executando o gerenciador de telas. A entada é opcional, mas se presente, deve parecer-se
com isto:
XDM_SERVER = 192.168.0.254
Claro que, o endereço IP para a sua rede pode ser diferente do exemplo acima. Se a en-
trada ’XDM_SERVER’ não estiver presente, esta usará então o valor da entrada ’SERVER’, se
presente. Se esta não estiver presente, então ela usará 192.168.0.254. A qual mesmo que espe-
cificada, você apenas precisa certificar-se que o endereço IP é realmente o endereço correto do
servidor executando o gerenciador de telas.
O gerenciador de telas pode ser configurado para ignorar requisições de hosts se você tiver
determinado que o gerenciador de telas está em execução, então é possível que ele tenha sido
configurado para ignorar requisições XDMCP de hosts remotos. Você precisará checar os arqui-
vos de configuração do gerenciador de telas particular em execução para determinar se ele está
configurado corretamente.
* XDM
58
Ltsp
Ltsp

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Java Basico
Java BasicoJava Basico
Java Basico
 
Qemu
QemuQemu
Qemu
 
Screen
ScreenScreen
Screen
 
Samba
SambaSamba
Samba
 
Servidor de emails_seguro
Servidor de emails_seguroServidor de emails_seguro
Servidor de emails_seguro
 
Tunelamento
TunelamentoTunelamento
Tunelamento
 
Xdmcp
XdmcpXdmcp
Xdmcp
 
Selinux
SelinuxSelinux
Selinux
 
Inkscape
InkscapeInkscape
Inkscape
 
De javaparapython
De javaparapythonDe javaparapython
De javaparapython
 
X dialog
X dialogX dialog
X dialog
 
Ppt pd
Ppt pdPpt pd
Ppt pd
 
Plone
PlonePlone
Plone
 
Pascal
PascalPascal
Pascal
 
Uml
UmlUml
Uml
 
Nessus
NessusNessus
Nessus
 
Wx python
Wx pythonWx python
Wx python
 
Zope
ZopeZope
Zope
 
Nagios2
Nagios2Nagios2
Nagios2
 
Quanta
QuantaQuanta
Quanta
 

Destaque

Hardware questionario 06
Hardware   questionario 06Hardware   questionario 06
Hardware questionario 06Tiago
 
Linguagem c
Linguagem cLinguagem c
Linguagem cTiago
 
Introdução ao c# para iniciantes
Introdução ao c# para iniciantesIntrodução ao c# para iniciantes
Introdução ao c# para iniciantesTiago
 
Defeitos em hardware
Defeitos em hardwareDefeitos em hardware
Defeitos em hardwareTiago
 
Webdesign idepac
Webdesign idepacWebdesign idepac
Webdesign idepacTiago
 
Discos
DiscosDiscos
DiscosTiago
 
Introdução a Multimídia
Introdução a MultimídiaIntrodução a Multimídia
Introdução a MultimídiaTiago
 
Classes csharp
Classes csharpClasses csharp
Classes csharpTiago
 
F fmpeg2 theora_oggfwd
F fmpeg2 theora_oggfwdF fmpeg2 theora_oggfwd
F fmpeg2 theora_oggfwdTiago
 
Foca intermediario
Foca intermediarioFoca intermediario
Foca intermediarioTiago
 
Hardware questionario 05
Hardware   questionario 05Hardware   questionario 05
Hardware questionario 05Tiago
 
Funcionamento interno de computadores
Funcionamento interno de computadoresFuncionamento interno de computadores
Funcionamento interno de computadoresTiago
 

Destaque (16)

Hardware questionario 06
Hardware   questionario 06Hardware   questionario 06
Hardware questionario 06
 
Linguagem c
Linguagem cLinguagem c
Linguagem c
 
Introdução ao c# para iniciantes
Introdução ao c# para iniciantesIntrodução ao c# para iniciantes
Introdução ao c# para iniciantes
 
Ps
PsPs
Ps
 
Defeitos em hardware
Defeitos em hardwareDefeitos em hardware
Defeitos em hardware
 
Http
HttpHttp
Http
 
Webdesign idepac
Webdesign idepacWebdesign idepac
Webdesign idepac
 
Discos
DiscosDiscos
Discos
 
Introdução a Multimídia
Introdução a MultimídiaIntrodução a Multimídia
Introdução a Multimídia
 
Classes csharp
Classes csharpClasses csharp
Classes csharp
 
F fmpeg2 theora_oggfwd
F fmpeg2 theora_oggfwdF fmpeg2 theora_oggfwd
F fmpeg2 theora_oggfwd
 
Foca intermediario
Foca intermediarioFoca intermediario
Foca intermediario
 
Hardware questionario 05
Hardware   questionario 05Hardware   questionario 05
Hardware questionario 05
 
Funcionamento interno de computadores
Funcionamento interno de computadoresFuncionamento interno de computadores
Funcionamento interno de computadores
 
J2me
J2meJ2me
J2me
 
Ldap
LdapLdap
Ldap
 

Semelhante a Ltsp

Drivers de dispostivos_linux
Drivers de dispostivos_linuxDrivers de dispostivos_linux
Drivers de dispostivos_linuxTiago
 
Dovecot
DovecotDovecot
DovecotTiago
 
Inkscape
InkscapeInkscape
InkscapeTiago
 
Linguagem ruby
Linguagem rubyLinguagem ruby
Linguagem rubyTiago
 
Iptables
IptablesIptables
IptablesTiago
 
Ruby on rails
Ruby on railsRuby on rails
Ruby on railsTiago
 
Programacao php moodle
Programacao php moodleProgramacao php moodle
Programacao php moodleTiago
 
Open solaris
Open solarisOpen solaris
Open solarisTiago
 
Postfix
PostfixPostfix
PostfixTiago
 
Pen linux
Pen linuxPen linux
Pen linuxTiago
 
Monitoramento
MonitoramentoMonitoramento
MonitoramentoTiago
 
Drupal
DrupalDrupal
DrupalTiago
 
Java basico
Java basicoJava basico
Java basicoTiago
 
Gerenciamento de projetos
Gerenciamento de projetosGerenciamento de projetos
Gerenciamento de projetosTiago
 
Open vpn
Open vpnOpen vpn
Open vpnTiago
 

Semelhante a Ltsp (20)

Squid
SquidSquid
Squid
 
Drivers de dispostivos_linux
Drivers de dispostivos_linuxDrivers de dispostivos_linux
Drivers de dispostivos_linux
 
Dovecot
DovecotDovecot
Dovecot
 
Inkscape
InkscapeInkscape
Inkscape
 
Linguagem ruby
Linguagem rubyLinguagem ruby
Linguagem ruby
 
Mrtg
MrtgMrtg
Mrtg
 
Iptables
IptablesIptables
Iptables
 
Ruby on rails
Ruby on railsRuby on rails
Ruby on rails
 
Programacao php moodle
Programacao php moodleProgramacao php moodle
Programacao php moodle
 
Open solaris
Open solarisOpen solaris
Open solaris
 
Postfix
PostfixPostfix
Postfix
 
Horde
HordeHorde
Horde
 
Pen linux
Pen linuxPen linux
Pen linux
 
Monitoramento
MonitoramentoMonitoramento
Monitoramento
 
Drupal
DrupalDrupal
Drupal
 
Java basico
Java basicoJava basico
Java basico
 
Nvu
NvuNvu
Nvu
 
Gerenciamento de projetos
Gerenciamento de projetosGerenciamento de projetos
Gerenciamento de projetos
 
Ferm
FermFerm
Ferm
 
Open vpn
Open vpnOpen vpn
Open vpn
 

Mais de Tiago

Apostila cdtc dotproject
Apostila cdtc dotprojectApostila cdtc dotproject
Apostila cdtc dotprojectTiago
 
6572501 ldp-apostila-de-turbo-pascal
6572501 ldp-apostila-de-turbo-pascal6572501 ldp-apostila-de-turbo-pascal
6572501 ldp-apostila-de-turbo-pascalTiago
 
Guia rapido de_pascal
Guia rapido de_pascalGuia rapido de_pascal
Guia rapido de_pascalTiago
 
Python bge
Python bgePython bge
Python bgeTiago
 
Curso python
Curso pythonCurso python
Curso pythonTiago
 
Curso python
Curso pythonCurso python
Curso pythonTiago
 
Aula 01 python
Aula 01 pythonAula 01 python
Aula 01 pythonTiago
 
Threading in c_sharp
Threading in c_sharpThreading in c_sharp
Threading in c_sharpTiago
 
Retirar acentos de_determinado_texto_em_c_sharp
Retirar acentos de_determinado_texto_em_c_sharpRetirar acentos de_determinado_texto_em_c_sharp
Retirar acentos de_determinado_texto_em_c_sharpTiago
 
Remover caracteres especiais_texto_em_c_sharp
Remover caracteres especiais_texto_em_c_sharpRemover caracteres especiais_texto_em_c_sharp
Remover caracteres especiais_texto_em_c_sharpTiago
 
Obter ip da_internet_em_c_sharp
Obter ip da_internet_em_c_sharpObter ip da_internet_em_c_sharp
Obter ip da_internet_em_c_sharpTiago
 
Metodo using no_c_sharp
Metodo using no_c_sharpMetodo using no_c_sharp
Metodo using no_c_sharpTiago
 
Interfaces windows em c sharp
Interfaces windows em c sharpInterfaces windows em c sharp
Interfaces windows em c sharpTiago
 
Filestream sistema arquivos
Filestream  sistema arquivosFilestream  sistema arquivos
Filestream sistema arquivosTiago
 
Curso linux professor rafael
Curso linux professor rafaelCurso linux professor rafael
Curso linux professor rafaelTiago
 
Curso de shell
Curso de shellCurso de shell
Curso de shellTiago
 
Controle lpt em_c_sharp
Controle lpt em_c_sharpControle lpt em_c_sharp
Controle lpt em_c_sharpTiago
 
C# o basico
C#   o basicoC#   o basico
C# o basicoTiago
 
C# classes
C#   classesC#   classes
C# classesTiago
 
Csharp ebook
Csharp ebookCsharp ebook
Csharp ebookTiago
 

Mais de Tiago (20)

Apostila cdtc dotproject
Apostila cdtc dotprojectApostila cdtc dotproject
Apostila cdtc dotproject
 
6572501 ldp-apostila-de-turbo-pascal
6572501 ldp-apostila-de-turbo-pascal6572501 ldp-apostila-de-turbo-pascal
6572501 ldp-apostila-de-turbo-pascal
 
Guia rapido de_pascal
Guia rapido de_pascalGuia rapido de_pascal
Guia rapido de_pascal
 
Python bge
Python bgePython bge
Python bge
 
Curso python
Curso pythonCurso python
Curso python
 
Curso python
Curso pythonCurso python
Curso python
 
Aula 01 python
Aula 01 pythonAula 01 python
Aula 01 python
 
Threading in c_sharp
Threading in c_sharpThreading in c_sharp
Threading in c_sharp
 
Retirar acentos de_determinado_texto_em_c_sharp
Retirar acentos de_determinado_texto_em_c_sharpRetirar acentos de_determinado_texto_em_c_sharp
Retirar acentos de_determinado_texto_em_c_sharp
 
Remover caracteres especiais_texto_em_c_sharp
Remover caracteres especiais_texto_em_c_sharpRemover caracteres especiais_texto_em_c_sharp
Remover caracteres especiais_texto_em_c_sharp
 
Obter ip da_internet_em_c_sharp
Obter ip da_internet_em_c_sharpObter ip da_internet_em_c_sharp
Obter ip da_internet_em_c_sharp
 
Metodo using no_c_sharp
Metodo using no_c_sharpMetodo using no_c_sharp
Metodo using no_c_sharp
 
Interfaces windows em c sharp
Interfaces windows em c sharpInterfaces windows em c sharp
Interfaces windows em c sharp
 
Filestream sistema arquivos
Filestream  sistema arquivosFilestream  sistema arquivos
Filestream sistema arquivos
 
Curso linux professor rafael
Curso linux professor rafaelCurso linux professor rafael
Curso linux professor rafael
 
Curso de shell
Curso de shellCurso de shell
Curso de shell
 
Controle lpt em_c_sharp
Controle lpt em_c_sharpControle lpt em_c_sharp
Controle lpt em_c_sharp
 
C# o basico
C#   o basicoC#   o basico
C# o basico
 
C# classes
C#   classesC#   classes
C# classes
 
Csharp ebook
Csharp ebookCsharp ebook
Csharp ebook
 

Último

William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfAdrianaCunha84
 
A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.silves15
 
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptxthaisamaral9365923
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasCassio Meira Jr.
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxBeatrizLittig1
 
[Bloco 7] Recomposição das Aprendizagens.pptx
[Bloco 7] Recomposição das Aprendizagens.pptx[Bloco 7] Recomposição das Aprendizagens.pptx
[Bloco 7] Recomposição das Aprendizagens.pptxLinoReisLino
 
1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.
1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.
1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.MrPitobaldo
 
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxAD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxkarinedarozabatista
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesMary Alvarenga
 
RedacoesComentadasModeloAnalisarFazer.pdf
RedacoesComentadasModeloAnalisarFazer.pdfRedacoesComentadasModeloAnalisarFazer.pdf
RedacoesComentadasModeloAnalisarFazer.pdfAlissonMiranda22
 
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...licinioBorges
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividadeMary Alvarenga
 
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumGÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumAugusto Costa
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasCassio Meira Jr.
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManuais Formação
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADOcarolinacespedes23
 
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -Aline Santana
 

Último (20)

Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdf
 
A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.
 
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e Específicas
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docx
 
[Bloco 7] Recomposição das Aprendizagens.pptx
[Bloco 7] Recomposição das Aprendizagens.pptx[Bloco 7] Recomposição das Aprendizagens.pptx
[Bloco 7] Recomposição das Aprendizagens.pptx
 
1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.
1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.
1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.
 
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxAD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
 
Bullying, sai pra lá
Bullying,  sai pra láBullying,  sai pra lá
Bullying, sai pra lá
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das Mães
 
RedacoesComentadasModeloAnalisarFazer.pdf
RedacoesComentadasModeloAnalisarFazer.pdfRedacoesComentadasModeloAnalisarFazer.pdf
RedacoesComentadasModeloAnalisarFazer.pdf
 
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividade
 
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumGÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades Motoras
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envio
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
 
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
 

Ltsp

  • 2. Sumário I Sobre essa Apostila 3 II Informações Básicas 5 III GNU Free Documentation License 10 IV LTSP 19 1 O que é o LTSP 20 2 Plano de ensino 21 2.1 Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.2 Público Alvo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.3 Pré-requisitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.4 Descrição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.5 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.6 Cronograma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.7 Programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.8 Avaliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.9 Bibliografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3 Introdução/Instalação 24 3.1 Introdução/Instalação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.1.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.1.2 Instalando o LTSP no Servidor . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.1.3 Instalação dos Utilitários LTSP . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.1.4 Instalando os Pacotes do Cliente LTSP . . . . . . . . . . . . . . . . . . . . . 26 4 Configuração do Servidor 30 4.1 Configuração . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.1.1 Configuração . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.1.2 Configurações específicas da estação . . . . . . . . . . . . . . . . . . . . . . 33 5 Configurando a Estação de Trabalho 38 5.1 Teoria da Operação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 5.1.1 Passos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 5.1.2 Carregando o Kernel na Memória . . . . . . . . . . . . . . . . . . . . . . . . 41 1
  • 3. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF 5.2 Configurando a Estação de Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5.2.1 Estação de Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5.2.2 Carga com PXE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5.2.3 Carga com Etherboot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 5.2.4 Ligando a Estação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 6 Problemas Técnicos 48 6.1 Solucionando problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 6.1.1 Solucionando Problemas em Disquetes com Imagens Etherboot . . . . . . . 48 6.1.2 DHCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 6.1.3 TFTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 6.1.4 NFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 6.1.5 Xserver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 6.1.6 Gerenciador de Telas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 2
  • 4. Parte I Sobre essa Apostila 3
  • 5. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF Conteúdo O conteúdo dessa apostila é fruto da compilação de diversos materiais livres publicados na in- ternet, disponíveis em diversos sites ou originalmente produzido no CDTC (http://www.cdtc.org.br.) O formato original deste material bem como sua atualização está disponível dentro da licença GNU Free Documentation License, cujo teor integral encontra-se aqui reproduzido na seção de mesmo nome, tendo inclusive uma versão traduzida (não oficial). A revisão e alteração vem sendo realizada pelo CDTC (suporte@cdtc.org.br) desde outubro de 2006. Críticas e sugestões construtivas serão bem-vindas a qualquer hora. Autores A autoria deste é de responsabilidade de João Paulo Claudino de Souza. O texto original faz parte do projeto Centro de Difusão de Tecnologia e Conhecimento que vêm sendo realizado pelo ITI (Instituto Nacional de Tecnologia da Informação) em conjunto com outros parceiros institucionais, e com as universidades federais brasileiras que tem produzido e utilizado Software Livre apoiando inclusive a comunidade Free Software junto a outras entidades no país. Informações adicionais podem ser obtidas através do email ouvidoria@cdtc.org.br, ou da home page da entidade, através da URL http://www.cdtc.org.br. Garantias O material contido nesta apostila é isento de garantias e o seu uso é de inteira responsabi- lidade do usuário/leitor. Os autores, bem como o ITI e seus parceiros, não se responsabilizam direta ou indiretamente por qualquer prejuízo oriundo da utilização do material aqui contido. Licença Copyright ©2006, Instituto Nacional de Tecnologia da Informação (cdtc@iti.gov.br) . Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Chapter being SOBRE ESSA APOS- TILA. A copy of the license is included in the section entitled GNU Free Documentation License. 4
  • 7. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF Sobre o CDTC Objetivo Geral O Projeto CDTC visa a promoção e o desenvolvimento de ações que incentivem a dissemina- ção de soluções que utilizem padrões abertos e não proprietários de tecnologia, em proveito do desenvolvimento social, cultural, político, tecnológico e econômico da sociedade brasileira. Objetivo Específico Auxiliar o Governo Federal na implantação do plano nacional de software não-proprietário e de código fonte aberto, identificando e mobilizando grupos de formadores de opinião dentre os servidores públicos e agentes políticos da União Federal, estimulando e incentivando o mercado nacional a adotar novos modelos de negócio da tecnologia da informação e de novos negócios de comunicação com base em software não-proprietário e de código fonte aberto, oferecendo treinamento específico para técnicos, profissionais de suporte e funcionários públicos usuários, criando grupos de funcionários públicos que irão treinar outros funcionários públicos e atuar como incentivadores e defensores dos produtos de software não proprietários e código fonte aberto, ofe- recendo conteúdo técnico on-line para serviços de suporte, ferramentas para desenvolvimento de produtos de software não proprietários e do seu código fonte livre, articulando redes de terceiros (dentro e fora do governo) fornecedoras de educação, pesquisa, desenvolvimento e teste de pro- dutos de software livre. Guia do aluno Neste guia, você terá reunidas uma série de informações importantes para que você comece seu curso. São elas: • Licenças para cópia de material disponível; • Os 10 mandamentos do aluno de Educação a Distância; • Como participar dos foruns e da wikipédia; • Primeiros passos. É muito importante que você entre em contato com TODAS estas informações, seguindo o roteiro acima. Licença Copyright ©2006, Instituto Nacional de Tecnologia da Informação (cdtc@iti.gov.br). 6
  • 8. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF É dada permissão para copiar, distribuir e/ou modificar este documento sob os termos da Licença de Documentação Livre GNU, Versão 1.1 ou qualquer versão posterior públicada pela Free Software Foundation; com o Capitulo Invariante SOBRE ESSA APOSTILA. Uma cópia da licença está inclusa na seção entitulada "Licença de Docu- mentação Livre GNU". Os 10 mandamentos do aluno de educação online • 1. Acesso à Internet: ter endereço eletrônico, um provedor e um equipamento adequado é pré-requisito para a participação nos cursos a distância; • 2. Habilidade e disposição para operar programas: ter conhecimentos básicos de Informá- tica é necessário para poder executar as tarefas; • 3. Vontade para aprender colaborativamente: interagir, ser participativo no ensino a distân- cia conta muitos pontos, pois irá colaborar para o processo ensino-aprendizagem pessoal, dos colegas e dos professores; • 4. Comportamentos compatíveis com a etiqueta: mostrar-se interessado em conhecer seus colegas de turma respeitando-os e se fazendo ser respeitado pelos mesmos; • 5. Organização pessoal: planejar e organizar tudo é fundamental para facilitar a sua revisão e a sua recuperação de materiais; • 6. Vontade para realizar as atividades no tempo correto: anotar todas as suas obrigações e realizá-las em tempo real; • 7. Curiosidade e abertura para inovações: aceitar novas idéias e inovar sempre; • 8. Flexibilidade e adaptação: requisitos necessário à mudança tecnológica, aprendizagens e descobertas; • 9. Objetividade em sua comunicação: comunicar-se de forma clara, breve e transparente é ponto - chave na comunicação pela Internet; • 10. Responsabilidade: ser responsável por seu próprio aprendizado. O ambiente virtual não controla a sua dedicação, mas reflete os resultados do seu esforço e da sua colaboração. Como participar dos fóruns e Wikipédia Você tem um problema e precisa de ajuda? Podemos te ajudar de 2 formas: A primeira é o uso dos fóruns de notícias e de dúvidas gerais que se distinguem pelo uso: . O fórum de notícias tem por objetivo disponibilizar um meio de acesso rápido a informações que sejam pertinentes ao curso (avisos, notícias). As mensagens postadas nele são enviadas a 7
  • 9. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF todos participantes. Assim, se o monitor ou algum outro participante tiver uma informação que interesse ao grupo, favor postá-la aqui. Porém, se o que você deseja é resolver alguma dúvida ou discutir algum tópico específico do curso. É recomendado que você faça uso do Fórum de dúvidas gerais que lhe dá recursos mais efetivos para esta prática. . O fórum de dúvidas gerais tem por objetivo disponibilizar um meio fácil, rápido e interativo para solucionar suas dúvidas e trocar experiências. As mensagens postadas nele são enviadas a todos participantes do curso. Assim, fica muito mais fácil obter respostas, já que todos podem ajudar. Se você receber uma mensagem com algum tópico que saiba responder, não se preocupe com a formalização ou a gramática. Responda! E não se esqueça de que antes de abrir um novo tópico é recomendável ver se a sua pergunta já foi feita por outro participante. A segunda forma se dá pelas Wikis: . Uma wiki é uma página web que pode ser editada colaborativamente, ou seja, qualquer par- ticipante pode inserir, editar, apagar textos. As versões antigas vão sendo arquivadas e podem ser recuperadas a qualquer momento que um dos participantes o desejar. Assim, ela oferece um ótimo suporte a processos de aprendizagem colaborativa. A maior wiki na web é o site "Wikipé- dia", uma experiência grandiosa de construção de uma enciclopédia de forma colaborativa, por pessoas de todas as partes do mundo. Acesse-a em português pelos links: • Página principal da Wiki - http://pt.wikipedia.org/wiki/ Agradecemos antecipadamente a sua colaboração com a aprendizagem do grupo! Primeiros Passos Para uma melhor aprendizagem é recomendável que você siga os seguintes passos: • Ler o Plano de Ensino e entender a que seu curso se dispõe a ensinar; • Ler a Ambientação do Moodle para aprender a navegar neste ambiente e se utilizar das ferramentas básicas do mesmo; • Entrar nas lições seguindo a seqüência descrita no Plano de Ensino; • Qualquer dúvida, reporte ao Fórum de Dúvidas Gerais. Perfil do Tutor Segue-se uma descrição do tutor ideal, baseada no feedback de alunos e de tutores. O tutor ideal é um modelo de excelência: é consistente, justo e profissional nos respectivos valores e atitudes, incentiva mas é honesto, imparcial, amável, positivo, respeitador, aceita as idéias dos estudantes, é paciente, pessoal, tolerante, apreciativo, compreensivo e pronto a ajudar. 8
  • 10. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF A classificação por um tutor desta natureza proporciona o melhor feedback possível, é crucial, e, para a maior parte dos alunos, constitui o ponto central do processo de aprendizagem.’ Este tutor ou instrutor: • fornece explicações claras acerca do que ele espera e do estilo de classificação que irá utilizar; • gosta que lhe façam perguntas adicionais; • identifica as nossas falhas, mas corrige-as amavelmente’, diz um estudante, ’e explica por- que motivo a classificação foi ou não foi atribuída’; • tece comentários completos e construtivos, mas de forma agradável (em contraste com um reparo de um estudante: ’os comentários deixam-nos com uma sensação de crítica, de ameaça e de nervossismo’) • dá uma ajuda complementar para encorajar um estudante em dificuldade; • esclarece pontos que não foram entendidos, ou corretamente aprendidos anteriormente; • ajuda o estudante a alcançar os seus objetivos; • é flexível quando necessário; • mostra um interesse genuíno em motivar os alunos (mesmo os principiantes e, por isso, talvez numa fase menos interessante para o tutor); • escreve todas as correções de forma legível e com um nível de pormenorização adequado; • acima de tudo, devolve os trabalhos rapidamente; 9
  • 11. Parte III GNU Free Documentation License 10
  • 12. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF (Traduzido pelo João S. O. Bueno através do CIPSGA em 2001) Esta é uma tradução não oficial da Licença de Documentação Livre GNU em Português Brasi- leiro. Ela não é publicada pela Free Software Foundation, e não se aplica legalmente a distribuição de textos que usem a GFDL - apenas o texto original em Inglês da GNU FDL faz isso. Entretanto, nós esperamos que esta tradução ajude falantes de português a entenderem melhor a GFDL. This is an unofficial translation of the GNU General Documentation License into Brazilian Por- tuguese. It was not published by the Free Software Foundation, and does not legally state the distribution terms for software that uses the GFDL–only the original English text of the GFDL does that. However, we hope that this translation will help Portuguese speakers understand the GFDL better. Licença de Documentação Livre GNU Versão 1.1, Março de 2000 Copyright (C) 2000 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA É permitido a qualquer um copiar e distribuir cópias exatas deste documento de licença, mas não é permitido alterá-lo. INTRODUÇÃO O propósito desta Licença é deixar um manual, livro-texto ou outro documento escrito "livre"no sentido de liberdade: assegurar a qualquer um a efetiva liberdade de copiá-lo ou redistribui-lo, com ou sem modificações, comercialmente ou não. Secundariamente, esta Licença mantém para o autor e editor uma forma de ter crédito por seu trabalho, sem ser considerado responsável pelas modificações feitas por terceiros. Esta Licença é um tipo de "copyleft"("direitos revertidos"), o que significa que derivações do documento precisam ser livres no mesmo sentido. Ela complementa a GNU Licença Pública Ge- ral (GNU GPL), que é um copyleft para software livre. Nós fizemos esta Licença para que seja usada em manuais de software livre, por que software livre precisa de documentação livre: um programa livre deve ser acompanhado de manuais que provenham as mesmas liberdades que o software possui. Mas esta Licença não está restrita a manuais de software; ela pode ser usada para qualquer trabalho em texto, independentemente do assunto ou se ele é publicado como um livro impresso. Nós recomendamos esta Licença prin- cipalmente para trabalhos cujo propósito seja de introdução ou referência. APLICABILIDADE E DEFINIÇÕES Esta Licença se aplica a qualquer manual ou outro texto que contenha uma nota colocada pelo detentor dos direitos autorais dizendo que ele pode ser distribuído sob os termos desta Licença. O "Documento"abaixo se refere a qualquer manual ou texto. Qualquer pessoa do público é um 11
  • 13. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF licenciado e é referida como "você". Uma "Versão Modificada"do Documento se refere a qualquer trabalho contendo o documento ou uma parte dele, quer copiada exatamente, quer com modificações e/ou traduzida em outra língua. Uma "Seção Secundária"é um apêndice ou uma seção inicial do Documento que trata ex- clusivamente da relação dos editores ou dos autores do Documento com o assunto geral do Documento (ou assuntos relacionados) e não contém nada que poderia ser incluído diretamente nesse assunto geral (Por exemplo, se o Documento é em parte um livro texto de matemática, a Seção Secundária pode não explicar nada de matemática). Essa relação poderia ser uma questão de ligação histórica com o assunto, ou matérias relaci- onadas, ou de posições legais, comerciais, filosóficas, éticas ou políticas relacionadas ao mesmo. As "Seções Invariantes"são certas Seções Secundárias cujos títulos são designados, como sendo de Seções Invariantes, na nota que diz que o Documento é publicado sob esta Licença. Os "Textos de Capa"são certos trechos curtos de texto que são listados, como Textos de Capa Frontal ou Textos da Quarta Capa, na nota que diz que o texto é publicado sob esta Licença. Uma cópia "Transparente"do Documento significa uma cópia que pode ser lida automatica- mente, representada num formato cuja especificação esteja disponível ao público geral, cujos conteúdos possam ser vistos e editados diretamente e sem mecanismos especiais com editores de texto genéricos ou (para imagens compostas de pixels) programas de pintura genéricos ou (para desenhos) por algum editor de desenhos grandemente difundido, e que seja passível de servir como entrada a formatadores de texto ou para tradução automática para uma variedade de formatos que sirvam de entrada para formatadores de texto. Uma cópia feita em um formato de arquivo outrossim Transparente cuja constituição tenha sido projetada para atrapalhar ou de- sencorajar modificações subsequentes pelos leitores não é Transparente. Uma cópia que não é "Transparente"é chamada de "Opaca". Exemplos de formatos que podem ser usados para cópias Transparentes incluem ASCII sim- ples sem marcações, formato de entrada do Texinfo, formato de entrada do LaTex, SGML ou XML usando uma DTD disponibilizada publicamente, e HTML simples, compatível com os padrões, e projetado para ser modificado por pessoas. Formatos opacos incluem PostScript, PDF, formatos proprietários que podem ser lidos e editados apenas com processadores de texto proprietários, SGML ou XML para os quais a DTD e/ou ferramentas de processamento e edição não estejam disponíveis para o público, e HTML gerado automaticamente por alguns editores de texto com finalidade apenas de saída. A "Página do Título"significa, para um livro impresso, a página do título propriamente dita, mais quaisquer páginas subsequentes quantas forem necessárias para conter, de forma legível, o material que esta Licença requer que apareça na página do título. Para trabalhos que não tenham uma página do título, "Página do Título"significa o texto próximo da aparição mais proe- minente do título do trabalho, precedendo o início do corpo do texto. 12
  • 14. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF FAZENDO CÓPIAS EXATAS Você pode copiar e distribuir o Documento em qualquer meio, de forma comercial ou não comercial, desde que esta Licença, as notas de copyright, e a nota de licença dizendo que esta Licença se aplica ao documento estejam reproduzidas em todas as cópias, e que você não acres- cente nenhuma outra condição, quaisquer que sejam, às desta Licença. Você não pode usar medidas técnicas para obstruir ou controlar a leitura ou confecção de cópias subsequentes das cópias que você fizer ou distribuir. Entretanto, você pode aceitar com- pensação em troca de cópias. Se você distribuir uma quantidade grande o suficiente de cópias, você também precisa respeitar as condições da seção 3. Você também pode emprestar cópias, sob as mesmas condições colocadas acima, e também pode exibir cópias publicamente. FAZENDO CÓPIAS EM QUANTIDADE Se você publicar cópias do Documento em número maior que 100, e a nota de licença do Documento obrigar Textos de Capa, você precisará incluir as cópias em capas que tragam, clara e legivelmente, todos esses Textos de Capa: Textos de Capa da Frente na capa da frente, e Textos da Quarta Capa na capa de trás. Ambas as capas também precisam identificar clara e legivelmente você como o editor dessas cópias. A capa da frente precisa apresentar o título com- pleto com todas as palavras do título igualmente proeminentes e visíveis. Você pode adicionar outros materiais às capas. Fazer cópias com modificações limitadas às capas, tanto quanto estas preservem o título do documento e satisfaçam a essas condições, pode ser tratado como cópia exata em outros aspectos. Se os textos requeridos em qualquer das capas for muito volumoso para caber de forma legível, você deve colocar os primeiros (tantos quantos couberem de forma razoável) na capa verdadeira, e continuar os outros nas páginas adjacentes. Se você publicar ou distribuir cópias Opacas do Documento em número maior que 100, você precisa ou incluir uma cópia Transparente que possa ser lida automaticamente com cada cópia Opaca, ou informar, em ou com, cada cópia Opaca a localização de uma cópia Transparente completa do Documento acessível publicamente em uma rede de computadores, à qual o público usuário de redes tenha acesso a download gratuito e anônimo utilizando padrões públicos de protocolos de rede. Se você utilizar o segundo método, você precisará tomar cuidados razoavel- mente prudentes, quando iniciar a distribuição de cópias Opacas em quantidade, para assegurar que esta cópia Transparente vai permanecer acessível desta forma na localização especificada por pelo menos um ano depois da última vez em que você distribuir uma cópia Opaca (direta- mente ou através de seus agentes ou distribuidores) daquela edição para o público. É pedido, mas não é obrigatório, que você contate os autores do Documento bem antes de redistribuir qualquer grande número de cópias, para lhes dar uma oportunidade de prover você com uma versão atualizada do Documento. 13
  • 15. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF MODIFICAÇÕES Você pode copiar e distribuir uma Versão Modificada do Documento sob as condições das se- ções 2 e 3 acima, desde que você publique a Versão Modificada estritamente sob esta Licença, com a Versão Modificada tomando o papel do Documento, de forma a licenciar a distribuição e modificação da Versão Modificada para quem quer que possua uma cópia da mesma. Além disso, você precisa fazer o seguinte na versão modificada: A. Usar na Página de Título (e nas capas, se houver alguma) um título distinto daquele do Do- cumento, e daqueles de versões anteriores (que deveriam, se houvesse algum, estarem listados na seção "Histórico do Documento"). Você pode usar o mesmo título de uma versão anterior se o editor original daquela versão lhe der permissão; B. Listar na Página de Título, como autores, uma ou mais das pessoas ou entidades responsá- veis pela autoria das modificações na Versão Modificada, conjuntamente com pelo menos cinco dos autores principais do Documento (todos os seus autores principais, se ele tiver menos que cinco); C. Colocar na Página de Título o nome do editor da Versão Modificada, como o editor; D. Preservar todas as notas de copyright do Documento; E. Adicionar uma nota de copyright apropriada para suas próprias modificações adjacente às outras notas de copyright; F. Incluir, imediatamente depois das notas de copyright, uma nota de licença dando ao público o direito de usar a Versão Modificada sob os termos desta Licença, na forma mostrada no tópico abaixo; G. Preservar nessa nota de licença as listas completas das Seções Invariantes e os Textos de Capa requeridos dados na nota de licença do Documento; H. Incluir uma cópia inalterada desta Licença; I. Preservar a seção entitulada "Histórico", e seu título, e adicionar à mesma um item dizendo pelo menos o título, ano, novos autores e editor da Versão Modificada como dados na Página de Título. Se não houver uma sessão denominada "Histórico"no Documento, criar uma dizendo o título, ano, autores, e editor do Documento como dados em sua Página de Título, então adicionar um item descrevendo a Versão Modificada, tal como descrito na sentença anterior; J. Preservar o endereço de rede, se algum, dado no Documento para acesso público a uma cópia Transparente do Documento, e da mesma forma, as localizações de rede dadas no Docu- mento para as versões anteriores em que ele foi baseado. Elas podem ser colocadas na seção "Histórico". Você pode omitir uma localização na rede para um trabalho que tenha sido publicado pelo menos quatro anos antes do Documento, ou se o editor original da versão a que ela se refira der sua permissão; K. Em qualquer seção entitulada "Agradecimentos"ou "Dedicatórias", preservar o título da 14
  • 16. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF seção e preservar a seção em toda substância e fim de cada um dos agradecimentos de contri- buidores e/ou dedicatórias dados; L. Preservar todas as Seções Invariantes do Documento, inalteradas em seus textos ou em seus títulos. Números de seção ou equivalentes não são considerados parte dos títulos da seção; M. Apagar qualquer seção entitulada "Endossos". Tal sessão não pode ser incluída na Versão Modificada; N. Não reentitular qualquer seção existente com o título "Endossos"ou com qualquer outro título dado a uma Seção Invariante. Se a Versão Modificada incluir novas seções iniciais ou apêndices que se qualifiquem como Seções Secundárias e não contenham nenhum material copiado do Documento, você pode optar por designar alguma ou todas aquelas seções como invariantes. Para fazer isso, adicione seus títulos à lista de Seções Invariantes na nota de licença da Versão Modificada. Esses títulos preci- sam ser diferentes de qualquer outro título de seção. Você pode adicionar uma seção entitulada "Endossos", desde que ela não contenha qual- quer coisa além de endossos da sua Versão Modificada por várias pessoas ou entidades - por exemplo, declarações de revisores ou de que o texto foi aprovado por uma organização como a definição oficial de um padrão. Você pode adicionar uma passagem de até cinco palavras como um Texto de Capa da Frente , e uma passagem de até 25 palavras como um Texto de Quarta Capa, ao final da lista de Textos de Capa na Versão Modificada. Somente uma passagem de Texto da Capa da Frente e uma de Texto da Quarta Capa podem ser adicionados por (ou por acordos feitos por) qualquer entidade. Se o Documento já incluir um texto de capa para a mesma capa, adicionado previamente por você ou por acordo feito com alguma entidade para a qual você esteja agindo, você não pode adicionar um outro; mas você pode trocar o antigo, com permissão explícita do editor anterior que adicionou a passagem antiga. O(s) autor(es) e editor(es) do Documento não dão permissão por esta Licença para que seus nomes sejam usados para publicidade ou para assegurar ou implicar endossamento de qualquer Versão Modificada. COMBINANDO DOCUMENTOS Você pode combinar o Documento com outros documentos publicados sob esta Licença, sob os termos definidos na seção 4 acima para versões modificadas, desde que você inclua na com- binação todas as Seções Invariantes de todos os documentos originais, sem modificações, e liste todas elas como Seções Invariantes de seu trabalho combinado em sua nota de licença. O trabalho combinado precisa conter apenas uma cópia desta Licença, e Seções Invariantes Idênticas com multiplas ocorrências podem ser substituídas por apenas uma cópia. Se houver múltiplas Seções Invariantes com o mesmo nome mas com conteúdos distintos, faça o título de 15
  • 17. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF cada seção único adicionando ao final do mesmo, em parênteses, o nome do autor ou editor origianl daquela seção, se for conhecido, ou um número que seja único. Faça o mesmo ajuste nos títulos de seção na lista de Seções Invariantes nota de licença do trabalho combinado. Na combinação, você precisa combinar quaisquer seções entituladas "Histórico"dos diver- sos documentos originais, formando uma seção entitulada "Histórico"; da mesma forma combine quaisquer seções entituladas "Agradecimentos", ou "Dedicatórias". Você precisa apagar todas as seções entituladas como "Endosso". COLETÂNEAS DE DOCUMENTOS Você pode fazer uma coletânea consitindo do Documento e outros documentos publicados sob esta Licença, e substituir as cópias individuais desta Licença nos vários documentos com uma única cópia incluida na coletânea, desde que você siga as regras desta Licença para cópia exata de cada um dos Documentos em todos os outros aspectos. Você pode extrair um único documento de tal coletânea, e distribuí-lo individualmente sob esta Licença, desde que você insira uma cópia desta Licença no documento extraído, e siga esta Licença em todos os outros aspectos relacionados à cópia exata daquele documento. AGREGAÇÃO COM TRABALHOS INDEPENDENTES Uma compilação do Documento ou derivados dele com outros trabalhos ou documentos se- parados e independentes, em um volume ou mídia de distribuição, não conta como uma Ver- são Modificada do Documento, desde que nenhum copyright de compilação seja reclamado pela compilação. Tal compilação é chamada um "agregado", e esta Licença não se aplica aos outros trabalhos auto-contidos compilados junto com o Documento, só por conta de terem sido assim compilados, e eles não são trabalhos derivados do Documento. Se o requerido para o Texto de Capa na seção 3 for aplicável a essas cópias do Documento, então, se o Documento constituir menos de um quarto de todo o agregado, os Textos de Capa do Documento podem ser colocados em capas adjacentes ao Documento dentro do agregado. Senão eles precisarão aparecer nas capas de todo o agregado. TRADUÇÃO Tradução é considerada como um tipo de modificação, então você pode distribuir traduções do Documento sob os termos da seção 4. A substituição de Seções Invariantes por traduções requer uma permissão especial dos detentores do copyright das mesmas, mas você pode incluir traduções de algumas ou de todas as Seções Invariantes em adição às versões orignais dessas Seções Invariantes. Você pode incluir uma tradução desta Licença desde que você também in- clua a versão original em Inglês desta Licença. No caso de discordância entre a tradução e a 16
  • 18. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF versão original em Inglês desta Licença, a versão original em Inglês prevalecerá. TÉRMINO Você não pode copiar, modificar, sublicenciar, ou distribuir o Documento exceto como expres- samente especificado sob esta Licença. Qualquer outra tentativa de copiar, modificar, sublicen- ciar, ou distribuir o Documento é nula, e resultará automaticamente no término de seus direitos sob esta Licença. Entretanto, terceiros que tenham recebido cópias, ou direitos de você sob esta Licença não terão suas licenças terminadas, tanto quanto esses terceiros permaneçam em total acordo com esta Licença. REVISÕES FUTURAS DESTA LICENÇA A Free Software Foundation pode publicar novas versões revisadas da Licença de Documen- tação Livre GNU de tempos em tempos. Tais novas versões serão similares em espirito à versão presente, mas podem diferir em detalhes ao abordarem novos porblemas e preocupações. Veja http://www.gnu.org/copyleft/. A cada versão da Licença é dado um número de versão distinto. Se o Documento especificar que uma versão particular desta Licença "ou qualquer versão posterior"se aplica ao mesmo, você tem a opção de seguir os termos e condições daquela versão específica, ou de qualquer versão posterior que tenha sido publicada (não como rascunho) pela Free Software Foundation. Se o Documento não especificar um número de Versão desta Licença, você pode escolher qualquer versão já publicada (não como rascunho) pela Free Software Foundation. ADENDO: Como usar esta Licença para seus documentos Para usar esta Licença num documento que você escreveu, inclua uma cópia desta Licença no documento e ponha as seguintes notas de copyright e licenças logo após a página de título: Copyright (c) ANO SEU NOME. É dada permissão para copiar, distribuir e/ou modificar este documento sob os termos da Licença de Documentação Livre GNU, Versão 1.1 ou qualquer versão posterior publicada pela Free Soft- ware Foundation; com as Seções Invariantes sendo LISTE SEUS TÍTULOS, com os Textos da Capa da Frente sendo LISTE, e com os Textos da Quarta-Capa sendo LISTE. Uma cópia da li- cença está inclusa na seção entitulada "Licença de Documentação Livre GNU". Se você não tiver nenhuma Seção Invariante, escreva "sem Seções Invariantes"ao invés de dizer quais são invariantes. Se você não tiver Textos de Capa da Frente, escreva "sem Textos de Capa da Frente"ao invés de "com os Textos de Capa da Frente sendo LISTE"; o mesmo para os Textos da Quarta Capa. Se o seu documento contiver exemplos não triviais de código de programas, nós recomenda- mos a publicação desses exemplos em paralelo sob a sua escolha de licença de software livre, 17
  • 19. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF tal como a GNU General Public License, para permitir o seu uso em software livre. 18
  • 21. Capítulo 1 O que é o LTSP O Linux Terminal Server Project (LTSP) é um projeto baseado em Linux que agrupa várias ferramentas e protocolos standard, com a finalidade de proporcionar um ambiente de trabalho remoto. Todo o software é corrido no servidor, e os terminais servem apenas de interface entre o utilizador e as aplicações. Os poucos ciclos de processamento gastos são para enviar os dados da placa de rede à placa gráfica. Com efeito, é possível ter vários clientes com hardware antigo e ter um desempenho equivalente ao do servidor. O material utilizado neste curso foi retirado do site www.ltsp.org. Segue abaixo informações sobre direitos autorais e licença: This document is copyright 2004 by James McQuillan, and is released under the terms of the GNU Free Documentation License, which is hereby incorporated by reference. 20
  • 22. Capítulo 2 Plano de ensino 2.1 Objetivo Qualificar técnicos e programadores na linguagem de programação LTSP. 2.2 Público Alvo Técnicos e Programadores que desejam trabalhar com LTSP 2.3 Pré-requisitos Os usuários deverão ser, necessariamente, indicados por empresas públicas. 2.4 Descrição O curso de LTSP será realizado na modalidade EAD e utilizará a plataforma Moodle como ferramenta de aprendizagem. Ele é composto de um módulo de aprendizado que será dado na primeira semana e um módulo de avaliação que será dado na segunda semana. O material didático estará disponível on-line de acordo com as datas pré-estabelecidas no calendário. 2.5 Metodologia O curso está dividido da seguinte maneira: 2.6 Cronograma • Descrição das atividades • Semana 1 Lição 1 - Introdução/ Instalação; Lição 2 - Configuração; 21
  • 23. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF Lição 3 - Teoria da operação; Lição 4 - Configurando a estação de trabalho; Lição 5 - Solucionando problemas; Avaliação de aprendizagem. Todo o material está no formato de livro, e estará disponível ao longo do curso. O livro poderá ser acessado quantas vezes forem necessárias. Aconselhamos a leitura de "Ambientação do Moodle", para que você conheça o produto de Ensino a Distância, evitando dificuldades advindas do "desconhecimento"sobre o mesmo. Ao final de cada semana do curso será disponibilizada a prova referente ao módulo estudado anteriormente que também conterá perguntas sobre os textos indicados. Utilize o material de cada semana e os exemplos disponibilizados para se preparar para prova. Os instrutores estarão à sua disposição ao longo de todo curso. Qualquer dúvida deve ser disponibilizada no fórum ou enviada por e-mail. Diariamente os monitores darão respostas e esclarecimentos. 2.7 Programa O curso oferecerá o seguinte conteúdo: • Introdução/Instalação: Introdução; Instalação; Instalação dos utilitários LTSP; LTSP. • Configuração: Configuração; Configurações específicas da estação: • Teoria da operação: Passos; Carregando o kernel na memória. • Configurando a estação de trabalho: Estação de trabalho; Carga com PXE; Etherboot; Ligando a estação. • Solucionando problemas: Solucionando problemas em disquetes com imagens Etherboot; DHCP; 22
  • 24. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF TFTP; NFS; Xserver; Gerenciador de Telas. 2.8 Avaliação Toda a avaliação será feita on-line. Aspectos a serem considerados na avaliação: • iniciativa e autonomia no processo de aprendizagem e de produção de conhecimento; • capacidade de pesquisa e abordagem criativa na solução dos problemas apresentados. Instrumentos de avaliação: • participação ativa nas atividades programadas; • avaliação ao final do curso; • o participante fará várias avaliações referente ao conteúdo do curso. Para a aprovação e obtenção do certificado o participante deverá obter nota final maior ou igual a 6.0 de acordo com a fórmula abaixo: • Nota Final = ((ML x 7) + (AF x 3)) / 10 = Média aritmética das lições; • AF = Avaliações. 2.9 Bibliografia • Site official: http://www.ltsp.org 23
  • 25. Capítulo 3 Introdução/Instalação Este módulo abordará uma breve introdução ao LTSP e como instalar o servidor LTSP na máquina que dará suporte às estações. 3.1 Introdução/Instalação • Instrodução; • Instalação; • Instalação dos utilitários LTSP; • ltsp admin. 3.1.1 Introdução O LTSP fornece um meio simples de utilizar estações de baixo custo como terminais gráficos ou caracteres em um servidor GNU/Linux. Em uma configuração tradicional de escritório, há PC’s relativamente potentes baseados em processadores Intel em cada mesa de trabalho. Cada um com muitos gigabytes de espaço em disco. Os usuários armazenam seus dados no disco local, e cópias de segurança são raramente realizadas. Será que realmente faz sentido ter um computador completo em cada mesa? Dependendo das condições financeiras, não. Por sorte, há outro meio. Utilizando o LTSP, você pode ter PC’s baratos, remover seu disco rígido, disquete, CD-ROM, e adicionar uma placa de rede com suporte a boot por rede. Muitas placas de rede possuem encaixes, apenas esperando por um chip de boot a ser instalado. Durante a fase de boot, a estação sem disco obtém suas informações IP e o kernel do servi- dor, e então monta o sistema de arquivos raiz via NFS. A estação de trabalho pode ser configurada em um dos três modos: 24
  • 26. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF • Interface Gráfica X Window System Usando o X Windows, a estação de trabalho pode ser usada para acessar qualquer aplicação no servidor, ou em outros servidores na rede. • Interface Caractere Sessões Telnet A estações de trabalho pode obter múltiplas sessões telnet no servidor. Cada sessão telnet estará em uma janela virtual separada. Pressionando Alt-F1 até Alt-F9 irá alternar entre as sessões. • Aviso Shell A estação de trabalho pode ser configurada para cair diretamente em um shell bash no console. Isto é muito útil quando estiver depurando problemas com o X Windows ou NFS. Uma coisa realmente interessante é que você pode ter várias estações de trabalho conec- tadas a um único servidor GNU/Linux. Quantas estações de trabalho? Bem, isto depende da capacidade do servidor e das aplicações que serão usadas. Não é comum ter 50 estações de trabalho, todas utilizando o Mozilla e OpenOffice.org em uma Dual P4-2.4 com 4GB de ram. Nós sabemos que funciona. De fato, a carga média estará raramente acima de 1.0. 3.1.2 Instalando o LTSP no Servidor É melhor pensar no LTSP como uma distribuição completa de Linux. É uma distribuição que funciona no topo de uma distribuição host. A distribuição host pode ser qualquer distribuição de Linux que você quiser. De fato, não há nenhuma exigência real que o host esteja rodando Linux. A única exigência é que o sistema host seja capaz de utilizar um servidor NFS (Network File Sys- tem). A maioria dos sistemas Unix pode fazê-lo. De fato, mesmo algumas versões de Microsoft Windows podem ser configuradas para trabalhar como um servidor LTSP. Há três fases para construir um servidor LTSP. • Instalação dos utilitários LTSP; • Instalando os pacotes dos clientes LTSP; • Configurando os serviços necessários ao LTSP. 3.1.3 Instalação dos Utilitários LTSP A partir da versão 4.1, o LTSP possui um pacote de utilitários para a instalação e gerencia- mento de pacotes dos clientes LTSP (O software que é executado nos clientes), e para configurar os serviços no servidor LTSP. O utilitário de administração é chamado de ltspadmin e a ferramenta de configuração de ltspcfg. Ambas as ferramentas são partes do pacote ltsp-utils. Instalando o pacote TGZ Faça o download da última versão do pacote TGZ ltsp-utils em http://www.ltsp.org/download, e instale-o utilizando os seguintes comandos: 25
  • 27. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF • tar xzf ltsp-utils-versao.tgz ; • cd ltsp_utils ; • ./install.sh ; • cd ... . O comando acima irá instalar os utilitários LTSP no servidor. Instalando através do APT Caso a distribuição em que se deseja instalar o LTSP seja baseada em Debian, provavelmente você encontrará o utilitário APT. Para instalar o LTSP basta digitar o seguinte comando no termi- nal: • apt-get install ltsp-utils 3.1.4 Instalando os Pacotes do Cliente LTSP Uma vez que a instalação do pacote ltsp-utils estiver completa, você pode executar o comando ltspadmin. Este utilitário é utilizado para gerenciar os pacotes dos clientes LTSP. Ele irá consultar o repositório de download do LTSP, e obter a lista dos pacotes atualmente disponíveis. Execute o comando ltspadmin e você irá ver uma tela como o seguinte: Nesta tela, você pode escolher "Install/Update", e se esta for a sua primeira vez executando o utilitário, ele irá exibir a tela de configuração do instalador. 26
  • 28. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF Na tela de configuração, você poderá definir diversos parâmetros que o instalador irá utilizar, para fazer o download e instalar os pacotes LTSP. Estes parâmetros são: • Where to retrieve packages from: esta é a URL, que aponta para o repositório de pacotes. Tipicamente, deverá ser http://www.ltsp.org/ltsp-4.1, mas se você desejar instalar os pacotes de um sistema de ar- quivos local, poderá usar file:. Por exemplo, se os pacotes estiverem em um CD-ROM, e você tiver montado o CD-ROM em /mnt/cdrom, então o valor para o repositório de pacotes será: file:///mnt/cdrom. (Note as três barras). • In which directory would you like to place the LTSP client tree: este é o diretório no servidor, onde você deseja manter a árvore dos clientes LTSP. Tipicamente, será: /opt/ltsp. O diretório será criado, caso o mesmo ainda não exista; dentro deste diretório, o diretório raiz para cada uma das arquiteturas será criado. Atu- almente, apenas as estações x86 são oficialmente suportadas pelo LTSP, mas há várias pessoas trabalhando em ’ports’ para outras arquiteturas, como PPC e SPARC. • HTTP Proxy: se o servidor estiver por trás de um firewall, e o acesso a web deva ser feito através de um proxy, você pode configurar o instalador para usar o proxy aqui. Os valores devem conter a URL para o proxy, incluindo o protocolo e a porta. Se você não precisa de um proxy, deverá configurar esta opção para "none". • FTP Proxy: para pacotes localizados em um servidor FTP, se você precisar acessar através de um proxy FTP, você pode informar aqui. A sintaxe é similar para a opção proxy HTTP acima; se você não precisa de um proxy, deverá configurar esta opção para "none". 27
  • 29. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF Uma vez que você tenha concluído a tela da configuração, o instalador consultará o repositório de pacotes e obterá a lista dos componentes atualmente disponíveis. Selecione cada um dos componentes que deseja instalar. Para selecionar um componente, mova a linha de destaque para o componente desejado e pressione ’I’ para selecionar o compo- nente individual. Você pode pressionar também ’A’ para selecionar TODOS os componentes. Na maioria das vezes, será este o seu objetivo. Desta forma, você poderá dar suporte à maioria dos hardwares dos terminais. Há várias teclas que podem ser utilizadas para navegar nesta tela. Você pode obter ajuda para estas, pressionando a tecla ’ H’. 28
  • 30. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF Se você deseja ver a lista de pacotes que estão em um determinado componente, você pode pressionar ’S’, e a lista de pacotes será exibida. Será mostrada a versão atualmente instalada, bem como a última versão disponível. Uma vez que os componentes desejados estejam selecionados, você pode sair da tela de seleção de componentes. O instalador irá perguntar a você, para se certificar que você realmente deseja instalar/atualizar os pacotes selecionados. Se você responder ’Y’, então ele irá fazer o download e a instalação dos pacotes selecionados. 29
  • 31. Capítulo 4 Configuração do Servidor Existem uma série de serviços que devem ser configurados para que o servidor LTSP funcione corretamente. Entre estes serviços podemos citar: DHCP, NFS, TFTP e XDMCP. Vejamos como isto funciona. • Configuração; • Configurações específicas da estação. 4.1 Configuração 4.1.1 Configuração Há quatro serviços básicos necessários para suportar o boot de uma estação LTSP. São eles: • DHCP; • TFTP; • NFS; • XDMCP. O ltspcfg pode ser utilizado para configurar todos estes serviços, além de muitas outras coisas relacionadas ao LTSP. Você pode acessar o ltspcfg do ltspadmin, ou pode executá-lo digitando ltspcfg em um shell. Quando você executar o utilitário ltspcfg, ele irá verificar o servidor, para determinar o que está atualmente instalado e executando. Você verá uma tela como esta: 30
  • 32. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF Esta tela mostra todos os itens que o utilitário procura. Para configurar todos os itens que precisam de configuração, escolha ’C’, e o menu de con- figuração será exibido. Do menu de configuração, você precisará percorrer por cada item, para certificar-se que estes estão configurados corretamente para servir às estações LTSP. • 1 - Runlevel: A variável Runlevel é usada pelo programa init. Com sistemas GNU/Linux e Unix, em um determinado momento, é dito estar em um "Runlevel"específico. Os Runlevels 2 ou 3 31
  • 33. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF são tipicamente usados quando o servidor está em modo texto. O Runlevel 5 tipicamente indica que o sistema está em modo gráfico com suporte a rede; para um servidor LTSP, tradicionalmente o Runlevel 5 é usado. A maioria dos sistemas já está configurada para servir NFS e XDMCP quando no Runlevel 5. Para aqueles sistemas que ainda estão configurados para este fim, este utilitário tomará conta deles. • 2 - Interface selection: para sistemas que possuem múltiplas interfaces de rede, você precisará especificar qual interface os Thin clients estão conectados; selecionando a interface, a ferramenta de configuração está apta para criar os outros arquivos de configuração apropriados, como os arquivos dhcpd.conf e /etc/exports. • 3 - DHCP configuration: o DHCP precisa ser configurado para fornecer as informações necessárias para as estações. Entre estas informações estão fixed-address, filename, subnet-mask, broadcast- address e root-path; selecionando este artigo de menu, você estará apto para criar o arquivo de configuração dhcpd.conf, e então ativar o dhcpd para executar no início do sistema. • 4 - TFTP configuration: o TFTP é usado pelo ’thin client’ para fazer o download do kernel Linux. O serviço tftpd precisa ser ativado no servidor, para servir os kernels. • 5 - Portmapper configuration: O Portmapper é usado pelos serviços RPC. Cada um dos serviços RPC, tal como o NFS. • 6 - NFS configuration: o NFS é o serviço que permite que a árvore de diretórios local seja montada nas má- quinas remotas. Este é necessário ao LTSP, porque as estações montam seus sistemas de arquivos raiz do servidor; este item de menu irá cuidar para que o serviço NFS seja configurado para iniciar com o sistema. O arquivo de configuração é /etc/exports e sua criação será descrita mais adiante nesta seção. • 7 - XDMCP configuration: o XDMCP é o "X Display Manager Control Protocol". O servidor X envia uma requisição XDMCP para o gerenciador de ’Display’ no servidor para obter uma tela de login; os gerenciadores de ’display’ comumente em uso são o XDM, GDM e KDM. Este item de menu irá mostrar qual gerenciador de ’display’ foi encontrado, e qual está configurado para executar; por medida de segurança, o gerenciador de ’Display’ é configurado por padrão para não permitir as conexões de estações remotas. Esta é normalmente a razão para a Gray screen with large X cursor. O ltspcfg pode normalmente configurar o gerenciador de ’display"para permitir que estações remotas se conectem ao servidor. 32
  • 34. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF • 8 - Create /etc/hosts entries: muitos serviços, como o NFS e o gerenciador de ’Display’ precisam mapear o endereço IP da estação para um nome de host. Você pode configurar o Berkeley Intenet Naming Daemon (BIND) para fazer isto, mas você deve certificar-se de configurar o reverses cor- retamente. Finalmente, usar o BIND é provavelmente a melhor maneira fazê-lo, mas a configuração do BIND é além da finalidade deste documento e do utilitário ltspcfg; uma maneira mais simples para configurar o mapeamento de endereços IP e nomes de host é o arquivo /etc/hosts. • 9 - Create /etc/hosts.allow entries: alguns serviços usam uma camada de segurança conhecida como tcpwrappers. Este é configurado através do arquivo /etc/hosts.allow. Este item do menu irá configurar isto para você. • 10 - Create the /etc/exports file: este é o arquivo usado pelo NFS, para determinar quais diretórios permitem ser monta- dos por máquinas remotas. Este item do menu criará este arquivo. • 11 - Create the lts.conf file: a configuração de cada estação é direcionada por entradas no arquivo lts.conf. Para estações razoavelmente modernas com um barramento PCI, não deve ser necessária ne- nhuma entrada adicional no lts.conf. Mas, o arquivo ainda precisa existir. Este item do menu criará o arquivo lts.conf padrão para você. 4.1.2 Configurações específicas da estação Agora, é o momento de informar o servidor LTSP sobre uma estação específica. Há três ar- quivos que contêm informações sobre as estações de trabalho. • /etc/dhcpd.conf; • /etc/hosts; • /opt/ltsp/i386/etc/lts.conf. /etc/dhcpd.conf A estação precisa de um endereço IP e outras informações. Ela irá obter as seguintes do servidor DHCP: • Endereço IP; • Nome de host; • Endereço IP do servidor; • Gateway padrão; • Caminho do kernel a ser carregado; 33
  • 35. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF • Servidor e caminho para o diretório que será montado como sistema de arquivos raiz. Para o nosso exemplo de ambiente LTSP, nós escolhemos o DHCP para gerenciar a atribuição de endereços IP das estações. Durante a execução do script ltsp_initialize script, um arquivo dhcpd.conf é instalado. Ele es- tará localizado em /etc/dhcpd.conf.example, você pode copiá-lo para /etc/dhcpd.conf para utilizá- lo como base para a sua configuração do serviço DHCP. Você precisará modificar as partes deste arquivo que referenciam o ambiente de servidor(s) e estações. 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.254; option domain-name-servers 192.168.0.254; option domain-name "ltsp.org"; option root-path "192.168.0.254:/opt/ltsp/i386"; shared-network WORKSTATIONS { subnet 192.168.0.0 netmask 255.255.255.0 { } } group { use-host-decl-names on; option log-servers 192.168.0.254; host ws001 { hardware ethernet 00:E0:18:E0:04:82; fixed-address 192.168.0.1; filename "/lts/vmlinuz.ltsp"; } } Desde a versão 2.09pre2 do LTSP, você não precisa especificar um kernel particular a ser car- regado. O pacote padrão do kernel suporta todos as placas da rede que o Linux suporta. Há dois arquivos de kernel incluídos no pacote do kernel LTSP. Um kernel tem o ’Linux Progress Patch’ (LPP) aplicado, e o outro não. Os nomes para os kernels são: • vmlinuz-2.4.9-ltsp-5 ; • vmlinuz-2.4.9-ltsp-lpp-5 . 34
  • 36. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF Você pode ter observado que o kernel reside no diretório /tftpboot/lts, mas na entrada "filename"no arquivo /etc/dhcpd.conf está faltando o componente tftpboot do caminho. Isto é porque nas ver- sões 7,1 e superiores do Redhat, o TFTP está sendo executado com a opção ’-s’. Esta opção leva ao daemon do tftpd a funcionar na modalidade secure. Isto é, faz um chroot para o di- retório/tftpboot quando inicia. Conseqüentemente, todos os arquivos que estão disponíveis ao daemon do tftpd são relativos ao diretório tftpboot. Outras distribuições Linux podem não possuir a opção ’-s’ configurada para o tftpd, desta forma você precisará adicionar o prefixo /tftpboot ao caminho do kernel. • /etc/hosts; • Mapeamento de endereços IP para nome de máquina. Os computadores comunicam-se perfeitamente com os endereços do IP. Então, nós seres humanos precisamos por nomes nos computadores, porque não podemos recordar os números. É onde o DNS ou o arquivo /etc/hosts entra no jogo. Este mapeamento de endereços IP para nomes de host geralmente não é necessário, exceto em um ambiente LTSP. Isto porque sem ele, o NFS lhe dará erros das permissões quando a estação de trabalho tenta montar o sistema de arquivos raiz. Além dos problemas com o NFS, se a estação de trabalho não estiver listada no arquivo /etc/hosts, você poderá ter problemas também com gerenciadores de telas GDM ou KDM. • /opt/ltsp/i386/etc/lts.conf Há um número de entradas de configuração que podem ser especificadas no arquivo lts.conf. O arquivo lts.conf possui uma sintaxe simples, que consiste em seções múltiplas. Há uma seção padrão chamada [default] e pode haver seções para estações individuais. As estações podem ser identificadas pelo nome de host, pelo endereço IP ou pelo endereço MAC. Um arquivo lts.conf típico se parece com este: # # Config file for the Linux Terminal Server Project # [Default] SERVER = 192.168.0.254 XSERVER = auto X_MOUSE_PROTOCOL = "PS/2" X_MOUSE_DEVICE = "/dev/psaux" X_MOUSE_RESOLUTION = 400 X_MOUSE_BUTTONS = 3 USE_XFS = N LOCAL_APPS = N 35
  • 37. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF RUNLEVEL = 5 [ws001] USE_NFS_SWAP = Y SWAPFILE_SIZE = 48m RUNLEVEL = 5 [ws002] XSERVER = XF86_SVGA LOCAL_APPS = N USE_NFS_SWAP = Y SWAPFILE_SIZE = 64m RUNLEVEL = 3 Arquivo lts.conf Abaixo, uma lista das principais entradas: • XSERVER: se sua placa de vídeo é PCI, e se esta é suportada pelo X.org 6.7.0, então você apenas precisa do pacote lts_x_core. Este contém todos os módulos de driver para o X4. Há vários pacotes do XFree86 3.3.6 disponíveis para o LTSP. Isto é para o caso de sua placa de vídeo não ser suportada pelo X.org 6.7.0. Você pode criar entradas no arquivo lts.conf para cada estação individual, ou você pode criar uma entrada padrão que pode ser compartilhada por todas as estações. Nossa estação de trabalho possui uma placa de vídeo com chipset Intel i810, e esta pode ser detectada automaticamente, então nós não precisaremos de uma entrada XSERVER no arquivo lts.conf. A entrada XSERVER pode ser especificada, se você desejar, ou esta pode ser configurada para ’auto’ para mostrar que a placa de vídeo será detectada automaticamente. • RUNLEVEL: queremos utilizar a estação de trabalho no modo gráfico, desta forma, precisamos que o runlevel esteja configurado para ’5’. Isto é feito por outra entrada no arquivo lts.conf. • Exibindo a configuração atual: com o comando ltspcfg, você pode obter o status atual da configuração de todos os serviços necessários ao LTSP. Através do menu principal do ltspcfg, pressione ’S’, e você irá ver o status atual. 36
  • 38. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF 37
  • 39. Capítulo 5 Configurando a Estação de Trabalho Uma vez que o servidor esteja configurado, é hora de concentrar-se na configuração da esta- ção de trabalho. Tudo o que acontece depois que o kernel está na memória é sobre o projeto de LTSP. Há diversas maneiras de por o kernel na memória, incluíndo Etherboot, Netboot, PXE e o disquete. 5.1 Teoria da Operação • Passos; • Carregando o kernel na memória. 5.1.1 Passos Iniciar uma estação sem disco envolve alguns passos. Entender o que está acontecendo ao longo do processo irá tornar muito mais fácil a solução de problemas se eles chegarem a aconte- cer. Há quatro serviços básicos que são necessários para iniciar uma estação LTSP. São eles: • DHCP; • TFTP; • NFS; • XDMCP. O LTSP é muito flexível. Cada um dos serviços relacionados acima podem ser oferecidos pelo mesmo servidor, ou de diferentes servidores. Por exemplo, iremos descrever uma configuração simples, na qual consiste de um único servidor, fornecendo todos os serviços acima. As etapas que a estação de trabalho passará 1. Carregar o kernel Linux na memória da estação de trabalho. Isto pode ser feito de diferentes maneiras, incluindo: 38
  • 40. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF • Bootrom (Etherboot,PXE,MBA,Netboot); • Disquete; • Disco rígido; • CD-ROM; • Dispositivos de armazenamento USB. 2. Uma vez que o kernel tenha sido carregado na memória, ele iniciará sua execução; 3. O kernel irá iniciar todo o sistema básico e todos os periféricos que reconhecer; 4. É aqui que a diversão começa realmente. Durante o processo de carga do kernel, a imagem de um ramdisk também será carregada em memória. Um argumento na linha de comando do kernel root=/dev/ram0 o informa para montar a imagem como o diretório raiz; 5. Normalmente, quando o kernel finaliza sua carga, ele carregará o programa init. Mas, neste caso, instruímos o kernel para carregar um pequeno shell script em vez do padrão. Fazemos isto passando init=/linuxrc na linha de comando do kernel; 6. O script /linuxrc inicia por analisar o barramento PCI, procurando por uma placa de rede. Para cada dispositivo PCI que ele encontrar, será feita uma busca no arquivo /etc/niclist, para ver se há uma coincidência. Uma vez que coincidência é encontrada, o nome do módulo da placa de rede é retornado, e o modulo do kernel é carregado. Para as placas ISA, o módulo precisa ser especificado na linha de comando do kernel, juntamente com qualquer endereço IRQ, ou parâmetros de endereço que possam ser requeridos; 7. Um pequeno cliente DHCP chamado dhclient irá então, ser executado para realizar outra consulta ao servidor DHCP. É preciso fazer esta consulta no espaço de usuário, porque pre- cisamos de mais informações do que foram obtidas pela consulta ao DHCP pelo bootrom; 8. Quando o dhclient receber uma resposta do servidor, ele irá executar o arquivo /etc/dhclient- script, o qual utilizará as informações recebidas, e configurará a interface eth0; 9. Até este ponto, o sistema de arquivos raiz era um disk. Agora, o script /linuxrc irá montar um novo sistema de arquivos raiz via NSF. O diretório exportado do servidor é tipicamente /opt/ltsp/i386. Ele não pode simplesmente montar o novo sistema de arquivos como /. Ele primeiro precisa montar este em /mnt. Então, ele chama pivot_root. A pivot_root irá trocar o sistema de arquivos raiz atual por um novo sistema de arquivos. Quando ele completar, o sistema de arquivos NFS estará montado como / e o sistema de arquivos raiz anterior estará montado em /oldroot; 10. Uma vez que a montagem e troca do novo sistema de arquivos raiz estiver completa, nós terminamos com o shell script /linuxrc e precisamos chamar o programa /sbin/init real; 11. O Init irá ler o arquivo /etc/inittab e começará a configurar o ambiente da estação; 12. Um dos primeiros ítens é o arquivo inittab. É o comando rc.sysinit que será executado enquanto a estação estiver no estado ’sysinit’; 13. O script rc.sysinit irá criar um disco em memória de 1MB para conter todas as coisas que precisam ser gravadas ou modificadas de alguma forma; 39
  • 41. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF 14. O ramdisk será montado como o diretório /tmp. Qualquer arquivo que precisa ser gravado, existirá atualmente no diretório /tmp haverá links simbólicos apontando para estes arquivos; 15. O sistema de arquivo /proc está montado; 16. O arquivo lts.conf será processado, e todos os parâmetros neste arquivo que pertencem a esta estação, serão configurados nas variáveis de ambiente para uso do script rc.sysinit; 17. Se a estação estiver configurada para usar SWAP via NFS, o diretório /var/opt/ltsp/swapfiles será montado como /tmp/swapfiles. Então, se ainda não existir um arquivo de swap para esta estação, ele será criado automaticamente. O tamanho do arquivo de swap é confi- gurado no arquivo lts.conf . O arquivo de swap será então ativado, através do comando swapon; 18. A interface de rede loopback é configurada. Esta é a interface de rede que usa o endereço IP 127.0.0.1. ; 19. Se as aplicações locais estiverem ativadas, então o diretório /home será montado, de forma que as aplicações possam acessar o diretório pessoal dos usuários; 20. Diversos diretórios são criados. O sistema de arquivos /tmp para manter alguns dos ar- quivos transitórios que são necessários durante a execução do sistema. Diretórios como a seguir serão todos criados: • /tmp/compiled; • /tmp/var; • /tmp/var/run; • /tmp/var/log; • /tmp/var/lock; • /tmp/var/lock/subsys. 21. O arquivo /tmp/syslog.conf será criado. Este arquivo conterá informações com a localização do daemon syslogd o qual irá armazenar as informações enviadas pela rede. O computador com o serviço syslog é especificado no arquivo lts.conf. Há um link simbólico chamado /etc/syslog.conf que aponta para o arquivo /tmp/syslog.conf; 22. O daemon syslogd é iniciado, usando o arquivo de configurações criado no passo anterior; 23. Uma vez que o script rc.sysinit script estiver concluído, o controle retorna para o programa /sbin/init, o qual irá mudar o runlevel de sysinit para 5. Isto fará com que todas as entradas no arquivo /etc/inittab sejam executadas; 24. Por padrão, haverá uma entrada no inittab para executar o script /etc/screen_session no tty1, tty2 e tty3. Isto significa que você pode executar 3 sessões ao mesmo tempo, e o tipo da sessão e controlado pelas variáveis SCREEN_01, SCREEN_02 e SCREEN_03 no arquivo lts.conf . Mais entradas podem ser configuradas no inittab para mais sessões, se desejado; 25. Se SCREEN_01 é configurada para o valor startx, então, o script /etc/screen.d/startx será executado, o qual irá lançar o X Windows System, dando-lhe uma interface gráfica de usuá- rio. Há um parâmetro chamado XSERVER no arquivo lts.conf, Se este parâmetro estiver 40
  • 42. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF faltando, ou configurado para "auto", então uma detecção automática da placa de vídeo será tentada. Se a placa for PCI ou AGP, então serão obtidos o PCI Vendor e o Device id, e feita uma busca no arquivo /etc/vidlist. Se a placa for suportada pelo Xorg 6.7, a rotina pci_scan irá retornar o nome do módulo do driver. Se esta for suportada apenas pelo XFree86 3.3.6, o pci_scan irá retornar o nome do servidor X a ser usado. O script startx pode informar a di- ferença por que os nomes dos módulos do X Server 3.3.6 começam com ’XF86_’, enquanto na nova versão do X Server Xorg, os nomes dos módulos são tipicamente em minúsculas, como ati ou trident; 26. Se o Xorg for usado, então o script /etc/build_x4_cfg será chamado para criar um arquivo XF86Config file. Se o XFree86 3.3.6 for usado, então o script /etc/build_x3_cfg será cha- mado para criar o arquivoXF86Config. Estes arquivos serão postos no diretório /tmp . Os quais, se você estiver lembrado, é um ramdisk, visto apenas pela estação. O arquivo XF86Config será criado, baseado nas entradas do arquivo /etc/lts.conf; 27. Uma vez que o arquivo XF86Config foi criado, então o script startx irá carregar o X Server com aquele novo arquivo de configuração; 28. O X Server irá enviar uma consulta XDMCP para o servidor LTSP, o qual irá oferecer um diálogo de login; 29. Neste ponto, o usuário pode logar. Ele irá obter uma sessão no servidor. Em um primeiro momento, isto confunde muitas pessoas. Elas estão à estação, mas elas estão executando uma sessão no servidor. Todos os comandos que elas executam, serão execu- tados no servidor, mas a saída será mostrada na estação. 5.1.2 Carregando o Kernel na Memória Pôr o kernel Linux dentro das memórias das estações pode ser feito de várias maneiras. • Boot ROM Etherboot O Etherboot é um projeto de bootrom open-source muito popular. Ele contém drivers para muitas placas de rede comuns, e funciona muito bem com o LTSP. O kernel Linux pre- cisa ser ’rotulado’ com o mknbi-linux, o qual irá preparar o kernel para boot via rede, através da prefixação do kernel com alguns códigos adicionais e anexando uma initrd ao final do kernel. O kernel que é fornecido com o LTSP já está ’rotulado’ e pronto para uso com o Etherboot. O Etherboot também pode ser gravado em disquete, funcionando perfeitamente para testes. PXE Parte da especificação ’Wired for Management’ da década de 1990 incluiu a espe- cificação de uma tecnologia de bootrom conhecida como Pre-boot Execution Environment 41
  • 43. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF comumente abreviada como PXE. Uma bootrom PXE bootrom pode carregar até no má- ximo um arquivo de 32 Kilobytes. Um kernel Linux é um pouco maior que isto. Por isso, configuramos um carregador de boot de segundo estágio chamado pxelinux. O pxelinux é pequeno o bastante para ser carregado, e ele sabe como carregar arquivos grandes, como o kernel Linux. MBA O Managed Boot Agent (MBA) é uma bootrom de uma companhia chamada emBoot. A emBoot foi utilizada como a divisão Lanworks da 3Com. O MBA é na realidade, quatro bootroms em uma. Ele irá tratar PXE, TCP/IP, RPL e Netware. A implementação PXE do MBA funciona muito bem. Você pode usá-la com o pxelinux para carregar o kernel Linux. O método TCP/IP pode ser usado, mas antes, o kernel precisa ser preparado com um utilitário chamado imggen. Netboot O Netboot, assim como Etherboot, é um projeto de software livre que fornece ima- gens ROM livres para boot. A diferença é que ele é um ’invólucro’ para o driver NDIS ou drivers de pacotes distribuídos com as placas de rede. • Mídia Local Disquetes Há dois modos de iniciar uma estação LTSP com disquete. Um modo é carregar o Etherboot no setor de boot do disquete. Então, ele funcionará como uma bootrom. O código de boot será executado, a placa de rede será iniciada, e o kernel será carregado do servi- dor de rede. Você poderá também gravar o kernel e a initrd no disquete e iniciar daquela maneira. Entretanto, atualmente, é mais rápido carregar o kernel via rede. Disco rígido O disco rígido pode ser usado com o LILO ou GRUB, para carregar o kernel Linux e a initrd ou você pode carregar uma imagem bootrom Etherboot do disco rígido, e esta atuará como uma bootrom. CD-ROM Um CD-ROM ’bootavel’ pode ser carregado com o kernel Linux ou uma imagem Ether- boot. Dispositivos de armazenamento USB 42
  • 44. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF Assim como o CD-ROM, disquete e disco rígido, você pode usar um dispositivo de armazenamento USB tanto para iniciar um módulo Etherboot, como um kernel Linux e uma imagem initrd. 5.2 Configurando a Estação de Trabalho • Estação de trabalho; • Carga com PXE; • Etherboot; • Ligando a Estação. 5.2.1 Estação de Trabalho Uma vez que o servidor esteja configurado, é hora de concentrar-se na configuração da esta- ção de trabalho. Tudo o que acontece depois que o kernel está na memória é sobre o projeto de LTSP. Há diversas maneiras de pôr o kernel na memória, incluíndo Etherboot, Netboot, PXE e o disquete. 5.2.2 Carga com PXE Se sua placa de rede possui PXE embutido, então você pode usá-la para carregar o kernel do Linux. PXE é uma tecnologia de bootrom, similar a Etherboot ou a Netboot. Talvez você precise ativar o bootrom PXE em sua placa de rede. Você também pode precisar mudar a ordem dos dispositivos de boot em sua BIOS, para fazer a "Boot from LAN"a primeira escolha, ao invés de "Floppy"ou "HDD". O PXE tem uma limitação de somente poder carregar arquivos de 32kb ou menores. O ker- nel do Linux é um pouco maior que esta limitação, desta forma não é possível carregar o kernel Linux diretamente com o PXE. Você precisa carregar algo conhecido como ’Network Bootstrap Program’ ou NBP. Há um NBP disponível para carregar o kernel Linux chamado de pxelinux.0. Este é parte do pacote syslinux de H. Peter Anvin, um dos desenvolvedores do kernel. O pacote LTSP do kernel inclui o NBP pxelinux.0 e o arquivo de configuração necessário para carregar o kernel Linux e a imagem do ramdisk. A maneira de funcionamento é esta: • a bootrom PXE inicia a placa de rede e envia uma requisção DHCP; 43
  • 45. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF • o servidor DHCP responde à requisição com um endereço IP, e o nome do NBP a ser carregado; • a bootrom PXE faz o download do NBP, o põe em memória e inicia sua execução; • o NBP utiliza-se do tftp para fazer o download do arquivo de configuração do servidor; • o arquivo de configuração contém o nome do kernel, o nome do arquivo ramdisk inicial, e opções a serem passadas ao kernel, quando este for carregado. Aqui está um arquivo de configuração exemplo do pxelinux: prompt=0 label linux kernel bzImage-2.4.24-ltsp-4 append init=/linuxrc rw root=/dev/ram0 initrd=initrd-2.4.24-ltsp-4.gz O NBP então usa o tftp para fazer o download do kernel Linux, e do ramdisk inicial (initrd). O controle é então passado ao kernel Linux, este é carregado em memória, monta o initrd, e continua com o inicio do thin clinet. 5.2.3 Carga com Etherboot O Etherboot é um pacote de software para criar imagens ROM que possam realizar o down- load de código sobre uma rede Ethernet a ser executado em um computador x86. Muitas placas de rede têm um soquete onde um chip de ROM pode ser instalado. O Etherboot é o código que pode ser posto em tal ROM. O Etherboot é também Open Source, protegido pela GNU General Public License, Version 2 (GPL2). Para usar o Etherboot, se você já possui uma placa de rede com uma bootrom Etherboot, talvez precise modificar a configuração de sua BIOS para escolher a opção "Boot from LAN"para a carga do sistema operacional ao invés de "Floppy"ou "HDD". Se você não possui uma bootrom Etherboot, você pode ou criar uma bootrom, ou você pode criar um disquete com uma imagem Etherboot em seu setor de boot. O Etherboot suporta um vasto número de placas de rede. Mais de 200 modelos, com mais sendo adicionados todo o tempo. Se você escolher criar um disquete ou gravar o código em uma Eprom, precisará determinar qual o modelo de placa de rede possui. • Escolhendo um driver Etherboot para placas de rede ISA Para placas de rede antigas baseadas no padrão ISA, não é tão importante que você determine o tipo exato. Primeiro, a maioria delas são placas ne2000 ou 3Com 3c509. Você precisa apenas obter o driver Etherboot correto, o que seleciona o tipo correto de mídia na placa 10 base-2 (Coax) e 10 base-T (Twisted pair). 44
  • 46. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF • Escolhendo um driver Etherboot para placas de rede PCI Para as placas de rede PCI, é importante escolher o driver Etherboot que corresponda ao código PCI do fabricante e da placa de rede. Às vezes, você terá sorte. Saberá exatamente que modelo de placa de rede tem, por que o modelo é impresso na própria placa de rede, e bate exatamente com a descrição dos módulos no Etherboot. Mas, em muitos casos, será necessário encontrar os números do PCI ID. Se sua estação de trabalho tiver uma drive de disquete, você pode carregar um disquete tomsrtbt (Tom’s Root Boot). Ou, se sua estação de trabalho tiver uma unidade de CD-ROM, você pode carregar um CD do Knoppix. Se você não puder carregar o linux em sua estação de traba- lho, então sua única esperança pode ser mover a placa de rede para uma estação de trabalho que possa carregar o Linux. Uma vez que tenha o Linux carregado, você pode usar o comando lspci com a opção ’-n’. [root@jamlaproot]# lspci -n 0000:00:00.0 Class 0600: 8086:7190 (rev 03) 0000:00:01.0 Class 0604: 8086:7191 (rev 03) 0000:00:03.0 Class 0607: 104c:ac1c (rev 01) 0000:00:03.1 Class 0607: 104c:ac1c (rev 01) 0000:00:07.0 Class 0680: 8086:7110 (rev 02) 0000:00:07.1 Class 0101: 8086:7111 (rev 01) 0000:00:07.2 Class 0c03: 8086:7112 (rev 01) 0000:00:07.3 Class 0680: 8086:7113 (rev 03) 0000:00:08.0 Class 0401: 125d:1978 (rev 10) 0000:01:00.0 Class 0300: 1002:4c4d (rev 64) 0000:06:00.0 Class 0200: 8086:1229 (rev 09) No exemplo acima, você pode ver uma entrada para cada placa PCI no sistema. Você preci- sará procurar apenas os dispositivos Class 0200. Desta forma, executado novamente o comando, procurando apenas por interfaces Ethernet, a lista torna-se muito mais gerenciável. [root@jamlaproot]# lspci -n | grep "Class 0200" 0000:06:00.0 Class 0200: 8086:1229 (rev 09) Os números do PCI ID são: 8086:1229. O primeiro campo, 8086 é o PCI ID do fabricante. Neste exemplo, o fabricante é a Intel Corporation. O segundo campo, 1229 é o PCI ID do dis- positivo. Este nos informa qual o modelo da placa de rede. Neste caso, é uma placa de rede EtherExpress 100. Criando um disquete de boot Você pode fazer o download do pacote Etherboot e configurá-lo para o tipo de bootrom que preci- sar. Então, você pode compilar o fonte para produzir uma imagem bootrom que possa ser gravada 45
  • 47. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF em uma EPPROM ou em um disquete. Uma abordagem simples é ir ao site do Marty Connor’s www.Rom-O-Matic.net. O Marty fez um bom trabalho ao por um front-end web para configuração e compilação da ge- ração de imagens bootrom Etherboot. Neste site, você seleciona o tipo de placa de rede que tem e que tipo de imagem deseja. Então, você tem a oportunidade de modificar muitas das opções de configuração do Etherboot. Então, você pode pressionar o botão ’Get ROM’ e uma imagem bootrom personalizada será gerada enquando você espera. Para o formato de saída da ROM, escolhar ’Floppy Bootable ROM Image’. Isto irá ocasionar a inclusão de um cabeçalho de 512 bytes que é um boot loader para carregar a imagem etherboot na memória ram onde esta possa ser executada. Pressione o botão ’Get ROM’. A imagem bootrom será gerada enquanto você espera. Isto leva apenas alguns segundos, e quando completar, seu navegador irá abrir a janela de "Salvar como"onde você pode definir onde a imagem bootrom será salva em seu computador. Uma vez que tenha salvo a imagem em seu disco, você precisará gravá-la em um disquete. Insira um disquete na unidade e execute o seguinte comando para gravar o disquete: • dd if=Etherboot_Image of=/dev/fd0 5.2.4 Ligando a Estação Assumindo que o servidor e a estação estão configurados corretamente, é necessário apenas inserir um disquete de boot na estação de trabalho e ligá-la. O código de Etherboot será lido do disquete para a memória, a placa de rede será encontrada e inicializada, uma requisição dhcp será emitida na rede e uma resposta será emitida pelo servidor e será feito o download do kernel para a estação de trabalho. Uma vez que o kernel inicializou o hardware da estação de trabalho, o X Windows irá iniciar e uma tela de login deve aparecer na estação de trabalho, similar ao exemplo abaixo: 46
  • 48. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF Neste ponto, você pode logar. Uma coisa importante a ter em mente é que você está logando no servidor. Todos os comandos que você executar, estarão sendo executados no servidor, e sua saída mostrada na estação de trabalho. Isto é o poder do X Windows. Você pode executar qualquer programa que seja suportado pelo servidor. 47
  • 49. Capítulo 6 Problemas Técnicos Se, após todas as configurações, sua estação de trabalho não carregar, então você deve começar o processo de pesquisar os problemas de instalação. Esta lição mostrará diversos meios de solucionar problemas. 6.1 Solucionando problemas • Solucionando problemas em disquetes com imagens Etherboot; • DHCP; • TFTP; • NFS; • Xserver; • Gerenciador de Telas. 6.1.1 Solucionando Problemas em Disquetes com Imagens Etherboot Quando você iniciar por um disquete, você deverá ver algo similar a isto: loaded ROM segment 0x0800 length 0x4000 reloc 0x9400 Etherboot 5.0.1 (GPL) Tagged ELF for [LANCE/PCI] Found AMD Lance/PCI at 0x1000, ROM address 0x0000 Probing...[LANCE/PCI] PCnet/PCI-II 79C970A base 0x1000, addr 00:50:56:81:00:01 Searching for server (DHCP)... <sleep> O exemplo acima mostra o que você poderá ver na tela quando estiver iniciando um disquete. Se você não vir aquelas mensagens, indicando que o Etherboot iniciou, então você pode ter um disquete com defeito, ou você não gravou a imagem corretamente. Se, você vir uma mensagem como a seguinte, então isto indica que provavelmente a imagem Etherboot que você gerou não é a imagem correta para sua placa de rede. 48
  • 50. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF ROM segment 0x0800 length 0x8000 reloc 0x9400 Etherboot 5.0.2 (GPL) Tagged ELF for [Tulip] Probing...[Tulip]No adapter found <sleep> <abort> Se for até o ponto onde ele detecta a placa de rede e mostrar o endereço MAC correto, então o disquete provavelmente está normal. 6.1.2 DHCP Uma vez que a placa de rede esteja iniciada, ela irá enviar uma requisição DHCP para a rede local, procurando por um servidor DHCP. Se a estação de trabalho receber uma resposta válida do servidor DHCP, então ela configura- rará a placa de rede. Você saberá se funcionou corretamente caso as informações de endereço IP forem indicadas na tela. Aqui está um exemplo de como deve aparecer: ROM segment 0x0800 length 0x4000 reloc 0x9400 Etherboot 5.0.1 (GPL) Tagged ELF for [LANCE/PCI] Found AMD Lance/PCI at 0x1000, ROM address 0x0000 Probing...[LANCE/PCI] PCnet/PCI-II 79C970A base 0x1000, addr 00:50:56:81:00:01 Searching for server (DHCP)... <sleep> Me: 192.168.0.1, Server: 192.168.0.254, Gateway 192.168.0.254 Se você vir uma linha que começa com ’Me:’, seguida por um endereço IP, então você sabe que o DHCP está funcionando corretamente. Você pode ir em frente e verificar se o TFTP está funcionando. Se ao invés, você vir a seguinte mensagem na estação de trabalho, seguida de várias men- sagens <sleep>, então algo está errado. Embora, seja comum ver uma ou duas mensagens <sleep>, depois da resposta do servidor dhcp. Searching for server (DHCP)... Descobrir o que está errado pode ser algumas vezes difícil, mas aqui estão algumas coisas a observar. • Verificar conexões A estação de trabalho está conectada à mesma rede que o servidor está conectado? Com a estação de trabalho ligada, certifique-se de que as luzes de conexão estão acesas durante toda a conexão. 49
  • 51. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF Se você estiver conectando diretamente a estação e o servidor (sem hub ou switch), certifique-se que você está usando um cabo cross-over. Se você estiver usando um hub ou switch, então certifique-se de estar utilizando um cabo normal straight-thru, entre ambos a estação e o hub, e o hub e o servidor. O DHCP está sendo executado? Você precisa determinar se o dhcpd está sendo executado no servidor. Podemos encontrar a resposta de uma grande variedade de modos. O dhcpd normalmente permanece em segundo plano, ouvindo na porta udp 67. Tente executar o comando netstat para ver se existe algo ouvindo nesta porta: netstat -an | grep ":67 " Você deverá ver uma saída similar a esta: udp 0 0 0.0.0.0:67 0.0.0.0:* A quarta coluna contém o endereço IP e a porta, separados por dois pontos (’ : ’). Um en- dereço composto por zeros (’0.0.0.0’) indica que ele está ouvindo em todas as interfaces. Isto é, você pode ter as interfaces eth0 e eth1, e o dhcpd ouvindo em ambas as interfaces. Só porque o netstat mostra que alguma coisa está ouvindo na porta udp 67, não significa que é definitivamente o dhcpd que está escutando. Pode ser o bootpd, mas isto é incomum, porque o bootp não é mais incluído na maioria das distribuições Linux. Para certificar-se que é o dhcpd que está sendo executado, tente executar o comando ps. ps aux | grep dhcpd Você deverá ver algo parecido com o seguinte: root 23814 0.0 0.3 1676 820 ? S 15:13 0:00 /usr/sbin/dhcpd root 23834 0.0 0.2 1552 600 pts/0 S 15:52 0:00 grep dhcp A primeira linha mostra que o dhcpd está sendo executado. A segunda linha apenas o co- mando grep. Se você não vir nenhuma linha mostrando que o dhcpd está sendo executado, então você precisa checar se o servidor está configurado para o runlevel 5, e que o dhcpd está configurado para iniciar no runlevel 5. Em sistemas baseados em Red Hat, você pode executar o comando ntsysv e procurar o dhcpd para certificar-se que ele está configurado para inciar. Você pode tentar iniciar o dhcpd com este comando: service dhcpd start 50
  • 52. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF Preste atenção à saída, ela pode mostar erros. • Verifique novamente a configuração do dhcpd O arquivo /etc/dhcpd.conf possui uma entrada para a estação de trabalho? Você deve verificar novamente a configuração ’fixed-address’ no arquivo de configuração, para certificar-se que esta casa com a placa de rede na estação de trabalho. • O IPTables ou IPChains estão bloqueando as requisições? Verificando o ipchains Execute o seguinte comando para ver o que ele diz: ipchains -L -v Se você vir algo como: Chain input (policy ACCEPT: 229714 packets, 115477216 bytes): Chain forward (policy ACCEPT: 10 packets, 1794 bytes): Chain output (policy ACCEPT: 188978 packets, 66087385 bytes): Então não é o ipchains que está atrapalhando. Verificando o iptables Execute o seguinte comando para ver o que ele diz: iptables -L -v Se você vir algo como: Chain INPUT (policy ACCEPT 18148 packets, 2623K bytes) pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 17721 packets, 2732K bytes) pkts bytes target prot opt in out source destination 51
  • 53. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF Então não é o iptables que está atrapalhando. * A estação de trabalho está enviando a requisição? Tente monitorar o arquivo /var/log/messages enquanto a estação de trabalho estiver iniciando. Você pode fazê-lo com o seguinte comando: tail -f /var/log/messages Isto ’seguirá’ o arquivo de log quando novos registros forem adicionados a ele. server dhcpd: DHCPDISCOVER from 00:50:56:81:00:01 via eth0 server dhcpd: no free leases on subnet WORKSTATIONS server dhcpd: DHCPDISCOVER from 00:50:56:81:00:01 via eth0 server dhcpd: no free leases on subnet WORKSTATIONS Se você vir mensagens como as acima, informando ’no free leases’, isto indica que o dhcpd está sendo executado, mas este não sabe nada sobre a estação de trabalho que está requisi- tando um endereço IP. 6.1.3 TFTP O Etherboot usa o TFTP para copiar o kernel Linux do servidor. Este é um protocolo muito simples, mas algumas vezes há problemas ao tentar fazê-lo funcionar. Se você vir uma mensagem similar a esta: Loading 192.168.0.254:/lts/vmlinuz-2.4.24-ltsp-4......... com os pontos enchendo a tela rapidamente, isto normalmente indica que o TFTP está funci- onando corretamente, e que o kernel está sendo copiado. Se, ao invés, você não vir os pontos, então há um problema. Problemas possíves incluem: • O tftpd não está sendo executado Se o tftpd não estiver configurado para executar, então ele certamente não estará apto a res- ponder às requisições da estação de trabalho. Você pode ver se ele está sendo executado, você pode usar o comando netstat, como este: [root@bigdog]# netstat -anp | grep ":69 " udp 0 0 0.0.0.0:69 0.0.0.0:* 453/inetd 52
  • 54. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF Se você não vir nenhuma saída deste comando, então o tftpd não está sendo executado. Há dois métodos comuns de executar o tftpd, são eles o inetd e o novo xinetd. O inetd usa um arquivo de configuração chamado /etc/inetd.conf. Neste arquivo, certifique que a linha que começa com tftpd não está comentada. Isto é como a linha deve parecer: tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd -s /tftpboot O xinetd usa um diretório com arquivos de configuração individuais. Um para cada serviço. Se o seu servidor está usando o xinetd, então o arquivo de configuração para o tftpd é chamado de /etc/xinetd.d/tftp. Abaixo está um exemplo: service tftp { disable = no socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /tftpboot } Certifique-se que a linha disable não contém yes. • O kernel não está onde o tftpd espera encontrá-lo O kernel precisa estar em um local onde o daemon tftpd possa acessá-lo. Se a opção ’-s’ do daemon tftpd for utilizada, então qualquer coisa que a estação procurar precisa estar relativo ao diretório /tftpboot. Então, se a entrada filename no arquivo /etc/dhcpd.conf está configurada para /lts/vmlinuz-2.4.24-ltsp-4, então o kernel precisa estar em /tftpboot/lts/vmlinuz-2.4.24-ltsp-4 . 6.1.4 NFS Há diversas coisas que podem impedir que o sistema de arquivos raiz seja montado. Incluíndo as seguintes: No init found Se você obter o seguinte erro: Kernel panic: No init found. Try passing init= option to kernel. Então o mais provável é que você esteja montando o diretório errado como sistema de arqui- vos raiz ou o diretório /opt/ltsp/i386 está vazio. 53
  • 55. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF O servidor retornou o erro -13 Se você obter o seguinte erro: Root-NFS: Server returned error -13 while mounting /opt/ltsp/i386 Isto indica que o diretório /opt/ltsp/i386 não está listado no arquivo /etc/exports. Examine o arquivo /var/log/messages para ver se há algum indício. Uma entrada como esta: Jul 20 00:28:39 bigdog rpc.mountd: refused mount request from ws004 for /opt/ltsp/i386 (/): no export entry Então isto confirma nossa suspeita que a entrada no arquivo /etc/exports não está correta. Problemas no Daemon NFS (portmap, nfsd & mountd) O NFS pode ser um serviço complexo e difícil na solução de problemas, mas entendendo o que deve ser configurado e quais ferramentas estão disponíveis para diagnosticar os problemas irá certamente ajudar a tornar isto mais fácil. Há três daemons que precisam estar em execução no servidor para o NFS funcionar correta- mente. portmap, nfsd e mountd. • O Portmapper (portmap) Se você obter a seguinte mensagem: Looking up port of RPC 100003/2 on 192.168.0.254 portmap: server 192.168.0.254 not responding, timed out Root-NFS: Unable to get nfsd port number from server, using default Looking up port of RPC 100005/2 on 192.168.0.254 portmap: server 192.168.0.254 not responding, timed out Root-NFS: Unable to get mountd port number from server, using default mount: server 192.168.0.254 not responding, timed out Root-NFS: Server returned error -5 while mounting /opt/ltsp/i386 VFS: unable to mount root fs via NFS, trying floppy. VFS: Cannot open root device "nfs"or 02:00 Please append a correct "root="boot option Kernel panic: VFS: Unable to mount root fs on 02:00 Isto é causado muito provavelmente porque o daemon do portmap não está em execução. Você pode confirmar se o portmapper está funcionando usando o comando ps: 54
  • 56. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF ps -e | grep portmap Se o portmapper estiver executando, você deverá ver uma saída como esta: 30455 ? 00:00:00 portmap Outro teste é usar o netstat. O portmapper usa as portas TCP e UDP 111. Tente executar isto: netstat -an | grep ":111 " Você deverá ver a seguinte saída: tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN udp 0 0 0.0.0.0:111 0.0.0.0:* Se você não ver uma saída similar, então o portmapper não está executando. Você inicia o portmapper executado: /etc/rc.d/init.d/portmap start Então, você deverá certificar-se que o portmapper está configurado para iniciar quando o ser- vidor é iniciado. Execute o ntsysv para certificar-se que este está selecionado para executar. • O NFS e daemons MOUNT (nfsd & mountd) O NFS possui 2 daemons que precisam estar executando. O nfsd e o mountd. Ambos são iniciados pelo script /etc/rc.d/init.d/nfs. Você pode executar o comando ps para certificar-se que eles estão em execução. ps -e | grep nfs ps -e | grep mountd Se isto mostrar que um ou ambos os daemons não estão executando, então você precisará iniciá-los. Você deve estar apto a executar o script de início com o argumento restart para causar o inicio de ambos, mas por alguma razão, o script /etc/rc.d/init.d/nfs não reinicia o nfsd desta maneira. Ele reinicia somente o mountd (erro?). Assim, você deve preferivelmente executar a seguinte seqüência dos comandos: 55
  • 57. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF /etc/rc.d/init.d/nfs stop /etc/rc.d/init.d/nfs start Você pode obter erros no comando stop, mas isto está OK. O comando start deve mostrar OK como status. Se os daemos estiverem executando, mas o NFS continuar não funcionando, você pode verificar se eles se registraram com o portmapper utilizando o comando rpcinfo. rpcinfo -p localhost Você deve ver resultados similares aos abaixo: program vers proto port 100000 2 tcp 111 portmapper 100000 2 udp 111 portmapper 100003 2 udp 2049 nfs 100003 3 udp 2049 nfs 100021 1 udp 32771 nlockmgr 100021 3 udp 32771 nlockmgr 100021 4 udp 32771 nlockmgr 100005 1 udp 648 mountd 100005 1 tcp 651 mountd 100005 2 udp 648 mountd 100005 2 tcp 651 mountd 100005 3 udp 648 mountd 100005 3 tcp 651 mountd 100024 1 udp 750 status 100024 1 tcp 753 status Isto indica que o nfs (nfsd) e o mountd estão ambos executando e estão registrados com o portmapper. 6.1.5 Xserver Provavelmente a única parte mais difícil de configurar uma estação de trabalho LTSP é ter o servidor X configurado corretamente. Se você estiver usando uma placa de vídeo razoavelmente nova, e esta for suportada pelo Xorg Xservers, e você tiver um monitor razoavelmente novo que possa gerenciar uma grande escala de freqüências e definições, então é razoavelmente fácil se- guir em diante. Geralmente, nesse caso, se não funcionar, o mais provável é que o servidor X não é o certo para esta placa de vídeo. Quando um servidor X não funciona com sua placa, é geramente óbvio. Ou o servidor X não inicia, ou a tela estará incorreta. 56
  • 58. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF Quando a estação de trabalho está pronta para iniciar o servidor X, ela chama o script startx, o qual inicia o servidor X localmente na estação de trabalho, com a opção -query apontando para um servidor, onde um gerenciador de sessão, como o XDM, GDM ou KDM está executando. Porque o servidor X é iniciado pelo script startx, que é iniciado pelo programa init, quando ele falha, o init tenta executá-lo novamente. O init continuará este laço de tentar executar o servidor X 10 vezes, então desiste. Depois que finalmente desiste, a mensagem de erro do servidor X deve ser deixada na tela. Esperar o servidor X falhar 10 vezes pode ser irritante, assim uma maneira simples de evi- tar as falhas repetidas é iniciar a estação de trabalho no runlevel 3, de modo que o servidor X não seja iniciado automaticamente. Ao invés disto, quando você iniciar a estação de trabalho, começará com um shell bash. Do shell bash, você pode iniciar o servidor X manualmente com o seguinte comando: sh /tmp/start_ws O servidor X tentará iniciar, então quando ele falhar, irá retornar ao shell bash, de forma que você poderá ver a razão da falha. 6.1.6 Gerenciador de Telas O gerenciador de telas é o daemon que executa no servidor, esperando que um servidor X o contacte. Uma vez que o contato é feito, ele irá mostrar uma tela de login na tela, oferecendo ao usuário a chance de logar no servidor. Os três gerenciadores de tela mais comuns são: • XDM - Existirar para sempre. Este está incluído no X Windows System padrão; • GDM - O ’Gnome Display Manager’. Este é parte do pacote GNOME; • KDM - O ’KDE Display Manager’. Este é parte do K Desktop System. As distribuições GNU/Linux mais recentes incluem todos os três gerenciadores de tela. Tela cinza com um grande cursor em forma de X Isto indica que o servidor X está em execução, mas ele não conseguiu fazer contato com o gerenciador de telas. Algumas das possíveis razões para isto são: O gerenciador de janelas não está sendo executado O gerenciador de janelas é iniciado através do init. No arquivo /etc/inittab, há uma linha que se parece com esta: 57
  • 59. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF x:5:respawn:/etc/X11/prefdm -nodaemon O script prefdm irá determinar qual gerenciador de telas executar. O gerenciador de telas padrão depende de quais pacotes foram instalados. Se o GNOME está instalado, então o GDM é o gerenciador de telas padrão. Se o GNOME não estiver instalado, então o script prefdm irá checar para ver se o KDE está instalado. Se ele estiver, então o KDM será o gerenciador de telas padrão. Se o KDE também não estiver instalado, então o XDM será o gerenciador de telas padrão. Usando o comando netstat, você deverá conseguir ver se há um gerenciador de telas em exe- cução. No servidor, execute o comando abaixo: netstat -ap | grep xdmcp Você deverá ver resultados mostrando que há um processo ouvindo na porta xdmcp (177). udp 0 0 *:xdmcp *:* 1493/gdm Isto mostra claramente que o gdm está sendo executado com o PID 1493, e está ouvindo na porta xdmcp. Se você vir uma linha como esta mostrada acima, indicando que definitivamente há um geren- ciador de telas ouvindo, então você precisa certificar-se que a estação de trabalho está enviando a consulta XDMCP para o servidor correto. No arquivo lts.conf, você pode ter uma entrada que especifica o endereço IP do servidor que está executando o gerenciador de telas. A entada é opcional, mas se presente, deve parecer-se com isto: XDM_SERVER = 192.168.0.254 Claro que, o endereço IP para a sua rede pode ser diferente do exemplo acima. Se a en- trada ’XDM_SERVER’ não estiver presente, esta usará então o valor da entrada ’SERVER’, se presente. Se esta não estiver presente, então ela usará 192.168.0.254. A qual mesmo que espe- cificada, você apenas precisa certificar-se que o endereço IP é realmente o endereço correto do servidor executando o gerenciador de telas. O gerenciador de telas pode ser configurado para ignorar requisições de hosts se você tiver determinado que o gerenciador de telas está em execução, então é possível que ele tenha sido configurado para ignorar requisições XDMCP de hosts remotos. Você precisará checar os arqui- vos de configuração do gerenciador de telas particular em execução para determinar se ele está configurado corretamente. * XDM 58