Ferramentas do usuário

Ferramentas do site


dispositivoslocais

Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

dispositivoslocais [2015/01/19 23:34] (atual)
mafra criada
Linha 1: Linha 1:
 +Voltar para [[Projeto Escola Livre|página do projeto]]
 +
 +===== Configuração de dispositivos locais (disquete, cdrom) =====
 +
 +Idéia básica: clientes LTSP iniciam com kernel linux suportando supermount e servidor samba. Durante o processo de boot, clientes lêem arquivo de configuração lts.conf, descobrem o dispositivo de disquete e CD-ROM, iniciam um servidor samba com os parâmetros de dispositivo local e disponibilizam os dispositivos via samba (por padrão, em ///​tmp/​drives/<​dispositivo>//​). Adicionalmente,​ quando um usuário inicia uma seção gráfica num terminal LTSP, o diretório dos dispositivos neste terminal são montados via samba pelo servidor dentro do //home// daquele usuário (por padrão, no diretório //​$HOME/​drives//​).
 +
 +=== Referências ===
 +
 +Teoria básica: [[http://​www.ltsp.org/​localdev.txt|http://​www.ltsp.org/​localdev.txt]] \\
 +Instalação mais apurada: [[http://​wiki.ltsp.org/​twiki/​bin/​view/​Ltsp/​LocalMedia]]
 +
 +=== Processo de instalação e configuração ===
 +
 +''​Download do pacote ltsp_localdev''​ \\
 +Fazer o //​download//​ do pacote **ltsp_localdev** usando o script **ltspadmin**.
 +
 +''​Instalar o cliente samba no servidor LTSP. No debian:''​ \\
 +   $ apt-get install smbfs
 +
 +''​Editar lts.conf''​
 +
 +Editar o arquivo de configuração do LTSP lts.conf (no nosso caso, em /​usr/​ltsp-4.1/​i386/​etc/​lts.conf). Aqui, habilitou-se somente o acesso local à disquete para todos os clientes (seção "​[default]"​ do arquivo):
 +
 +   ​LOCAL_DEVICE_01 = /​dev/​fd0:​disquete
 +
 +**OBS.:** Caso se utilize um outro dispositivo local como CD-ROM, faça:
 +
 +   ​LOCAL_DEVICE_02 = /​dev/​hdc:​cdrom
 +
 +''​Montagem dos dispositivos no //home// do usuário''​ \\
 +
 +Até este ponto, o acesso aos dispositivos em cada terminal LTSP é possível via shell, habilitando tal acesso ​ colocando //SCREEN_02 = shell// na seção "​[default]"​ do lts.conf. Com esta opção habilitada, acesse o conteúdo do disquete no diretório /​tmp/​drives/​disquete ou então via samba usando um gerenciador de arquivos (konqueror ou nautilus por exemplo) digitando smb:/​nobody@<​IP_do_terminal>/​drives na barra de endereços. \\
 +
 +Para facilitar o uso, o local de acesso à disquete no terminal LTSP é direcionado para o diretório pessoal do usuário logado neste terminal ("​home"​) através dos scripts [[http://​ltsp.mirrors.tds.net/​pub/​ltsp/​ltsp-4.1/​LDA-setup.sh|LDA-setup.sh]] e [[http://​ltsp.mirrors.tds.net/​pub/​ltsp/​ltsp-4.1/​LDA-shutdown.sh|LDA-shutdown.sh]]. O primeiro monta o diretório dos dispositivos no home de um usuário com restrições de acesso apropriadas. O segundo script desmonta aquele diretório. \\
 +
 +Estes scripts são executados pelo gerenciador de login usado (e.g., GDM ou KDM) no servidor LTSP. Verifique a página-fonte para obter informações sobre como realizar a configuração adequada para o seu gerenciador de login. \\
 +
 +No GDM (caso corrente), depois de copiar os scripts para /​usr/​local/​bin e atribuir permissões de execução, acrescentou-se as linhas: \\
 +
 +  /​usr/​local/​bin/​LDA-setup.sh em /​etc/​gdm/​PostLogin/​Default ​
 +  /​usr/​local/​bin/​LDA-shutdown.sh em /​etc/​gdm/​PostSession/​Default
 +
 +''​Observações:''​ \\
 +
 +**(a)** Nesta instalação,​ substituiu-se o arquivo ///​usr/​ltsp-4.1/​i386/​etc/​rc.localdev//​ pelo arquivo //​rc.localdev//​ contido no pacote de atualizações em: 
 +[[http://​wiki.ltsp.org/​twiki/​pub/​Ltsp/​LocalMedia/​localdev-4.1.1-r1.tgz]]. \\
 +
 +Nesta atualização,​ o diretório dos dispositivos montados via samba tem permissão do usuário //nobody// ao invés do usuário //root//. \\
 +
 +**(b)** Nesta solução, os diretórios são montados mais de uma vez no diretório do usuário (//home//) via samba mais de uma vez caso a sessão gráfica não se encerre normalmente executando o //logout//. Para evitar isto, uma solução simples pode ser adotada. Edite o arquivo //​LDA-setup.sh//​ e acrescente alguma linha que verifique se o diretório já está montado, algo parecido com (verifique se as variáveis shell do exemplo abaixo correspondem ao do script! (:-)): \\
 +
 +    ## verificando se já está montado
 +    df | grep ${MYNAME}
 +    ISMOUNTED=$?​
 +    if [ $ISMOUNTED -eq 0 ] ; then
 +       ​umount ${HOMEDIR}/​drives
 +       #echo "`date +%c`: desmontou ${HOMEDIR}/​drives"​ >> /tmp/debug
 +    fi
 +
 +Adicionalmente,​ crie um script para o servidor LTSP desmontar automaticamente os pontos SMB "​zumbis",​ ou seja, que estão montados mesmo com o cliente LTSP desligado. Como sugestão, este script pode ter um conteúdo similar às seguintes linhas:
 +
 +  !/bin/bash
 +  HOMEDIR=drives
 +  COMMAND=mount.smbfs
 +  for i in `ps -o "​%a"​ x | grep $COMMAND | grep $HOMEDIR | cut -f2 -d " "`; do
 +   ​CLIENT=`echo $i | cut -f3 -d "/"​`
 +   ping -q -c 1 $CLIENT > /dev/null 2>&1
 +   if [ $? -ne 0 ]; then
 +      umount $i
 +   fi
 +  done
 +
 +Depois, ponha este script no crontab para executar, por exemplo, de 1 em 1 minuto: \\
 +
 +  0-59/1 * * * *  root    <​localização_do_script>​
  
dispositivoslocais.txt · Última modificação: 2015/01/19 23:34 por mafra