lunes, 24 de septiembre de 2007

apt-geteando version especifica (pidgin no me convence)

Estuve probando nuevamente la versión estable de pidgin en feisty pidgin 1:2.2.0-1~getdeb y similar en landure) y esta vez logró quedarse en mi máquina por aproximadamente 15 minutos...
Definitivamente no me gusta para nada que ahora la parte de Tab ocupe el doble de espacio en pantalla y sobre todo que los avatars ya no se muestren en el tamaño normal en el margen inferior sino que aparecen como miniaturas ocupando más espacio... donde??... en el tab por supuesto.

Así que para retomar a mi versión anterior esta vez decidí optar por el camino correcto y en vez de bajarlo a mano e instalarlo con dpkg hice un man apt y re descubrí lo que alguna vez supe

apt-get install pidgin=2.0.1-1~getdeb

y todos felices (al menos yo)

miércoles, 19 de septiembre de 2007

tip for dummies (like me)

always forget this command and lose time searching it again.
when couldn`t umount a device.. you can run "fuser -vm devicemountpoint" and see what process is using it

renombrar archivos con espacios

post estúpido para no olvidarlo luego, de cualquier forma me falta agregarle qe deje la primera letra (no número) en mayúscula y que vaya explorando recursivamente los directorios

for i in *;do archivonuevo=`echo "$i"| tr A-Z a-z`;mv "$i" "$archivonuevo";done

martes, 18 de septiembre de 2007

rsync: respaldando la notebook a un disco extraible

Bueno en esta entrega aprenderemos a hacer un backup de nuestro sistema... digo, porque nunca se tienen suficientes backups y aparte puede partir nuestro disco en el momento menos esperado

#!/bin/bash

LIST="/bin /boot /etc /home /lib /opt /root /sbin /usr /var"
destination="/media/extraible/respaldo/backup-casper/"

for i in $LIST; do
echo "haciendo backup de $i"
rsync -Cavz --delete $LIST $destination
echo "$i completo"
done
echo "backup completo"
####

totalmente barato y entendible puede mejorarse en mil aspectos (incrementales, rotación de backups, permitir que sea dinámico, avisos a través de DBUS, cronearlo .. que se yo) pero cumple con lo que necesito. En mi caso tengo un disco serial ata conectado por usb en el cual voy a guardar el backup de mi notebook completa (salvo los directorios de información como peliculas musica y otras cosillas.. que eso será sincronizado aparte) para actualizarlo de vez en cuando.

La gracia de usar rsync y no cp es que produce menos tráfico (importante cuando se tiene solo usb2.0) y solo re transmitirá lo que vea que haya cambiado. Con -Cavz lo que hacemos es preservar todos los permisos ignorar algunos errores y hacerlo en modo "verbose", --delete es para que si al sincronizar habíamos eliminado algo del directorio de origen sea también eliminado en el directorio de destino, y lo hice finalmente con un for para poder hacer un rsync independiente por cada directorio importante ya que mis anteriores intentos de hacerlo directamente con "/" y --exclude (para cada directorio que no queria respaldar) me daba problemas al momento re comenzar la sincronización si por algún motivo se me había cortado.

y bueno, eso es todo en escencia

jueves, 16 de agosto de 2007

tunneling over ssh

No es nada que no se pueda encontrar leyendo el man de ssh pero sirve para recordarlo.
Sabía que se podía hacer un tunel sobre ssh para acceder a otros puertos/servicios dentro del servidor de destino, pero nunca había probado tratar de acceder a servicios corriendo en maquinas que pertenecían a la red local detrás de ese servidor.

En escencia lo que logramos es evitar cargar reglas para el forward con iptables o similares y poder levantar servicios externamente que no estén visibles normalmente (incrementando la seguridad) a través de un medio encriptado.

bueno.. acá va la papa:

ssh -C -N -L [bindaddress:]port:host:porthost servidor

donde -C indicará que comprima, -N que no se van a ejecutar comandos en "host", -L que haga el tunel en el servidor de destino

Siendo

bindaddress: opcional para indicar a que ip se realizará el tunel (normalmente si no se especifica es 127.0.0.1)
port: el puerto local donde esuchará el servicio una vez establecido el tunel
host: la ip de la maquina destino detrás del servidor al cual estamos accediendo
porthost: es el puerto del servicio que corre en la maquina a la cual queremos acceder
servidor: la ip del servidor publico


y bueno .. eso es todo

sábado, 9 de junio de 2007

tip: i810 + vga-out + mouse pointer

Trouble: when i connect vga-out (switching ctrl+F6) the mouse pointer disappear some times (randomly).

Solution: adding this line to xorg.conf ( video device) the trouble was solved:
Option "SWCursor" "true"

explanation: Apparently when switch resolutions that they aren't the standard (wildscreen's resolutions), hardware cursor don't work correctly and cause this problem, so this option disable the hardware cursor and let my work with software cursor.

miércoles, 6 de junio de 2007

Linux RAS

####################################################
### howto linux RAS v0.1 / joemac@lugmen.org.ar / 2007 - 06 - 06 ###
####################################################

Creo que deben existir algo más de 30millones de tutoriales sobre como configurar un ras en linux, pero bueno... para no olvidarme acá va uno más.

CONFIG MODEM SMARTLINK USB
---------------------------
Comenzamos para este caso bajando los drivers apropiados para manejar estos modems genéricos, dependiendo de la distribución sera en mayor o menor medida dificil dejarlo en condiciones. pero basicamente tendremos que tener por lo menos los headers del kernel que estemos usando (en el caso de los precompilados) para poder generar el modulo que se insertará luego en /lib/modules/kernelver/misc/

En mi caso al instalarlo en una distribución basada en debian pude usar module-assistant que se encargó de bajar el driver-source de este modem y algunas cosillas mas para automatizar la carga de este al arranque (creación de nodos, etc)

Por alguna razón los nodos que creo para este modem se borran (solo los lsusb, los lsamr permanecen estáticos) pero como solo lo necesito para una presentación y no planeo usarlo luego podemos crearlos a mano.

mknod -m 600 /dev/slamr0 c 242 0 ; mknod -m 600 /dev/slamr1 c 242 1 ; mknod -m 600 /dev/slamr2 c 242 2 ; mknod -m 600 /dev/slamr3 c 242 3 ; echo -n
mknod -m 600 /dev/slusb0 c 243 0 ; mknod -m 600 /dev/slusb1 c 243 1 ; mknod -m 600 /dev/slusb2 c 243 2 ; mknod -m 600 /dev/slusb3 c 243 3 ; echo -n


luego de esto hay qe cargar el módulo slusb (si es que no se autocargó con udev y hotplug) y ejecutar

slmodemd /dev/slusb0 (con esto creamos el enlace simbolico a /dev/ttySL0)

CONFIG MGETTY
-------------------------
Para mi caso solo necesito agregar a /etc/mgetty/login.config

/AutoPPP/ - a_ppp /usr/sbin/pppd file /etc/ppp/options.SL0

Con lo cual le especificamos que auto levante ppp cuando reciba una conexion en el modem y que use los parámetros especificados en options.SL0

CONFIG PPP
-------------------------
Acá vamos a definir los métodos de conexion permitidos, velocidades, dns, ip, etc

Para este caso creamos el archivo /etc/ppp/options.SL0 con lo siguiente:

-detach
asyncmap 0
modem
crtscts
proxyarp
lock
require-pap
refuse-chap
ms-dns 192.168.10.2
usepeerdns
192.168.10.3:192.168.10.250
noauth

La primera ip es la que se le asignará al modem del lado del servidor al momento de establecer la conexión y la segunda es la ip que se le asignará al modem cliente que está llamando

Luego editamos /etc/ppp/pap-secrets agregando

* * "" *

Es bastante precario poner esto pero lo cierto es que por el momento para esta prueba no requería de más. (Si se desea pueden poneres usuarios y passwords específicos para determinada conexión o determinada ip)

PUESTA EN MARCHA
---------------------------

Luego de esto estamos en condiciones de aceptar conexiones entrantes y atenderlas con mgetty

Desde una terminal ejecutamos

mgetty /dev/ttySL0

(Podemos también si es nuestra intención dejar este servicio andando continuamente si agregamos a /etc/inittab
SL0:2345:respawn /sbin/mgettty /dev/ttySL0)

y probamos conectarnos desde alguna máquina remota con user y pass de alguien que esté creado en el sistema. (creando una conexión de acceso telefónico por ej)


Para habilitar el acceso a otros puntos de la red y compartir internet por ej, hacemos:

echo "1" > /proc/sys/net/ipv4/ip_forward

y listo tenemos acceso a la red local. Podriamos jugar un poco con iptables para hacer los ruteos un poco mas convenientes pero este no es el caso.


ALTERNATIVA SIN LINEA TELEFONICA (enlace punto a punto directo)
---------------------------

Una alternativa es usar programas como minicom y al momento de efectuar la llamada desde el cliente levantar el modem con un ATA y posteriormente insertar un script (que lleve /sbin/mgetty -r /dev/ttySL0), esto se hace ejecutando Alt+K pero debe haberse definido previamente en la configuración de minicom este script.
Puede ser que mgetty no atienda porque quiera trabajar sobre el mismo lockfile que minicom, podemos solucionarlo editando la configuración de minicom y estableciendo un nuevo archivo (en una ruta distinta) para el lock.
Por ej: originalmente está en /var/lock, y podríamos cambiarlo a /tmp/lock (cada programa usará un lock propio)

EOF