Debian

Compartiendo mi conexión…

Al fin Juan Carlos y yo nos sentamos hacer un trabajo que desde hace tiempo teníamos pendiente y era el hecho que compartir mi conexión a internet por razones obvia (chulear mi conex), actualmente me conecto mediante un Modem CDU 680 CMOTECH.
Explicando un poco que vamos hacer la idea es que cualquier persona tenga conexión a internet ya sea mediante mi interfaz de Red o Inalambrica, estas opciones son validas de acuerdo el caso que se presente pero focalizando el escenario que tengo y es que el modem CDU se conecta a mi PC mediante USB, es decir cuando establezco la conexión tengo interfaz PPP, la idea es que mi PC sea el gateway de las maquinas que se van a conectar.
Los instrumentos que necesitamos es un cable de red directo, NO cruzado y es por hecho que en distribuciones Linux automáticamente este cable se vuelve cruzado por software, hagamos la prueba para comprobar esto que les digo :-).
Conectemos ambas PC’s una vez que tengamos la dirección IP 169.254.xxx.xxx, asignemos direcciones IP a estos computadores:

PC-1

# ifconfig eth0 192.168.0.2

PC-2

# ifconfig eth0 192.168.0.3
# route add default gw 192.168.0.2

Una vez hecho esto hacemos ping de computador a computador para comprobar que existe conectividad.
Ping desde el PC-2 hacia el PC-1

# ping 192.168.0.2

Debemos obtener una salida como esta:

PING 192.168.0.2 (192.168.0.2) 56(84) bytes of data.
64 bytes from 192.168.0.2: icmp_seq=1 ttl=64 time=0.036 ms
64 bytes from 192.168.0.2: icmp_seq=2 ttl=64 time=0.036 ms
64 bytes from 192.168.0.2: icmp_seq=3 ttl=64 time=0.031 ms

Esto simplemente para que se vea que no necesitamos un cable cruzado :-), ahora vamos a la parte interesante en esta primera sección lo haremos que nuestra PC-2 se conecte a internet mediante la interfaz de Red utilizando como gateway la PC-1, para esto utilizaremos brctl para crear un puente (bridge) esto lo haremos de la siguiente manera, todos estos pasos se harán en la PC-1:

# brctl addbr br0

donde br0 es un nombre que le damos, puede ser cualquiera, una vez hecho esto levantamos este bridge, que finge como “interfaz”.

# ifconfig  br0 up
# brctl addif br0 eth0

Le damos una dirección IP al bridge br0

# ifconfig  br0 192.168.0.2

Agregamos las siguientes reglas en el Iptables

# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
# iptables -A INPUT -p TCP -m state --state RELATED -j ACCEPT
# echo 1 > /proc/sys/net/ipv4/ip_forward

NOTA: debemos detener el network-manager de la PC-1, ya que este tumba la puerta de enlace y por ende a pesar que de se este conectado por la interfaz ppp0 la PC nunca se “entera” que esta conectada.

# /etc/init.d/network-manager stop

La configuración de la PC-2 ya tiene la dirección IP asignada (192.168.0.3) solo debemos agregar los dns, en este caso utilice los de cantv 200.44.32.12, una vez hecho esto en la PC-2 podemos intentar navegar, ya sea abriendo un navegador o haciendo ping.

# ping www.google.com
PING www.l.google.com (74.125.95.103) 56(84) bytes of data.
64 bytes from iw-in-f103.google.com (74.125.95.103): icmp_seq=1 ttl=241 time=269 ms
64 bytes from iw-in-f103.google.com (74.125.95.103): icmp_seq=2 ttl=241 time=279 ms
64 bytes from iw-in-f103.google.com (74.125.95.103): icmp_seq=3 ttl=241 time=261 ms

Como vemos ya tenemos conectividad hacia internet mediante la PC-1 utilizando la interfaz de red, ahora lo hacemos utilizando la tarjeta inalámbrica de ambos computadores, para esto quitamos el cable de Red para evitar problemas.
En la PC-1 colocamos la tarjeta inalámbrica en mode ad-hoc y añadimos la interfaz inalámbrica por lo general wlan0 al brctl.

# iwconfig wlan0 essid "CaChi" mode ad-hoc channel 11
# brctl addif br0 wlan0

Ahora solo queda conectarse desde cualquier otra maquina hacia la PC-1 de la misma manera, es decir modo ad-hoc y por el canal (channel) 11 y por supuesto colocar los DNS correspondiente, en nuestro caso se colocó los de CANTV 200.44.32.12.
Con esto mis panas de la Universidad y demás, podrán “chulearme” la conexión :-) ahora solo faltaría un QoS.

  • Share/Bookmark

La Distribución GNU/Linux Canaima ya tiene logo!!!

Canaima Logo

Bueno finalmente fue publicado el logo que identificara a Canaima, la distribución basada en Debian adaptada a las necesidades de las instituciones publicas de la República Bolivariana de Venezuela, el ganador del concurso el el Sr. Irwin Borjas, el concurso patrocinado por el Centro Nacional de Tecnologías de Información (CNTI), la empresa de Telecomunicaciones CANTV y la Electricidad del Caroni (EDELCA), la empresa Venezolana de Industria Tecnológicas (VIT), el concurso ofrecía como premio al creador de la propuesta ganadora una Computadora portátil VIT.

Felicitaciones al ganador Irwin Enrique Borjas y un reconocimiento especial a los organismos involucrados por potenciar el uso de software libre en nuestro país.

Fuente: Kuro…

  • Share/Bookmark

4to Día Debian, esta cerca…!

Tenemos el agrado de invitarlos a la celebración del décimo quinto aniversario del proyecto Debian, siendo una de las distribuciones de GNU/Linux que se caracteriza por su enorme libertad y brindar a sus usuarios y administradores estabilidad y seguridad incomparables.

Dia Debian

Ya esta confirmado que para el 16 de agosto del presente año se llevara acabo el 4to Día Debian en Caracas.

Para mayor informacion sobre las ponencias y actividades que se llevaran ese día puedes consultar el sitio principal del evento….

  • Share/Bookmark

Simplificando el uso de Aptitude

Hace un tiempo me llamo mucho la atención que un compañero de trabajo instalaba paquetes con “aptx” :S no pude contener la intriga y le pregunte, Con que distribución trabajabas? esto a pesar que en determinados momentos de muchas de las conversaciones que tenemos sobre el tema de software libre el me había comentado que utilizaba Debian Lenny pero la duda viene por el simple hecho de utilizar “aptx”, me vacilo un rato, etc…

Después fue que me comento que había hecho un script en bash donde “simplificaba el teclear” sin duda optimiza los recursos empezando por el mismo, el publico lo que hizo en la wiki del trabajo y la comparto con ustedes para quienes deseen optimizar sus propios recursos.

A diario trabajamos en consola y hacemos uso de la herramienta aptitude, y es totalmente seguro que en determinadas ocasiones sea necesario usarlo muchas veces.

He aquí un aporte que podría ahorrar unas cuantas pulsaciones del teclado y implicar la instalación y eliminación de paquetes. Se trata de un script en bash que puedes utilizar en cualquier disto de Linux cuya manera de gestionar paquetes sea con aptitude.

Copiar estas lineas y guardarlo con el nombre aptx

#!/bin/sh -e
### BEGIN INIT INFO
# Provides:    manejo de paquete via Aptitude
# Required:    opciones:  install remove purge update search show
### END INIT INFO
PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"
[ -x /bin/aptx ] || exit 0
. /lib/lsb/init-functions
case "$1" in
  -i)
     log_action_begin_msg ">>> Instala el \"$2\" <<<"
     aptitude install $2
     ;;
  -r)
     log_action_begin_msg ">>> Eliminando el paquete del sistema <<<"
     aptitude remove $2
     ;;
  -p)
    log_action_begin_msg ">>> depurando archivo de config del paquete $2 <<<"
    aptitude purge $2
    ;;
  -u)
    log_action_begin_msg ">>>  Actualizando lista de paquetes <<<"
    aptitude update
    ;;
  -s)
    log_action_begin_msg ">>> buscar paquete <<<"
    aptitude search $2
    ;;
  -m)
    log_action_begin_msg ">>> Informacion del paquete <<<"
    aptitude show $2
    ;;
  -x)
    log_action_begin_msg ">>> Informacion del paquete <<<"
    aptitude install -f
    ;;
   *)
     echo "Uso: /bin/aptx { -i | -r | -p | -u | -s | -m | -x }"
     echo " Opciones:"
     echo "	-i  * Instalar un paquete."
     echo "	-r  * Remover un paquete del sistema."
     echo " 	-p  * Eliminar por completo los archivos de conf del paquete."
     echo " 	-u  * Actualiza BD de paquetes segun \"/etc/apt/source.list\"."
     echo " 	-s  * Buscar un paquete y conocer su status."
     echo " 	-m  * Mostrar informacion del paquete."
     echo "	-x  * Instala/Desinstala lo paquete que esten pendiente."
     exit 1
     ;;
esac
exit 0

Luego de tipear todo este cogido (a menos que hagas Copy Paste) debemos cambiarnos al modo de superusuario para copiarlo en otra ruta y asignarle los permisos necesario.

# chmod aptx /bin

#chmod 774 aptx

Ahora ejecuta…

#aptx

Listo, espero lo disfruten…

@utor; Williams Patino

  • Share/Bookmark

Instalando Xdebug en Debian Lenny.

Saludos siguiendo en la tónica de las buenas prácticas de desarrollo esta vez les traigo un How To sobre Xdebug, esta es una herramienta que desde la encontré me ha sido de gran ayuda al momento de detectar cuellos de botellas y profiling en la aplicaciones que suelo desarrollar sean pequeñas o grandes (En PHP), como valor agregado que en lo personal encontrado en esta extensión es la posibilidad de entender estructura de algunos framework interesante (Tomates, Kumbia, Symfoni, otros), si alguna vez haz trabajado con FireBug sabras de lo que hablo.

Para la instalación de esta extensión lo haremos sencillo con PEAR/PECL entremos a una consola.

 # pecl install xdebug

Una vez instalado este paquete vemos el infophp para verificar que la extensión se halla cargada correctamente.

screenshot.png

Si esto se muestra todo anda bien, ahora falta configurar xdebug para que nos genere los archivos con la información del debugging y profiling, esta información que muestro fue tomada del blog de Jesus Lara donde aparte de hablar de la configuración de este archivo explica la herramienta.

NOTA: donde realizo un cambio es en donde se muestra la ruta donde se instalo xdebug.so.

Configurando xdebug

Para la activación de xdebug he creado un archivo (dentro del directorio conf.d de php5) llamado xdebug.ini que contendrá las instrucciones para activar la extensión y activar de una vez el profiling.

como root:

#touch /etc/php5/conf.d/xdebug.ini

luego, agregamos:

#vim /etc/php5/conf.d/xdebug.ini
zend_extension_ts="/usr/lib/php5/20060613+lfs/xdebug.so"
 
[xdebug]
xdebug.profiler_enable=1
xdebug.profiler_output_dir=/tmp/php5/profiler

donde fíjense que la ruta es donde phpize envía mis extensiones (en este caso, xdebug.so)

Agrego adicionalmente una sección xdebug (se agradece mantener ordenado los archivos ini) y activar “profiler_enable” (1 lo activa, 0 lo desactiva) e indicar la ruta (especificada por profiler_output_dir) donde se ha de crear el archivo de profiling.

guardamos:

:wq!

y reiniciamos nuestro apache:

#/etc/init.d/apache2 restart

Ya con esto todo lo que ejecutemos de manera local nos genera un archivo con el debugging solo nos queda visualizar los estos archivos, pero antes debemos instalar Kcachegrinf, para hacer esto como es Debian :) ejecutamos.

#aptitude install kcachegrind

Listo ahora si buscamos los archivos en la ruta indicada en /tmp/php5/profiler

Falta instalar un paquete para que imágenes como esta se generen.

screenshot-1.png

Este es el paquete particularmente en mis repositorios no estaban si quieren pueden hacer la prueba.

#aptitude search graphviz

Si encuentran algo excelente si no les dejo el enlace donde lo puede descargar y posterior instalar con:

#dpkg -i ruta_donde_guardo/graphviz_2.16.1-3_i386.deb

Con esto ya podemos comenzar visualizar las imágenes que se muestra arriba.

  • Share/Bookmark
  • Categorías