Tag Archives: debian

Lanzar Acciones Basado en la Actividad del Sistema

Hoy os quiero presentar una utilidad tan simple como impresionante. Sentinella es una simple interface gráfica con una serie de eventos a monitorizar y una serie de acciones a ejecutar.

Para instalarla, en Debian/Ubuntu.

# apt-get install sentinella

En Fedora

# yum install sentinella

Si miramos la captura, es bastante autoexplicativa:

Sentinella

Sentinella

Podemos monitorizar:

  1. La carga de CPU.
  2. La memoria usada.
  3. El trafico de red.
  4. La fecha y la hora.
  5. El programa escogido.

Así, al escoger una de estas opciones decidimos que condición debe cumplir para la acción.

Las condiciones a cumplir son:

  • CPU: Mayor o menor que un tanto por ciento.
  • Memoria: Más o menos que una cantidad en MB.
  • Tráfico de red: Descarga o subida más o menos que una cantidad en KB/s.
  • Fecha y hora: La fecha u hora especificada.
  • El programa escogido muere: Cuando seleccionamos esta opción, nos saldrá una ventana con los procesos en ejecución para elegir uno, si el elegido muere, lanzará la acción.

Las condiciones de CPU, Memoria y Tráfico tienen además un control de tiempo, es decir, debe cumplirse la condición durante este tiempo para que se pase a la acción.

Una vez que la condición se cumple, pasamos a la acción, que enumeramos a continuación.

  1. Apagar.
  2. Reiniciar.
  3. Dormir.
  4. Ejecutar un comando.
  5. Lanzar la alarma. (tiene 3 tipos de alarma)
  6. Terminar el programa.

Algunos ejemplos, podemos apagar el PC configurando que el tráfico de red sea menor que 50KB/s en eth0 indicando que la descarga ha finalizado. Podemos hacer sonar la alarma cuando la carga de CPU sea menor que 20% indicando que el ya está rippeado el DVD para subirlo al Torrent. Podemos controlar que el Transmission funciona colocandolo en el menu de “El programa elegido muere”. Se me ocurren algunos ejemplos más pero creo que está bastante claro el uso. Una interface sencilla y bien estructurada hará de esta pequeña pieza de software las delicias de sus usuarios.

Página del proyecto.

Optimizando el Rendimiento de Apache con mod_expires y mod_deflate

Llevo unas horas jugando con el plugin PageSpeed de Google que te da una serie de consejos y buenas prácticas a la hora de publicar en Internet. Dos de esos consejos son los de comprimir los archivos que sirves desde el servidor y jugar con la caché del navegador del usuario para que los archivos más estáticos no sean descargados cada vez que entran en el sitio. Veamos como configurar nuestro servidor Apache para mejorar la experiencia de nuestros usuarios.

Lo he probado en Debian tanto Lenny con Apache/2.2.9 como Squezee con Apache/2.2.16.

mod_expires

El módulo viene de serie en ambas instalaciones y para activarlo simplemente hacemos:

# a2enmod expires

Y nos cargará el módulo. Pasamos a configurarlo, tenemos varias opciones que nos lo cuenta la entrada en la documentación de Apache:

Context: server config, virtual host, directory, .htaccess

Lo he probado en server config, virtual host y .htaccess tan sólo cambia donde vamos a escribir las reglas de vida de los tipos de archivo. En server config lo escribiriamos en un archivo:

# vim /etc/apache2/mods-available/expires.conf

y añadiríamos el siguiente contenido:

<IfModule mod_expires.c>
          ExpiresActive on
          ExpiresByType image/jpg "access plus 60 days"
          ExpiresByType image/png "access plus 60 days"
          ExpiresByType image/gif "access plus 60 days"
          ExpiresByType image/jpeg "access plus 60 days"
          ExpiresByType text/css "access plus 1 days"
          ExpiresByType image/x-icon "access plus 1 month"
          ExpiresByType application/pdf "access plus 1 month"
          ExpiresByType audio/x-wav "access plus 1 month"
          ExpiresByType audio/mpeg "access plus 1 month"
          ExpiresByType video/mpeg "access plus 1 month"
          ExpiresByType video/mp4 "access plus 1 month"
          ExpiresByType video/quicktime "access plus 1 month"
          ExpiresByType video/x-ms-wmv "access plus 1 month"
          ExpiresByType application/x-shockwave-flash "access 1 month"
          ExpiresByType text/javascript "access plus 1 week"
          ExpiresByType application/x-javascript "access plus 1 week"
          ExpiresByType application/javascript "access plus 1 week"
</IfModule>

La sintaxis es sencilla, sigue la siguiente regla:

ExpiresByType mime.type "<base> [plus] {<num> <type>}*"

donde

  • base: Puede ser access, now o modification. now es igual a access.
  • La clave plus es opcional. num debe ser un entero y type es uno de los siguiente:
  • years
  • months
  • weeks
  • days
  • hours
  • minutes
  • seconds

Así, por ejemplo, le estamos diciendo al navegador del usuario que almacene los archivos de imágenes durante 60 días desde el primer acceso, los archivos multimedia durante un mes y así.

Una vez ajustados estos tiempos conforme a nuestras necesidades hacemos un enlace del archivo de configuración dentro de mods-enabled

# ln -s /etc/apache2/mods-available/expires.conf /etc/apache2/mods-enabled/

y reiniciamos el servidor.

# /etc/init.d/apache2 restart

Un error que me dio en este punto fue que no encontraba el archivo de mime types en la raiz del servidor, por si os encontrais este problema, el archivo está en la documentación de Apache del servidor y lo obtenemos así:

# zcat /usr/share/doc/apache2.2-common/examples/apache2/mime.types.gz > /etc/apache2/mime.types

Si nos decidimos a configurarlo a nivel de Virtual Host tenemos que añadir la configuración dentro de las directiva Directory

Y si preferimos que nuestros propios usuarios del servidor definan la esperanza de vida en sus .htaccess tenemos que permitir el Allow Override a Indexes para que la configuración del servidor pueda ser sobrescrita con las directivas incluidas en este archivo.

mod_deflate

Enviar todo lo que podamos de forma comprimida nos hará ahorrar ancho de banda y nuestro usuarios con conexiones lentas nos lo agradecerán, por eso vamos a habilitar el módulo encargado de hacer esto.

 # a2enmod deflate 

Este módulo ya viene con un fichero de configuración que se enlaza en mods-enabled por lo que sólo tenemos que añadir:

# vim /etc/apache2/mods-available/deflate.conf
  SetOutputFilter DEFLATE
  SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
  SetEnvIfNoCase Request_URI \.(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
  SetEnvIfNoCase Request_URI \.pdf$ no-gzip dont-vary

En esta configuración le decimos que comprima todo excepto imágenes, archivos ya comprimidos y pdf’s, podemos hacer que lo comprima todo pero para estos archivos específicos no nos merece la pena y sería un gasto de computación innecesario.

Resultados

Para comprobar los resultado podemos usar el mismo plugin de PageSpeed o instalarnos el plugin para Firefox LiveHeader y ver si nos dice la fecha en la que expira el contenido y si la codificación del contenido es gzip, como podemos ver en la siguiente imagen:

LiveHeaderMark

Live Header

También lo podemos comprobar por línea de comando así:

$ curl -I http://www.muspells.net/images/logo.png
HTTP/1.1 200 OK
Date: Mon, 01 Aug 2011 11:15:39 GMT
Server: Apache
Last-Modified: Wed, 09 Mar 2011 18:36:27 GMT
ETag: "1b1e197-1b3e-49e1101b340c0"
Accept-Ranges: bytes
Content-Length: 6974
Cache-Control: max-age=5184000
Expires: Fri, 30 Sep 2011 11:15:39 GMT
Content-Type: image/png

Instalando Debian GNU/Linux Squezee Paso a Paso

Hoy es un gran día para Debian, que ha presentado al mundo la nueva versión del sistema operativo. Muchas página se hacen eco de la noticia, y no es para menos, ya que los desarrolladores han trabajado duro durante los últimos 24 meses para sacar adelante esta gran distribución (no digo que sea la mejor por mantenerme neutral, pero vaya, es con diferencia de las mejores, que va, es la mejor de todas 8)).

Vamos a ver como instalar el sistema paso a paso, ya que es una distribución pensada para usuario final como pueden ser Ubuntu (que está celebrando el año nuevo chino) o Fedora.

Lo primero que tenemos que hacer es descargar el CD o DVD de instalación, lo podemos descargar por descarga directa o con algún programa de Torrents como Deluge o Vuze.

Suelo descargar la versión para netinstall que en este caso ocupa unos 400 MB y casi todo lo extra que va necesitando lo descarga bajo demanda, pero si no contamos con una conexión a Internet podemos bajar los DVD con todos los paquetes disponibles. Una vez descargado, grabamos la imagen a un soporte físico, insertamos el soporte en la lectora y reiniciamos el PC.

Al arrancar nos recibirá el cargador de arranque GRUB con el art work de Valessio Brito

Grub

Grub

Aunque soy de los que piensan que es una obra un poco infantil tampoco me disgusta, ya que le da a la distro un look más desenfadado y juvenil. En este menú elegimos la opción de Install.

Empezará a cargar el asistente de instalación que nos guiará a través de todo el proceso. La siguiente pantalla nos pedirá que elijamos el idioma, la distribución del teclado y la ubicación donde nos encontramos:

Idioma

Idioma


Teclado

Teclado


Ubicacion

Ubicacion

Donde seleccionamos Spanish, Español, España respectivamente.

Pasamos ahora a la configuración de la red, si en la red hay disponible algún servidor DHCP, tomará una dirección automáticamente, si no tendremos que configurarlo a mano.

Con la dirección ya configurada pondremos un nombre a la máquina que estamos configurando:

Nombre Maquina

Nombre Maquina

Este ejemplo lo hemos llamado squezee pero podemos ponerle el nombre que más nos guste. Después nos preguntará el nombre del dominio, que en principio, a no ser que nos encontremos en algún entorno corporativo no nos hará falta y podemos llamarlo localdomain por no dejarlo en blanco.

Dominio

Dominio

Pasamos a continuación a la configuración de usuarios, en primer lugar escribimos una contraseña para el administrador, en sistemas UNIX y derivados, el administrador se llama root es muy importante que recordemos la contraseña que aquí escribimos ya que es nuestra llave para realizar cambios al equipo, instalar programas y demás tareas administrativas.

Clave Root

Clave Root


Confirmar Clave Root

Confirmar Clave Root

Ahora damos de alta a un usuario del sistema, nosotros, es de vital importancia trabajar en el día a día con un usuario sin privilegios para evitar cosas desagradables, en plata, si metemos la pata el daño es menor cuanto menos permisos tengamos.

Nuevo Usuario

Nuevo Usuario


Nombre Usuario

Nombre Usuario


Password Usuario

Password Usuario


Confirmar Password Usuario

Confirmar Password Usuario

Configuramos el reloj, en función de la ubicación que hallamos elegido al principio de la instalación no aparecerá aquí las regiones. Tener el reloj apropiadamente configurado permite sincronizar con los repositorios de software (almacenes de programas).

Zona horaria

Zona horaria

Comenzamos el particionado:

Particionado

Particionado

Si tenemos varios discos duros pinchados al equipo es en esta pantalla donde debemos indicarlo.

Particionado: Eleccion Disco

Particionado Eleccion Disco

Hemos elegido que haga el trabajo por nosotros, sólo le indicaremos en la siguiente pantalla que queremos separar el directorio home, es en este directorio donde se guardan los datos de usuario y queremos mantenerlos separados de los archivos del sistema.

Particionado Separar Home

Particionado Separar Home

La siguiente pantalla nos presenta un resumen del particionado que hemos hecho al disco:

Finalizando Particionado

Finalizando Particionado

Y la última nos pide confirmación para llevar a cabo los cambios en el disco.

Confirmar Particionado

Confirmar Particionado

Tras esto comenzará la instalación de un sistema mínimo (sistema base):

Instalando Sistema Base

Instalando Sistema Base

Antes de terminar de instalar el sistema base pasamos a configurar el repositorio de software, en Linux el software proviene de Internet, y puede ser instalado en tu equipo mediante herramientas como Synaptic con un simple clic del ratón. Pero primero elegimos en qué país está el servidor de software que queremos utilizar. Necesitamos hacer esto ya que hemos elegido instalar por red, así que hay algunas cosas que necesita descargar.

Pais Replica

Pais Replica


Servidor Replica

Servidor Replica

Nos pregunta por un servidor de proxy pero sólo debemos configurar esto si accedemos a Internet a través de uno. No es nuestro caso.

Continúa la instalación, como hemos elegido la opción de NetInstall tardará más o menos según nuestra conexión a Internet.

Instalando

Instalando

Al terminar la instalación del sistema base, nos preguntará si deseamos participar en la encuesta de elección de paquetes, esto consiste en enviar estadisticas anónimas del uso de programas de forma que los más utilizados se incorporaran a los primeros CDs o DVDs de la colección y puedas obtener todas los programas que quieres descargando sólo los primeros CDs o DVDs. Es una opción personal, en este caso hemos elegido que si deseamos participar.

Popularity Contest

Popularity Contest

Ahora elegimos los programas que deseamos instalar, ya vienen seleccionadas el Entorno de Escritorio y Herramientas del sistema base podemos elegir Ordenador portátil si estamos sobre un laptop

Selección Programas

Selección Programas

Ahora empezará a descargar e instalar los paquetes seleccionados.

Descargando e Instalando

Descargando e Instalando

Al terminar de instalar, pasamos a la configuración del gestor de arranque, el gestor de arranque es un programa que se instala en los primeros sectores del disco duro, al encender el PC cuando finalice su procedimiento de inicialización de la circuitería pasará el control a lo que haya ahí grabado, en este caso, GRUB, que se encargará de lanzar el arranque del sistema operativo.

Instalacion Grub

Instalacion Grub

Ya hemos terminado! nos advierte que retiremos el CD de la bandeja para poder reiniciar al nuevo sistema recién instalado.

Fin Instalación

Fin Instalación

El GRUB con el nuevo art work

GRUB

GRUB

GNOME Display Manager, es la ventana de entrada al sistema.

GDM

GDM

El escritorio GNOME

Gnome

Gnome


Acerca De Gnome

Acerca De Gnome

Iceweasel, por problemas de licencias, Firefox en Debian se llama así.

Iceweasel

Iceweasel

El gestor de paquetes Synaptic desde el que gestionamos nuestro software.

Synaptic

Synaptic

El monitor del sistema

Monitor Del Sistema

Monitor Del Sistema

Y esto ha sido todo, espero que alguno se anime a instalarla y compartir sus impresiones. Aunque existe una instalación en un entorno gráfico que mediante el ratón hace todo más fácil la instalación siguiendo este sistema no es difícil. Se cuenta también con una amplia comunidad dispuesta a ayudar.

Paquetes non-free en Debian

Buscando por ahí me encontré con el siguiente comando.

vrms

Que muestra un listado de los paquetes non-free (no libres, codigo propietario, binarios cerrados, etc). En la página de manual, explican que es un intento de concienciar de lo “malo” que es el uso de este tipo de software en los sistemas GNU/Linux para empezar porque es una contradicción con el contrato social de Debian. Pero que es tolerado porque hace que algunas cosas funcionen… La página de manual está en inglés pero también los explican en la Wikipedia.

Aquí una captura del funcionamiento.

vrms

vrms

En mi caso de casi 2000 paquetes instalados sólo son propietarios el 0.05% que creo que es poco o muy poco.

nordri VS Asus EeePC 1201HA

No quiero explayarme mucho contando lo que me ha costado instalar una distribución GNU/Linux dentro del ASUS EEEPC 1201HA, empecé intentando Fedora13, que me gusta mucho, es un sistema moderno y estable, además, es la única que conseguí instalar desde el pen drive, ni Debian ni Ubuntu podían. Pero me pasó que al ponerle los repos de RPMFusion donde deberían estar los controladores para la Intel GMA 500 (Codename Poulsbo) no aparecían lo cual me extrañaba, porque por lo visto para Fedora 12 y 11 estaba resuelto. Pero no sé por qué no estaba. En fin, como comentaba, Fedora era la única que conseguí arrancar desde Pen, tirar por el servidor de instalaciones (Codename PXE) no me funcionaba porque una vez comenzaba a arrancar el kernel no contenía los controladores para la tarjeta de red y se quedaba en un estado de aislamiento, con un BusyBox o cosas peores.

Asus 1201HA Box

Asus 1201HA Box

Para resolver está problemática, usé el adaptador IDE 2 USB que compré en su día, y conseguí arrancar desde DVD mangando una lectora de DVD que estaba en mi vieja máquina. Problema, como no! por alguna razón el DVDUSB se detenía y el contenido del DVD no podía ser leído y la instalación “petaba”, así que tuve que coger y copiar el archivo ISO al pen, y cuando la unidad de “perdía” montar el archivo en /cdrom que era de donde leía el programa de instalación. Así conseguí instalar Debian y Ubuntu.

Asus 1201HA

Asus 1201HA

Debian duró poco, el tiempo de darme por vencido para compilar el driver psb (Intel GMA 500) a mano, está resulto, pero para versiones del Kernel anteriores a la de Debian Testing, hacer un downgrade del Kernel tampoco me parecía inteligente ya que al poder ganar soporte para una pieza podría perderlo para otros.

Asus 1201HA First Open

Asus 1201HA First Open

Ubuntu duró un poco más, tuvo el mismo problema con la instalación que aprendí a resolver con Debian, Ubuntu tiene un repositorio ppa disponible con el driver, que se instaló y funciono correctamente. Hasta aquí estaba contento, no era la distro que quería pero al menos funcionaba, y funcionó hasta que lo actualicé que ya no fue capaz de volver a generar el driver, se quedaba en una pantalla negra con el cursor. Mal! Sabía lo que hacía cuando actualicé, me pasa con el driver de VirtualBox cada vez que cambia el núcleo, que hay que recompilar, pero para psb no había manera. Es un driver muy nuevo y debe ser bastante exótico.

Asus 1201HA BIOS Settings

Asus 1201HA BIOS Settings

Decidí entonces darle una nueva oportunidad a Fedora, a fin de cuentas, viene de RedHat, lo más grande en GNU/Linux, instalé desde pen (bien!!) y volví a activar los repositorios de RPMFusion. Empecé a instalar software, aunque el soporte de la gráfica era horrible, decidí que era lo mejor que podía hacer. Cual no fue mi sorpresa cuando le pedí que instalara vlc y me dijo que no lo encontraba, entonces me mosqueé, me puse a investigar, y resultó que no le estaba poniendo bien los repositorios de RPMFusion, que descargaba los .repo pero estaban vacíos. Los busqué en la página oficial y los descargué, entonces sí, apareció vlc…. y el driver xorg-x11-drv-psb y ese fue el principal problema con Fedora, seguramente, el primer día, me instaló unos ficheros .repo vacíos, pero al estar centrado sólo en el driver, no me fije y no pensé que fuera raro que no estuvieran. Es el mismo comando que he usado siempre para instalar estos repos, ese día, fallaron.

Asus 1201HA DVD USB

Asus 1201HA DVD USB

En fin, que ha dado guerra bastante, el driver aún no es capaz de reproducir videos, pero se espera para próximas versiones, el ambiente de ventanas, va bien, no fluido, pero no mal. Se nota que le cuesta arrastrar ventanas por el escritorio, pero al menos no da tirones. Se espera que el software siga adelante, el hardware permanecerá estático, por lo que todo irá mejorando en próximos lanzamientos. Espero también que el soporte de actualización de Fedora para este driver sea mejor que en Ubuntu, y pueda reconstruirse sin problemas cuando el núcleo cambie.

Escritorio Asus

Escritorio Asus

¿Por qué te has comprado un netbook con Windows7 de una compañía (ASUS) que ha roto los lazos con Linux? Porque me gusta mucho. Un compañero del despacho se lo compró y lo estuve probando algunos días, y me encantó el tamaño, el peso, la pantalla, la distribución del teclado, todo. Es una máquina muy buena, y no quería resignarme, lo normal es que compre algo mirando la compatibilidad, por una vez quería comprar algo que me gustara. Ay! si Apple fuera compatible con algo que no sea Apple…