Mostrando las entradas con la etiqueta cygwin. Mostrar todas las entradas
Mostrando las entradas con la etiqueta cygwin. Mostrar todas las entradas

lunes, noviembre 06, 2006

Conferencia de Cygwin y Ruby on Rails en UMaza


El miércoles 25/oct, a las 10am estuve en el aula de Conferencias de la Universidad Maza, dando una conferencia sobre el uso del lenguaje Ruby.

Tambien se hizo una demostración sobre Rails: un Framework "MVC" Opensource que se está convirtiendo en una gran alternativa a PHP y a JavaStruts.

No es mucho lo que conozco, pero alcanzó para dar una demostración sobre Linux y sobre Windows.

Mas tarde mis alumnos, Raul Mollos y Miguel Uvilla, demostraron como forwardear X dentro de Putty, y algúnas recetas usando Cygwin.

Si no pudieron ir, pueden pasar a recoger el código utilizado, la
conferencia en PDF, los fuentes en Openoffice y demás material en:




Links (entrar como invitado)
Material y Trabajos practicos de Arq. Cliente Servidor - C++ y Ruby

Material y Trabajos practicos de Arq. Cliente Servidor 2007 - Java y Ruby

martes, septiembre 12, 2006

Levantar programas graficos de Linux mediante Cygwin (sin Putty)


Soy un salame

Basta con agregar el componente openssh de Cygwin durante la selección de los paquetes a instalar, para que no haga falta el X Forwarding de Putty.

lunes, septiembre 11, 2006

Cygwin + Ncftput + find: Backups para Vagos (actualización)

Actualización 2: comentarios necesarios sobre en versiones nuevas de proftpd

Encontré una forma un poco primitiva para hacer backups de maquinas windozas sobre un servidorcito Linux. Por suerte es bastante artesanal y no dependo de cosas raras como el Micro$oft Backup, Nero Backup y otros cachivaches imprevisibles y/o sospechosas que me exigen desperdiciar otro server con Windort.

Backupeando

En el Linux
  • adduser por cada usuario
  • apt-get install proftpd
  • En /etc/proftpd.conf activar las siguientes lineas:
#(comentar)
DelayEngine off
#(comentar)


AllowStoreRestart on



En las estaciones:
  • Instalar el ncftpput de las herramientas "Unix" para Windows (Cygwin). Estas herramientas deberían ser muy tenidas en cuenta para los que se ahogan sin una consola cerca. Hay desde mutt, tar, ssh, de todo.
  • En el autoexec.bat (Win9x) o en Propiedades del Sistema / Variables de Entorno (Win200x/XP) agrego la línea c:\\cygwin\\bin al PATH.
  • Win9x tiene que reiniciar, ojo.
  • Bajo w2000/XP el acceso a la carpeta c:\\cygwin debe ser permitida a *Todos* los usuarios (Propiedades / Seguridad)
  • En el Programador de Tareas, agrego la línea:
ncftput -v -R -u ElUsuario -p Pasguor -m -z ip-del-server /home/ElUsuario/Backup "C:\Documents and Settings\ElUsuario\Mis Documentos" "C:\Documents and Settings\\ElUsuario\Escritorio"
  • Esta linda línea recolecta aquellos archivos que se han agregado o que han cambiado localmente, y copia o actualiza en el /home del Linux, comprimiendo por el camino y creando los directorios a medida que hace falta. Se le puede agregar todos los directorios que quieran al final. Es realmente muy rápida y por algúna razón no ocupa casi nada del ancho de banda de la red: las LTSP, a 10Mbits apenas si se enteran que un río de archivos va subiendo por el troncal hacia el segundo piso.
  • Para ejecutivos paranoicos con su información:
    • Dejar un acceso directo a algún bat que contenga la línea precedente, en la carpeta Inicio de CADA usuario, a fin que se ejecute el backup en cada inicio de sesión.
    • Cuando tengo que restaurar archivos, abro cualquier ventana de los Windows y le mando "ftp://ElUsuario@ip-del-server" donde paso a retirar el backup actualizado. Puedo usar tambien Samba pero tampoco quiero darles mucha libertad a los usuarios que curioseen por el server.

Cuidando la granja

No es que los usuarios sean muy despiertos, pero si miran dentro del Programador de Tareas se van a encontrar un pasword para loguearse por mi SSH. Todavía no dominan ni el Firefox, pero for if the flys, instalo un viejo amigo:
  • apt-get install falselogin
  • Gracias a algunos comentarios de la lista agrego a /etc/shells la línea /usr/bin/falselogin
  • En el /etc/password cambio el shell final de modo que llame a falselogin en cada vuelta, quedaría algo parecido a
passwd:ElUsuario:x:1059:1059:,,,:/home/ElUsuario:/usr/bin/falselogin

Si el usuario intentara loguearse obtendría

Welcome at gazpacho (Debian 3.1 Linux 2.6.10-5-386)
No mail.
Sorry sommelier but our server does not accept shell logins.
So long and thanks for all the fish.


Y si un usuario le quiere borrar vía FTP los archivos a un compañero? Siempre tienen la facultad de sorprenderme, de modo que llevo históricos semanales.

Sacando la basura
Ahora bien: semanalmente hago un backup del /home en DVD/R. Algún día me compraré n una cinta, pero hasta entre tanto, tengo que cuidar la cantidad de DVDs.

Me encuentro con que los usuarios guardan mp3, pequeñas peliculas, fotos, e incluso yo mismo me olvido instaladores sobre los escritorios, isos, temporales y demás cosas.

Puedo filtrar desde el Squid lo que entra desde Internet, pero siempre algo se cuela de las camaritas de los los celulares, los llaveros USB, las fotos que llegan por correo, y demás. No quiero backupear todo ese garbage.

Despues de navegar bastante encontré como opción

find /home -iname *.mp3 -exec rm {}

Cuando estoy por ejecutarlo se me ocurre leer el larguísimo man de find y encuentro que la versión 4.22 de findutils ahora trae la opción -delete. Hace lo mismo pero es mas fácil de recordar.

De modo que fabrico un archivo en /usr/bin/SacarLaBasura que contiene
find /home -iname *.pif -delete
find /home -iname *.lnk -delete
find /home -iname *.gif -delete
find /home -iname *.jpg -delete
find /home -iname *.bmp -delete
find /home -iname *.wav -delete
find /home -iname *.mp3 -delete
find /home -iname *.avi -delete
find /home -iname *.mpg -delete
find /home -iname *.mpeg -delete
find /home -iname *.tmp -delete
find /home -iname *.exe -delete
find /home -iname *.com -delete
find /home -iname *.tif -delete
find /home -iname *.dll -delete
find /home -iname *.met -delete
find /home -iname *.met.BAK -delete
find /home -iname *.log -delete
find /home -name Messenger* -delete
find /home -iname cygwin.rar -delete

Para correrlo antes del backup, o cuando estoy en modalidad BOFH, lo dejo ejecutable con
chmod a+x /usr/bin/SacarLaBasura

Despierta, Homero
Escribo un instructivo según el cual cada usuario debe mantener encendida su PC a ciertas horas, si no quiere que el ratoncito le coma el gruyere.

A fín de semana SacoLaBasura y empujo el DVD en la grabadora. Me queda ver si puedo hacerlo un poco mas seguro usando rsync, pero todavía no capto bien lo de los certificados entre los Win9x y el Linux. Alguien lo ha probado?

viernes, septiembre 08, 2006

Levantar programas graficos de Linux mediante Putty + Cygwin

Hace unos cuantas semanas que aprovecho los ratos libres del laboratorio para estudiar Rails y escribirles unos apuntes al respecto a mis alumnos.

Para ello utilizo uno de los Windows XP del curso y capturo pantallas a medida que voy documentando los pasos. Espero con el tiempo terminar por llevar a mis pollos al Software Libre mediante el uso de herramientas que encuentren similares en ambas plataformas. Ya les gustó PHP y algúnos de ellos se animaron a emplearlo en Linux.

Sin embargo extraño al server Linux del laboratorio, y tambien al de mi casa. A ambos accedo vía Putty, pero a veces quiero recurrir al K3b, Firestarter, Nerolinux y demas delicias, y debo trasladar trabajosamente mi humanidad. Puedo usar VNC o XDMCP pero quería innovar.

Me imaginaba que Putty tenía alguna manera de hacer X Forwarding de programas graficos ubicados en el host Linux de destino.

Hace unos años utilizaba Xbrowser, de Netsarang (propietario) + XDMCP contra Frank(Eistein), el server de Thinstations del primer piso.

Indagando un poco, descubri que se podía hacer usando simplemente:

Cliente Windows:
  • Putty
  • Cygwin + X - Este lo utilizo para automatizar backups de los usuarios

Server Linux
  • Openssh Server

Los pasos son muy simples:

  • En el Windows se instala Cygwin. Durante la instalación presto atención a agregar el server X.
  • Corro la consola de cygwin
  • Escribo "startx"
  • El server ya está funcionando en Windows. En la TrayBar figura una "X".




Ahora en Putty escojo Connection \ SSH \ Enable X11 forwarding \ Mit-Magic-Cookie-1



Ya logueado remoto simplemente llamo los programas. Equivale a hacer desde otro linux un "ssh -X host"

Por ejemplo aca estoy levantando el gaim de gazpacho, el server del laboratorio (como si no viniera Gaim para Windows, jeje)


Hoy día me he dado el gusto de usar el Openoffice de Zion (mi maquina) desde un XP del laboratorio, a traves de 2 Linux

[ XP Lab ]
-----------------> Gazpacho (Debian Server Lab)
-------------------------------------> Obelix ( Ubuntu Server casa)
---------------------------------------------------------------> Zion (Gentoo)


Trucos extras:


Si queremos que un usuario en particular sin conocimientos levante por ejemplo, un aplicativo que corre solo en Linux, o nautilus o rox para explorar sus archivos, bien podemos indicarle a Putty en Connection \ SSH \ Remote Command que simplemente levante ESE programa y no la atemorizante consola.


Tambien podemos tunelear un poquito. Si en la consola del otro linux utilizamos ssh -X podemos saltar a otro linux.

Tambien podemos saltar a otro Windows utilizando rdesktop, pero ya ahi conviene utilizar los niveles de compresion de ssh (man ssh) y de Putty (ver imagen)