novas tecnologias para o ensino de física
Palestra da prof. Marisa Cavalcante no XVIII Smipósio Nacional do Ensino de física na Oficina de Novas Tecnologias do Ensino de Física
http://xviiisnefnovastecnologias.blogspot.com/
Um blog contendo resultados de buscas em informática e física
Palestra da prof. Marisa Cavalcante no XVIII Smipósio Nacional do Ensino de física na Oficina de Novas Tecnologias do Ensino de Física
Aproveitando o post do Franklin: “SSH: confiança entre servidores” e também o post anterior “Usando PIPEs no Linux: mknod p, mkfifo“, vamos compartilhar com a comunidade mais uma solução interessante usando os PIPES.. mas dessa vez não será preciso criar um FIFO com mknod ou mkfifo…
Dessa vez, vamos criar uma estrutura para poder digitar um comando uma vez só em um linux, e ele será replicado para várias máquinas linux, simultaneamente…
Antes de tudo, a máquina central onde você executará o comando, deve ter confiança para executar comandos SSH em outras máquinas sem a solicitação de senha (veja o post SSH: confiança entre servidores).
Então temos que definir algumas informações e os arquivos, em forma de variável para facilitar a utilização:
#!/bin/sh
IP1=”192.168.0.10″ # Endereço IP da maquina linux1
IP2=”192.168.0.20″ # Endereço IP da maquina linux2
TUN1=”/tmp/.tun2linux1″ # Tunnel ssh para a maquina linux1
BUF1=”/tmp/.buf2linux1″ # Arquivo de buffer para maquina linux1
TUN2=”/tmp/.tun2linux2″ # Tunnel ssh para a maquina linux2
BUF2=”/tmp/.buf2linux2″ # Arquivo de buffer para linux2
Explicação:
Os arquivos nomeados como TUN serão criados em seguida em forma simples arquivo em disco, e serão interceptados pelo “tail -f” e jogar tudo que receberem via ssh para os IPs definidos…
Já os arquivos nomeados como BUF serão criados em forma de simples arquivo em disco também, e servirão de buffer mesmo, onde toda a saída padrão do comando executado remotamente será armazenada… Por exemplo se você mandar o comando “ls -la /tmp”, cada arquivo BUF definido conterá o conteúdo do diretório “/tmp” respectivo de cada máquina da nossa solução..
Após isso, podemos então iniciar a criação dos túneis:
echo -n > $TUN1
echo -n > $TUN2
tail -f $TUN1 | ssh -T root@${IP1} >> $BUF1 &
tail -f $TUN2 | ssh -T root@${IP2} >> $BUF2 &
Pronto! Agora qualquer comando que você jogar com “echo” pra cima do $TUN1, será enviado via SSH para a máquina LINUX1 que você configurou, e o resultado (output) desse comando será armazenado no $BUF1. A mesma coisa acontece para o $TUN2, $BUF2, LINUX2.. e assim sucessivamente..
Exemplo de como usar:
linha1: comando=”ls -la /tmp”
linha2: echo -n > $BUF1
linha3: echo “$comando” >> $TUN1
linha4: while [ `cat $BUF1 | wc -l` -eq 0 ]
linha5: do
linha6: sleep 0.2s
linha7: done
linha8: cat $BUF1
Comentários:
linha1: definição de qual comando você vai querer executar nas máquinas remotas.
linha2: limpa o BUFFER, caso já tenha algum output de outro comando anterior
linha3: manda o comando configurado para dentro do tunnel $TUN1, nesse momento ele viaja pelo SSH até a shell na máquina remota com output para o buffer.. isso pode demorar alguns segundos..
linha4, 5, 6 e 7: laço de repetição.. enquanto o buffer BUF1 estiver vazio, aguarda 2 milésimos de segundo..
linha8: depois que detectou dados no buffer, joga na tela o conteúdo do buffer, ou seja, o output do seu comando.
Agora deixo pra você a parte de pensar o que mais você pode criar a partir disso… e contribuir ainda mais para a evolução da comunidade Linux no mundo.
No próximo POST, devo exemplificar melhor como fazer o seu shell solicitar pra você qual comando você deseja executar, e então usar um laço de repetição para cada máquina configurada e sair executando..
Por: Hudson Murilo dos Santos
créditos:
http://cialinux.wordpress.com/2009/01/15/tunel-criptografado-ssh-para-executar-comandos-em-mquinas-remotas-com-pipes/
Could not create guest user record !!!
Problema
Ao acessar a página principal do MOODLE você não consegue logar, nem como administrador.
Manutenção:
Explicando as últimas linhas:
AuthType Basic É o tipo de autenticação
AuthName "Acesso Restrito: " É a mensagem que aparece quando pedir a senha
AuthUserFile "/var/www/pasta_com_senha/.htpasswd" É o arquivo que armazena a senha
Require valid-user Essa linha indica que usuário pode acessar, pode trocar valid-user pelo nome do usuário no caso web.
Para testar crie um arquivo php dentro da pasta com o seguinte conteúdo:
phpinfo()
?>
Agora renicie o apache2
# /etc/init.d/apache2 stop
# /etc/init.d/apache2 start
e tente acessar o arquivo php.
Todo mundo do mundo Ubuntu conhece o AptonCD. Com ele você cria CD/DVD's de "backup" dos aplicativos .DEB que você tem instalado no PC usando a pasta CACHE.
MAS... e se por engano a pasta cache tem o conteúdo apagado?? Como fazemos para ter de volta os 450mb (por exemplo) de arquivos .DEB que foram pro espaço???
Segue a sugestão (não testei ainda):
Se quer todos os programas do apt-get já instalados, pode tentar isso aqui pelo terminal:$ mkdir aptoncd
$ cd aptoncd
$ dpkg --get-selections | awk '{if ($2 == "install") print "dpkg-repack "$1}' > lista
isso vai criar uma lista com todos os pacotes .deb já instalados, confere aí se tá com todos mesmo.
agora como root:
# cd aptoncd
# sh lista
isso vai fazer um "dpkg-repack" (recria todos os pacotes .deb já instalados) na pasta aptoncd (aqui demorou pelo menos uns 30 minutos)
copie todos os .deb para /var/cache/apt/archives/
# cp *.deb /var/cache/apt/archivesagora roda o aptoncd, e cria o cd/DVD com todos os pacotes já instalados.
Créditos : http://ubuntudicas.blogspot.com/2008/01/todos-os-programas-do-apt-get-j.html
Curiosidade é bom, afinal, faz com que busquemos soluções para algumas dúvidas. Eu tinha a curiosidade de enviar mensagem tipo net send do Windows, mas como nunca precisei nunca busquei, hoje tive a curiosidade e achei bem fácil até!
Depois de logado na máquina destino por ssh, é só fazer:
$ xmessage Mensagem Desejada -display :0 &
Exemplo:
$ xmessage "Título" "Frase" -display :0 &
fonte:
http://www.linuxforums.org/forum/misc/23161-net-send-command.html