Bueno hoy escribo con la finalidad de dar a conocer un poco la experiencia vivida en estas Jornadas que son organizadas por lo chicos del último semestre de la carrera de Ing. de Informática de la Universidad Centroccidental Lisandro Alvarado (UCLA).
En primer lugar vaya mis FELICITACIONES a los chicos que organizaron este evento, mis impresiones han sido que desde el punto de vista organizacional son EXCELENTE creo que hay muchos eventos a nivel nacional que deberían aprender de ustedes.
Archive for the ‘Linux’ Category
Post-Infociencias UCLA 2008 - Parte I
Posted in Linux, Software Libre, Universidad | Comments (2)
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
Posted in Debian, Linux, Planeta Linux | Comments (3)
Arranca el 4to Congreso Nacional de Software Libre.
A partir de hoy comienza el evento itinerante que sin duda alguna es el mas grande de Venezuela en cuanto a apoyo, difusión e impulso al software libre en el país, así que se invita al publico en general a visitar las sedes donde se llevara este evento mas cercana a su localidad para que sientan el espíritu comunitario que se respira en la comunidad de software libre, aparte que podrán presenciar las charlas que se dictaran.
Posted in Interes, Linux | Comments (0)
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.
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 fijense 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.
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.
Posted in Configuracion, Debian, Linux | Comments (1)
Mi CLI con Colores.
No hay nada mas aburrido que ver siempre nuestro CLI (Consola) siempre Blanco & Negro, mas aun si eres una de las personas que le gusta trabajar bajo este ambiente de linux (como es mi caso) desde hace tiempo estaba buscando información sobre este tema y bueno aquí les traje una opcion para configurar su CLI con colores.
Editamos nuestro archivo $HOME/.bashrc como el usuario que se encuentre logueado en ese momento, pero antes hacemos un respaldo de ese archivo por si nos equivocamos:
$cp $HOME/.bashrc $HOME/.bashrc-respaldo
$vi $HOME/.bashrc
Ahora le agregamos estas linea junto con que contiene algunos colores para la consola esta lista puede crecer a medida que nuestra imaginacion se ponga exoterica.
RS="\[\033[0m\]" # reset HC="\[\033[1m\]" # hicolor UL="\[\033[4m\]" # underline INV="\[\033[7m\]" # inverse background and foreground FBLK="\[\033[30m\]" # foreground black FRED="\[\033[31m\]" # foreground red FGRN="\[\033[32m\]" # foreground green FYEL="\[\033[33m\]" # foreground yellow FBLE="\[\033[34m\]" # foreground blue FMAG="\[\033[35m\]" # foreground magenta FCYN="\[\033[36m\]" # foreground cyan FWHT="\[\033[37m\]" # foreground white BBLK="\[\033[40m\]" # background black BRED="\[\033[41m\]" # background red BGRN="\[\033[42m\]" # background green BYEL="\[\033[43m\]" # background yellow BBLE="\[\033[44m\]" # background blue BMAG="\[\033[45m\]" # background magenta BCYN="\[\033[46m\]" # background cyan BWHT="\[\033[47m\]" # background white #aqui indicamos los colores export PS1="$FGRN\u@$RS$FYEL\h$RS$FBLE\w\$ "
Guardamos el archivo, cerramos la consola, volvemos abrirla y deberíamos tener un aspecto mas llamativo, tal y como lo muestra la img.
Ahora vamos hacer el mismo procedimiento para el usuario root pero hacemos unos cambio para diferencialo con respecto a los demas nos autenticamos como root en mi caso es Debian.
#vi $HOME/.bashrc
Y en diferencia con el archivo de arriba solo vamos a cambiar la variable PS1.
export PS1="$FGRN\u@$RS$FYEL\h$RS$FBLE\w# "
Del Promt bash se puede obtener información interesante respecto al sistema operativo.
\a El carácter ASCII de campanita(07)
\d la fecha en formato "DiaSemana Mes Fecha"
p.ej: Tue May26
\D{formato}
El formato de fecha de acuerdo con strftime(3) y el
resultdo es mostrado en el prompt.
\e El carácter ASCII de escape (033)
\h El hostname antes del primer '.'
\H El Hostname
\j El numero de tareas que está ejecutando el shell
\l El nombre del dispositivo usado por el shell
\n Nueva línea
\r Retorno de Carro
\s El nombre del shell, el $0 (a partir de la útima /)
\t Hora actual 24-horas formato HH:MM:SS
\T Hora actual 12-horas formato HH:MM:SS
\@ Hora actual 12-horas formato am/pm
\A Hora actual 24-horas formato HH:MM
\u El nombre de usuario actual
\v Version del bash
\V Version del bash completa
\w Directorio actual
\W Nombre completo del directorio actual
\! Numero en el hisórico del actual comando
\# Numero de comando del actual comando
\$ Si el UID es 0, un #, de lo contrario un $
\nnn El caracter correspondiente al número octal nnn
\\ Una retrobarra
\[ Inicio de secuencia de caracteres que no se muestran,
se puede usar para incluir caracteres de control
\] fin de caracteres que no se muestran
Espero que disfruten ahora de una consola mucho mas atractiva.
Posted in Debian, Linux | Comments (1)
