Cygwin
-
Upload
ricardo-pinheiro -
Category
Technology
-
view
765 -
download
1
description
Transcript of Cygwin
Solues administrativas com Cygwin.
ou... Como fazer o Windows te obedecer!
Antes de tudo:
Objetivo da palestra informativo.At o momento, todas as solues apresentadas aqui funcionaram. No quer dizer que funcionam em todos os casos, nem que no precisem de melhorias (pelo contrrio).
Aceitamos sugestes, idias... E crticas construtivas.
Quem esse cara?
Professor:FAETEC (desde 1999).
Faculdades (UERJ, UniverCidade, Paraso).
Matemtico e professor de matemtica pela UFRJ.
Mestre em Cincia da Computao pela UFF.
Usurio Unix desde 1991, Linux desde 1998.
Entusiasta do software livre:Conectiva, Red Hat, Fedora, Ubuntu, Gentoo, OpenWRT, Debian, CentOS... Tem prompt, estamos chegando junto!
Ele manja de Linux?
Palestrante no 5o Frum de SL do RJ (2007) e no 6o CONISLI (2008).
Membro do colegiado do curso de Tecnologia em Redes da UniverCidade.
Organizador de eventos - 1a e a 2a ExpoSALT.
Colunista (polmico) do site Guanabara.info.
No importa qual distro voc use, contanto que seja Linux.
Vamos dura realidade.
Bug #1 no Launchpad.net: A Microsoft tem a maior parcela do mercado de Sistemas Operacionais: http://u.nu/7hjed
O Windows est presente em quase 90% dos computadores padro IBM-PC do mundo.
Facilidade da pirataria: O Windows to de graa quanto o Linux, ningum paga por ele mesmo...
Lei de Grson, jeitinho brasileiro, etc.
Resistncia ao novo.
Constatao de um fato:
O maior aliado do crescimento do Linux a ABES: Enquanto a pirataria no for reprimida, no veremos o Linux crescer como deveria no Brasil.
Problemas do Janelas
A GUI convive mal com a linha de comando, herdada do DOS e do VMS.
Programao dos sockets no tem objetos unificados de dados, o que torna tudo mais difcil.
Escalonamento de processos computacionalmente caro.
A maioria dos programas no podem ser chamados por scripts.
O Registro do Windows um mistrio insondvel.
Arquivos do sistema s podem ser editados com ferramentas especficas.
Problemas do Janelas (cont.)
Comunicao TODA por chamadas remotas a procedimento, e cheio de bugs.
Uma falha no Registro pode gerar uma reao em cadeia que ir travar tudo, e for;ar a reinstalao do sistema.
Programas mal-educados, que exigem nvel de administrador para tarefas banais.
O inferno das DLLs, com atualizaes de bibliotecas do sistema, e a redundncia, o que consome muito espao ocupado no HD.
No h segurana no trfego de mensagens e sinais entre os clientes da interface grfica.
O agendamento de tarefas fede.
Imagem >> 1000 palavras
Exemplo de uma syscall feita pelo Apache ao kernel do Linux.
Imagem >> 1000 palavras
Exemplo de uma syscall feita pelo IIS ao kernel do Windows.
Problema (o local)
Escola Tcnica Estadual Repblica.Rede FAETEC (Rio de Janeiro)
Mais de 4000 alunos, em 6 cursos tcnicos.
Cerca de 250 computadores.
130 computadores em 10 laboratrios de informtica e 1 laboratrio de montagem e manuteno.
Windows e Linux em (quase) todos os desktops, e Linux nos servidores.
Administrao de redes: 4 professores e 3 estagarios:
Grande a seara, poucos so os searenses.
Problema (imagem de instalao)
Uso nas mquinas da escola.8 imagens diferentes.
4 imagens de instalao de laboratrio (diferentes perfis de hardware).Exatos 9,4 Gb (386 partes de 25 Mb cada).
Windows (XP SP3) e Linux (Ubuntu 10.04).
Mais de 40 programas para uso em aula, de diferentes licenas (sim, tem pirataria).
Muitas necessidades diferentes, para atender um pblico que sempre reclama.
Problema (pblico-alvo)
Usurio a imagem do co.No importa se aluno ou professor.
Exemplos:Compartilhar a rea de dados das mquinas de alunos.Pr: Facilita a vida dos professores em provas prticas.
Contra: Facilita a cola entre os alunos; facilita a troca de contedo ilcito (pornografia, jogos, filmes, etc.)
preciso ter um servidor Web para as aulas de PHP.Contra: cai no mesmo problema da cola e da troca de contedo.
Professor quer instalar programas quando bem entender, e quer incluir programas na imagem quando d na telha.
Cygwin de comer?
Ambiente semelhante ao Linux para Windows.Uma DLL (cygwin1.dll) com a camada de abstrao.
Uma coleo de programas recompilados para Windows tem de tudo, at o GNOME!
Objetivo: Usar ferramentas recompiladas, do Linux no Windows.
'(...) o Windows vai at ficar "legal" de usar!'Aurlio Marinho Jargas
Por que usar o Cygwin nesse ambiente especfico?
Resolver algumas questes necessrias para administrao das mquinas, como:Copiar arquivos da mquina do professor para as mquinas dos alunos, e vice-versa.
Desligar a(s) mquina(s) de laboratrio remotamente (uma ou vrias).
Trocar o nome das mquinas aps a restaurao de uma imagem de instalao.
Apagar o contedo das reas de dados dos alunos.
... e o cu o limite.
Procedimentos prvios
Instalao do Cygwin com o bsico necessrio.
Instalao de um servidor SSH para Windows nas mquinas: http://3.ly/EykP
Gerao de um ~/.ssh/known_hosts com a chave RSA de todas as mquinas (que a mesma, s muda o IP) assim uma pode logar na outra sem a requisio de senha.
Testes para ver se est tudo ok.
Script - trocar nome na rede
Uso do compname: http://3.ly/8Hw6.
Na rede, o nome dado segundo o IP:10.0.[instncia da rede].[nmero da mquina].
Exemplo: IP: 10.0.4.5 Nome: LAB4M5.
Pedao do script est a embaixo:
#!/bin/bash(...)scp compname.exe [email protected].$LAB.$i:~/ssh [email protected].$LAB.$i "chmod +x * ; /home/root/compname.exe /c LAB?kM?l"(...)
Script - limpar a rea de dados dos usurios
Apaga o contedo do drive D e do que indesejado na rea de Trabalho, e restaura as estruturas bsicas.
Pedao do script est a embaixo:
#!/bin/bash(...)ssh [email protected].$LAB.$i 'rm -rf /cygdrive/d/* ; tar xfj drive_d.tar.bz2 -C /'(...)ssh [email protected].$LAB.$i 'rm -rf /cygdrive/c/Documents\ and\ Settings/All\ Users/Desktop/* ; tar xfj links.tar.bz2 -C /cygdrive/c/Documents\ and\ Settings/All\ Users/Desktop/'
Script desligar as mquinas remotamente
Outro script simples:Comando shutdown, do Cygwin, permite desligar o computador (parmetro -s).
No Cygwin, a senha est associada ao usurio logo, tudo funciona bem se voc for Administrador.
Pedao do script a embaixo:
#!/bin/bash(...)ssh [email protected].$LAB.$i "/usr/bin/shutdown -s now"(...)
Script Enviar e receber arquivos
Problemas novos: Usurios no-privilegiados (professores) querem enviar arquivos para as mquinas dos alunos, e querem pegar esses arquivos de volta.Evitar o vai-e-vem de pendrives, e a trabalheira de ir at a mquina para acessar o contedo.
Problema da senha do usurio no dar permisso.Dar a senha do usurio Administrador? Nem ferrando!
Usurios, no geral, no sabem lidar com a linha de comando (parece que d choque).Criar uma interface mais agradvel.
Script Enviar e receber arquivos
Solues:Problema da senha: montar um script para executar com o comando expect, para que ele passe a senha para a mquina.
Usar o comando dialog para criar uma interface mais fcil para os usurios.
De quebra, fazer uma verso do script que desliga mquinas com uma interface mais fcil.
Script Enviar e receber arquivos
Script em expect:
Chamada ao script em expect:
#!/usr/bin/expect -fset timeout 500if {$argc != 3} { puts "use: $argv0 usuario senha ip_do_linux"; exit 0;}set usuario [lindex $argv 0]set senha [lindex $argv 1]set ip_do_linux [lindex $argv 2]spawn -noecho rsync -raqp --delete /cygdrive/d/Compartilhar $usuario@$ip_do_linux:/cygdrive/d/Compartilhar/expect "assword:" { send "$senha\r" }interact;
/cygdrive/d/copia_ida.exp $USUARIO $PASSWORD 10.0.$LAB.$i
Script Enviar e receber arquivos
Algumas questes...
Dificuldade para lidar com nomes que tenham espaos em branco.
Dialog Compilado e disponibilizado por Rodrigo Nakabashi.
Questes de verso da cygwin1.dll problemas para executar o Free Pascal junto com o Cygwin.
Questes de permisso de usurios.
Ainda muita coisa a fazer, mas at aqui j ajudou muito.
Mais informaes:
http://www.aurelio.net/cygwin - Portal brasileiro de Cygwin.
http://www.cygwin.com - Site oficial do Cygwin.
http://codigolivre.org.br/projects/dialogcyg/ - Dialog no Cygwin.
No futuro... Uma rea no Sourceforge para hospedar esses scripts? Quem sabe?
Mais idias?
Dvidas?
[email protected] jab: http://retrocomputaria.blogspot.com
Fim!
Por enquanto... Maiores novidades para breve!
Questo legal:Esta apresentao distribuda segundo a licena Creative Commons ShareAlike 2.5 (http://u.nu/97ied), logo:Pode copiar, distribuir, exibir, etc., e criar derivaes.
obrigatrio dar crdito ao autor original (ou seja, eu).
No possvel us-la comercialmente.
A licena viral, se mantm para trabalhos derivados.
Procure por uma cpia dessa apresentao futuramente em http://www.slideshare.net.
Muokkaa otsikon tekstimuotoa napsauttamalla
Muokkaa jsennyksen tekstimuotoa napsauttamallaToinen jsennystasoKolmas jsennystasoNeljs jsennystasoViides jsennystasoKuudes jsennystasoSeitsems jsennystasoKahdeksas jsennystasoYhdekss jsennystaso
Ricardo Pinheiro
Solues com Cygwin