A Django site.
Marzo 10, 2008
» Acelerando mi escritorio Linux

En los últimos días me encontré con dos lindos programas que ayudan a acelerar el inicio de las aplicaciones en Linux.

Por un lado esta PRELOAD, que es demonio que corre en backgroud y revisa las aplicaciones cargadas mas frecuentemente por los usuarios y trata de anticiparte a la carga de los mismos llevando binarios y/o librerias a la memoria RAM, para hacer su carga mas rapida. De esta forma sacrificamos un poco de memoria RAM en virtud de una carga mas rápida de las aplicaciones.

Por otro lado esta PRELINK, que es una aplicación que modifica los archivos ELF y librerías, "prelinkenado" libreras dinámicas y ejecutables para acelerar la búsqueda de las librerías por parte de las aplicaciones, y así cargarlas mas rápidamente.

La receta

Vamos a empezar por lo mas simple, por PRELOAD, para instalarlo va a ser suficiente un simple:
aptitude install preload
En el archivo /etc/preload.conf se puede parametrizar todas las configuraciones del demonio, inclusive la cantidad de memoria a reservar, aunque en el misma pagina del proyecto recomiendan no cambiar estos últimos valores. Por defecto, para una maquina con 1GB de RAM se estarán reservando unos 83 MB para la precarga de aplicaciones.

Luego viene PRELINK, que en este caso es un poco mas "trabajoso", empezaremos con un:
aptitude install prelink
Luego deberemos prelinkear todas nuestras aplicaciones, ejecutando el comando:
prelink -amR
En el archivo /etc/prelink.conf definimos no solo los directorios donde buscaremos las aplicaciones, sino tambien que tipos de archivos no intentaremos linkear. Como es conveniente correr este ultimo comando cada vez que instalamos una aplicacion nueva para finalizar agregamos a nuestro archivo /etc/apt/apt.conf la siguiente linea:
DPkg::Post-Invoke {"echo Ejecutando prelink, espere...;/etc/cron.daily/prelink";}
Con estos simples pasos, tendremos nuestro sistema Debian un poco mas optimizado para la carga de las aplicaciones, por un lado ganando tiempo en la carga de las librerías dinámicas y por otro pre cargando las aplicaciones mas utilizadas.



Marzo 9, 2008
» La Xerox Phaser 3116 en Debian Etch


Uno de las pocas cosas que en mi caso no salen funcionando de una después de la instalación de Debian Etch es la impresora. Esto no es culpa de los muchachos de Debian, sino que tengo una Phaser 3116 de la gente de Xerox, y que no hay un soporte oficial del Xerox para esta impresora en Linux.

Pero en este caso no es problema, ya que las impresoras Xerox Phaser 3116 y la Samsung ML-1520 no solo comparten su aspecto fisico, como pueden ver en las fotos, sino que también compraten su electrónica y por ende sus controladores.

Para manejar las impresiones en Linux no hay como CUPS (Common Unix Printer System), pero en este caso CUPS no soporta directamente ninguna de estas dos impresoras, por lo que debemos instalar el paquete foomatic-filters-ppds el cual trae es una coleccion de drivers para impresoras soportadas por linuxprinter.org (http://www.linux-foundation.org/en/OpenPrinting).

Foomatic es un sistema diseñado para Debian y después exportados a otras distribuciones para manejar de manera simple el soporte de las impresoras generado por linuxprinter.org proveyendo una "unión" entre las colas de impresión (como CUPS o lpr) y las impresoras.

PPD son las siglas de Postscript Printer Description, y los archivos ppd no son mas que archivos que describen como trabajan las impresoras postscript y se utilizaron originalmente para dar soporte y definir todas las facilidades de este tipo de impresoras en los sistemas Linux y Unix. Hoy en día a través de los archivos PPD se pueda dar soporte a la mayorías de las impresoras del mercado, sean o no Postscript. El paquete foomatic-filters-ppds es una colección de archivos ppd, que en conjunto con el paquete hpijs-ppds, describen a todas las impresoras que NO SON POSTSCRIPT que están soportadas por linuxprinting.org.

La receta

Aca viene la receta de cocina para configurar la impresora Xerox Phaser 3116 en Debian Etch 4.0 (estable). Que necesitamos
  • Una impresora Xerox Phaser 3116 con su cable USB ( Ovvvvbio ).
  • Servidor CUPS instalado y funcionando.
  • Un navegador Web.
  • Los repositorios oficiales de Debian definidos en el /etc/apt/source.list y actualizados.

El primer paso es instalar el sistema Foomatic y los archivos PPD:
aptitude install foomatic-db foomatic-db-engine foomatic-db-hpijs foomatic-filters-ppds
Una ves instalado los archivos PPD, abrimos nuestro navegador Web y entramos al servidor CUPS ( http://127.0.0.1:631 ). Desde la sección "Administración" agregamos las nuevas impresoras. Si todo esta bien configurado y ENCENDIDO (me refiero a la impresora, ovbio) encontraremos en "Impresoras" una opción para agregar nuestra impresora "XEROX PAHSER 3116". Seleccionamos "Añadir esta impresora". Cabe destacar que para realizar cualquier tarea de administración, CUPS nos solicitara la clave de root.

En la siguiente interfase nos pedira seleccionar nuestro controlador o que le especifiquemos el archivo PPD. Nosotros optaremos por esta segunda opción. Todos los archivos PPD instalados por el paquete foomatic-filters-ppd se encuentran en el directorio /usr/share/ppd/foomatic-rip/ y en nuestro caso el archivo en particular se encuentra en:
/usr/share/ppd/foomatic-rip/linuxprinting.org-gs-builtin/Samsung/Samsung-ML-1520-gdi.ppd.gz
Buscamos y seleccionamos el archivo ppd de la impresora Samsung ML 1520 y presionamos el boton de "Añadir Impresora". En la siguiente interfase podremos definir las propiedades de nuestras impresora, siendo una de las casi obligadas a cambiar la del tamaño del papel de "letter" a "A4".

Una ves instalada y configurada nuestras impresora ya podremos usarla sin problemas desde cualquier aplicacion de nuestro Debian.

Marzo 7, 2008
» Personalizando las aplicaciones alternativas de Debian

Uno de los puntos que hace fuerte pero a su ves le juega en contra a Debian es la gran cantidad de paquetes que posee esta distribución, llegando a tener 3 o 4 y en algunos casos mas de 5 programas para realizar la misma tarea. Esto trae consigo dos problemas, el de decidir cual instalar y el de una ves instalados dos o tres de estos programas poder definir uno de ellos como aplicacion por defecto.

Para poder resolver este ultimo problemas de tantas alternativas es que surgen las "Debian Alternatives". Un sistema para poder definir las aplicaciones por defecto para nuestro sistema Debian.

El filosofía que emplea "Debian Alternatives" es muy simple. Genera nombres genéricos para las tareas o aplicaciones mas comunes, tales como "editor" o "x-www-browser" los cuales no son mas que enlaces simbólicos a las aplicaciones reales. De esta forma si en alguna terminal llamamos al comando "editor" nos traerá la aplicación que hayamos definido como predeterminada para nuestro editor de texto de consola.

En honor a la verdad, son dos enlaces simbólicos, la aplicación que normalmente nosotros vamos a ejecutar que se encuentra en el directorio /usr/bin, pero es un enlace simbólico que apunta a un archivo dentro del directorio /etc/alternatives, el cual apunta a la aplicación real.

De esta forma es que aparecen nombre genéricos de aplicaciones tales como php, java, vi, cc, ftp que no solo nosotros las podemos llamar desde una consola, sino que muchas de las aplicaciones al ser compiladas para Debian vienen modificadas para usar estos nombres genéricos, asi por ejemple al configurar nuestro navegador web predeterminado mediante el nombre genérico x-www-browser, lo estaremos definiendo para todas las aplicaciones gráficas, debido a que las mismas al intentar abrir un URL llaman al navegador genérico.

Para poder configurar nuestras aplicaciones alternativas existen dos formas, por un lado la gráfica a través de la aplicación galternatives (si no la tenemos instalada con un simple aptitude install galternatives podremos instalarla) o desde la linea de comando con el comando update-alternatives. Desde la linea de comando si nos posicionamos en el directorio /etc/alternatives podremos ver el listado de todos los nombres genéricos que se encuentran instalados, y con la opción --config podremos configurar la alternativo, por ejemplo:

# update-alternatives --config pager

Hay 4 alternativas que proveen `pager'.
Selección Alternativa
-----------------------------------------------

1 /bin/more
2 /usr/bin/pg
*+ 3 /usr/bin/less
4 /usr/bin/w3m

Pulse para mantener el valor por omisión [*] o pulse un número de selección:

y de esta forma podremos definir cual sera nuestro paginado por defecto para nuestra consola.






Marzo 4, 2008
» Finaliza el soporte de "security" de Sarge

El 31 de marzo es el ultimo dia que se publicaran parches de seguridad de Debian Sarge (3.1). Entre las tantas politicas que tienen la gente de Debian, estan los plazos de soporte de las versiones anteriores a la actual estable, que es de un año.

El 8 de abril del 2007 la versión de prueba conocida como "Etch" paso a ser la version estable de Debian y la versión "Sarge" paso a ser una de las "anteriores". El equipo de Security Debian dio soporte a "Sarge" actualizando todos los paquetes durante 12 meses para darle tiempo suficiente a todos los administradores a migrar sus servidores a la nueva versión estable.

Las mejoras que trajo Etch son sigo son numerosas entre ellas podemos destacar:
  • Soporte oficial para AMD64
  • Se migro de X11 a Xorg
  • Se actualizo a Apache2, PHP5 y Mysql 5
  • Se actualizo a Gnome 2.1y KDE 3.5
  • Debian Volatile paso a ser oficial
  • Y se incluyeron 6500 paquetes nuevos !!
Migrar de Sarge a Etch es sumamente facil. por un lado verificamos que en el archivo /etc/apt/source.list tengamos definidos los repositorios de la version estable:

deb http://debian.ubiobio.cl/debian/ etch main contrib non-free

luego ejecutamos los siguientes comandos como root :

aptitude update # para actualizar la lista de paquetes

aptitude upgrade # para bajar y actualizar los paquetes sin cambiar de distribucion

aptitude dist-upgrade # para actualizar la distro a la version etch.

posiblemente, segun los paquetes que tengamos instalados y sus dependencias, debamos correr el comando dist-upgrade un par de veces para terminar de actualizar nuestro sistema.

Aun asi, debido a que hubieron muchos cambios en los paquetes y en algunos casos cambio la filosofía de algunos servicios lo ideal, y de ser posible, es instalar el servidor desde cero. Tarea tediosa, pero que vale la pena.





Febrero 13, 2008
» con colores y mas rapido !!!

Volvimos al "Paquete Debian del Dia", y esta vez vamos hacer un dos por uno....

Primero vamos con los "colorcitos". CCZE es una herramienta muy linda a la hora de ver los registros de sistema que nos permite ver los registros con colores para una mejor visualizacion. Tiene soporte para distintos tipos de archivos de registros como los del squid, postfix, oops, exim apache y otros mas.

Entre las opciones que tiene el ccze hay dos para destacar, por un lado la opcion "-c" que convierte los timestamp a fecha y hora, muy util a la hora de ver registros como los del squid. La otra opcion importante es la "-A" que habilita la salida en modo ascii (las otras dos salidas posibles son en modo curses y html). En modo ascii podemos, entre otras cosas ir separando las lineas al precionar "enter", algo muy util al ver los log en tiempo real.





En segundo lugar, y por ello menos importante, aparece "netselect". NETSELECT es una herramienta muy util al momento de elegir un mirror para las descargas, ya que nos permite seleccionar el mejor servidor entre la lista de servidores que le pasemos como parametros. Para seleccionar el mejor server utiliza un simple "icmp request" (ping para los amigos :) ), pero no solo toma el tiempo de respuesta del servidor, sino que a cada servidor le da un puntaje utilizando como metricas el tiempo de acceso, la cantidad de saltos y cantidad de paquetes perdidos, de esta forma tenemos una mejor apreciacion.

Entre los parametros que le podemos pasar al netselect son la cantidad se saltos maximas (para seleccionar servidores mas o menos cerca), la cantidad maxima de paquetes perdidos y la cantidad de server a elegir (podriamos seleccionar los 3 mejores de una lista de 100 server)

Como los muchachos de Debian son muy capos, han hecho un paquetito adicional que se llama netselect-apt que no es mas que un netselect para los mirror oficiales de Debian. Al correr el netselect-apt, este baja la lista de mirror oficiales, selecciona al mas rapido y arma el archivo source.list para que de esta forma ya nos quede todo listo para usar los repositorios oficiales y a la mejor velocidad posible


Febrero 6, 2008
» Debian Volatile

Navegando y buscando informacion sobre el cambio de hora en la Argentina y como hacer para actualizar los servidores Debian que administro me encontre con algo muy interesante por parte de los changos de Debian.

Uno de los tantos proyectos que tienen en Debian se llama "Volatile". En este proyecto estan todos los paquetes que cambian muy rapido, y que meterlo en la version establa meteria mucho ruido.

En debian-volatile vamos a encontrar principalmente los paquetes de antivirus y antispam, ya que este es precisamente el objetivo del proyecto es "permitir a los administradores de sistema tener sus equipos actualizados sin tener que jugar con las versiones inestables de ciertos paquetes"

Una vez mas los changos de Debian me han logrado sorprender con su postura de priorizar la estabilidad y seguridad de los sistemas.

Para empezar a usar los repositorios de debian-volatile es tan simple como agregar al /etc/apt/source.list las siguientes lineas:

deb http://volatile.debian.org/debian-volatile etch/volatile main
deb-src http://volatile.debian.org/debian-volatile etch/volatile main

y despues de esto con un "aptitude update; aptitude upgrade" estamos listo y con nuestro sistema totalmente actualizado... y en nuestro caso la hora tambien va estar actualizada !!!

una vez mas, mis felicitaciones para la gente de Debian !!