27 diciembre 2007

Más juegos 3D para Linux

Me han comentado otra lista con 25 juegos 3D para Linux.

¿Quién dice que en linux no se pueden pasar buenos ratos de ocio? :-)

Enlace a la lista
(en inglés)

21 diciembre 2007

Los músicos no viven de vender discos, de cada CD se llevan sólo el 4% del precio final

Es una noticia que han publicado hoy en el diario 20 minutos.

Simplemente hay que hacer unos pocos números.

Si un CD cuesta unos 20 euros, el cantante se va a llevar 80 céntimos por CD; si vende 1.000 copias va a ganar 800 euros, sin embargo, si vende 100.000 va a ganar 80.000 euros, todo ello sin moverse de su sillón.

De esta manera te explicas que los que más venden son los máximos defensores de que siga el modelo clásico de música en CD, la reflexión esa que nos venden en la que dicen es para preservar mi derecho de propiedad intelectual y compensar lo que pierdo debería cambiarse abiertamente por esta otra afirmación: es para hacerme millonario sin dar palo al agua.

Que hagan más conciertos, que trabajen más, que la gente trabaja como poco 8 horas al día todo el año para ganar 15.000 euros, y ellos por un concierto duplican, triplican, etc... esa cifra. Sólo dos horas de trabajo por día y no todos los días en los conciertos. Que sí, que hay un trabajo previo de grabación, ¿tantos años tardan en grabar que algunos sacan un disco cada tres años?

No critico a los que les cuesta más salir adelante y ganan mucho menos, lo que critico es de que muchos tratan de tapar la caradura que tienen insinuando que como el público (que es el que va a sus conciertos y compra sus discos) es un ladrón, tienen que ganar dinero por otro lado.

Por cierto, lo asombroso es que uno de los máximos defensores del canon es un director de orquesta que se dedica a destrozar la música clásica añadiendo batería, guitarra eléctrica, etc, etc... y yo me pregunto, ¿qué propiedad intelectual está defendiendo este señor cuando la música no la ha compuesto él?
Por supuesto no tiene que pagar derechos porque ya han caducado

20 diciembre 2007

Cómo añadir el código de Google Analytics al Mediawiki

Tan sencillo como buscar el skin que utilizamos, en mi caso sería Monobook.php.

Una vez que lo tengamos buscamos el tag de cierre de del body y justo antes del tag incluímos el código de Google Analytics.

19 diciembre 2007

Cómo ejecutar sentencias de MySQL desde el shell en Linux

Es tan fácil como escribir la sentencia que queremos ejecutar en un fichero y luego utilizar las redirecciones.

Por ejemplo creamos un fichero fichero.txt con una consulta para saber cuántos usuarios tenemos:
SELECT COUNT(users) FROM usuarios

Luego ejecutaríamos:
mysql -umiusuario -pmicontraseña basededatos < fichero.txt

Donde basededatos es la base de datos que queremos de la que queremos hacer la consulta, usuario el usuario de la base de datos y contraseña la contraseña de ese usuario en la base de datos.

Si queremos la salida a fichero, volvemos a redireccionar:
mysql -umiusuario -pmicontraseña basededatos < fichero.txt > otrofichero.txt

Acceso sistemas de ficheros Linux desde Windows

Un problema que hemos tenido siempre los que tenemos el ordenador con arranque dual es encender la máquina con Windows y no poder acceder a ficheros que tenemos en las particiones de Linux.

Para dar solución a esto ha surgido Linux Reader, permite navegar las particiones en formato ext2 o ext3 en modo lectura, y copiar, ejecutar ficheros, etc...

18 diciembre 2007

Omemo es beta pública

Pues sí, hoy a las tres de la mañana Omemo ha sido lanzado como beta pública.
De momento no funciona en Linux, pero estoy trasteando con el wine a ver si hay manera.

Aquí dejo un vídeo de 15 minutos en el que Pablo Soto, su creador, habla de Omemo entre otras cosas:

Personas, nueva extensión de Firefox

Personas es una nueva extensión para firefox creada por Mozilla Labs. Yo no es que sea un fanático de las personalizaciones, pero me parece muy correcto facilitar esas modificaciones que los usuarios solicitan.

Leyendo lo que ponen en el site de Personas, tú puedes poner una Persona en cualquier momento en cualquier parte de tu navegador y ver los resultados inmediatamente. Además tampoco necesita una actualización de software.

17 diciembre 2007

Cómo extraer DVDs en linux

Me han pasado un dvd de un programa de televisión que hicieron en nuestra oficina.
Yo nunca he estraído un DVD, pero bueno, les dije a mis compañeros que me lo dejaran que lo iba a intentar.

Después de estar un rato buscando herramientas en línea de comando, resulta que hay una pequea joyita que se llama dvd::rip que se encuentra en los repositorios de ubuntu.

Como hace una comprobación en su primer arranque instalé las librerías que me decía que no encontraba como por ejemplo las de xine.

Ahora estoy extrayendo un DVD, en principio todo parece correcto. Luego lo subiré a stage6.

Los pasos a seguir cuando se abre el gui son muy simples (cuando se deja todo por defecto).
  • Crear un proyecto
  • Extraer títulos/capítulos
  • Seleccionar el contenedor (avi/mpg...)
  • Codificar
Ahora mismo estoy codificando. Supongo que en otro momento profundizaré más en las opciones de cara a subir vídeos a youtube.

16 diciembre 2007

Lanzada oficialmente versión de phpbb 3.0

La semana pasada se ha lanzado la release 3.0 de phpbb. Ya ha dejado de estar en fase beta.

A mi me han hecho un poco la puñeta, tenía un foro preparado para lanzar lunes o martes y ahora tengo que apresurarme para ver si puedo poner la versión 3.0 y darle caña, ya que tengo que hacer bastantes modificaciones en el código.

En fin habrá que descansar hoy y estar preparado para teclear sin parar esta semana.

15 diciembre 2007

Meme: Cómo te ha ido este año

th3r0rn me ha enviado un Meme sobre cómo me ha ido este año, y como soy un borrico lo he contestado en su blog. En fin, aquí lo dejo:

En el dinero:
No me puedo quejar, siempre podría cobrar más, pero bueno, con tener para vivir y que mi mujer se gaste lo que sobra (espero que no lo lea), está bien.
En mi persona:
Creo que soy menos refunfuñón así que creo que he cambiado para bien. Todavía protesto mucho por las mañanas, pero es que duermo mal, tengo el sueño ligero y tres gatos en casa, mala combinación
En el amor:
Fantástico; espero que mi mujer piense lo mismo tras dos años casados.
En la amistad:
Me estoy dando cuenta de que muchos de los que consideraba mis amigos no lo son tanto, y otra gente que eran digamos simples conocidos son realmente amigos
En lo profesional:
Fabuloso. He cambiado de sitio donde trabajaba, antes trabajaba para una consultoría, más o menos grande y estaba en un cliente que era un organismo del Estado. Menuda mierda, no tenían ni idea y era horrible el ambiente.
Ahora estoy en una empresa de geeks, yo soy el más viejo con 34 años, los demás van desde los 22 a los 28 (bueno el contable tiene 50). El ambiente es muy bueno, posiblemente estamos muchas horas en la oficina, alguna vez hasta las cinco de la mañana, pero con buen humor.
En lo Geek:
Me regalaron una kurobox con la que trasteé un montón con la versión de gentoo, pero la tengo un poco apartada porque de noche se oía el ruido del ventilador, y al final la tengo casi siempre apagada. Me regalaron también un reproductor de creative, pero es que en la oficina el jefe nos ha regalado por navidad un ipod nano, y ya estoy informándome para cambiarle el firmware de apple.
También me he comprado un usb stick para instalar puppy linux y ver qué tal va. Además he vuelto a cansarme de kde y gnome y vuelvo a alternar fluxbox y fvwm-crystal.

Seguro que se me olvida algo :-)

Este me me se lo paso a cactusdigital

14 diciembre 2007

Holanda adopta Software Libre

Leo en The Inquirer una gran noticia y es la decisión por parte del gobierno holandés de que todas sus organizaciones gubernamentales migren hacia software libre. Podrán seguir utilizando formatos propietarios (en ciertas cosas es lógico), pero tendrán que justificarlo.

Creo que es una gran noticia y demuestra lo adelantados que están tecnológicamente los dirigentes de algunos países con respecto a otros.

Luego nos quejamos de que piensen que somos el norte de África y no el sur de Europa :-)

Noticia original

Pequeños cambios en qmail-scanner y en qmail.

He estado trasteando un poco con el servidor de correo a ver si encuentro algunos fantasmas que están actuando por ahí y que hacen que las cosas no funcionen tan bien como deberían de funcionar.

En primer lugar me di cuenta de que había una cantidad tremenda de doubles y triples bounces, que son los ficheros que vienen de vuelta cuando una cuenta a la que le envías correo no existe, vamos cuando le comunicas a un spammer que es un spammer.

Al producirse estos mensajes de vuelta (bounces) se quedaban mensajes en el limbo porque el sistema de correo no reconocía mi FQDN como un nombre de dominio válido para enviar correo (utilizo vpopmail, y para él todos los dominios tienen que ser virtuales). Así que primer cambio creé el FQDN.

Pese a que borraba los mensajes como decía en un post anterior quería desactivar esos mensajes que enviaba yo para reducir aún más el tráfico. Encontré que la política de qmail-scanner por defecto es enviar un mensaje al remitente cuando guarda un email en cuarentena por tratarse de spam.

Estuve buscando en la documentación y finalmente encontré cómo desactivar ese mensaje (creo que es así) que enviamos modificando dos parámetros de qmail-scanner.
Lo que es muy interesante de esta modificación es que en lugar de recibir el mensaje para posteriormente borrarlo, si el mensaje es clasificado como spam, corta la conexión smtp inmediatamente:
sa_delete_site=1.0
sa_reject=1

Lo que indica sa_delete_site es que se borre el mensaje si la puntuación excede en 1.0 de required_hits. Como required_hits lo tengo en 5, cualquier mensaje que tenga 6 es borrado inmediatamente. He puesto 1.0 porque tengo sa_quarantine_site en 0.1, es decir a partir de 5.01 puntos el mensaje irá a cuarentena.
Lo que indica sa_reject es que se corte la conexión smtp si se borra el mensaje, su valor puede ser 1 ó 0 (desactivado).

Veré la evolución a lo largo de estos días

Levantar y bajar servicios en Debian/Ubuntu al estilo Red Hat

Hay una aplicación en Debian y Ubuntu similar al comando service de Red Hat, que es muy útil para el que está cambiando de sistema y no ha utilizado nunca Debian.

En línea de comando levantaríamos y bajaríamos servicios exactamente igual ejecutando service comando start/stop

Lo bueno es que para el que no le gusta la línea de comandos tiene un interfaz curses, parecido al interfaz que nos aparece cuando ejecutamos setup en la distribución del sombrero rojo :-).

Artículo completo (en inglés)

13 diciembre 2007

Votaciones al top 10 de aplicaciones 2007

Es una lista que han publicado en lifehacker para hacer una clasificación de algunas aplicaciones que han surgido o se han mejorado en 2007.

Para mi lo más curioso es que no aparece GoogleDocs, pero sí aparece Zoho, aplicación que estuve probando y que parece un rival a la altura de GoogleDocs.

La lista completa aquí (en inglés). En este momento Mac OSX Leopard va ganando a Gmail 2.0 por escaso margen. :-)

12 diciembre 2007

Cómo borrar muchos ficheros pequeños en Linux

Todo está relacionado con el correo :-(
En una carpeta tenía cientos de miles de correos para borrar; no exagero eran 189000.

Intenté borrar con un bucle en bash, pero eso los cargaba todos en memoria, después de una hora todavía no había borrado nada.

También hice un pequeño script en python que metía todos los mensajes en una lista y luego los borraba, pero tampoco me convenció, así que al final me decidí por utilizar find y en poco más de hora y media me borró todo.

El comando que utilicé fue:
find carpetaparaborrar -type f -exec rm -rf '{}' \;

Corregidos los problemas espero no tener que borrar tal cantidad de ficheros pequeños

Cómo borrar los mensajes que entran en una cuenta con qmail y vpopmail

Como tenía un problema con el spam en un dominio y generar bounces era crear tráfico innecesario hacia internet, se me ocurrió depositar todos esos mensajes con destinatario no existente en una cuenta genérica.

Mi instalación tiene qmail gestionado por vpopmail. En una cuenta de postmaster@fqdn.mi dominio se borran todos los correos que entran añadiendo eso a su fichero .qmail:
| cat > /dev/null
El primer problema solucionado, el segundo problema era un dominio en el que entran un montón de correos de spam a cuentas que no existe. Si los recogía tenía una cantidad impresionante de correos que luego tardaba en borrar, y si no los recogía generaba tráfico y además se quedaban en memoria esperando al reenvío, porque normalmente las direcciones origen no existían.

Al final redireccioné todo este tráfico a la cuenta postmaster modificando el .qmail-default de este dominio:

&postmaster@midominio
Ya he comprobado que funciona bien, ahora viendo las estadísticas de 24 horas tendré que ver si ha bajado la carga de la máquina, espero que sí :-)

Cómo saber en que terminal estamos en bash

Después de verlo seguro que más de uno dirá, ¿Por qué no lo probé antes?, vamos lo que dije yo.
El problema para mi viene de que muchas veces tengo varias sesiones abiertas en una máquina y ejecuto "algo" en línea de comando que consume mucho más de lo que a mi me gustaría, lo quiero matar pero me encuentro una salida de w que me muestra mi login varias veces.

Solución, miro en qué terminales me responde la sesión y en la que no me responde la mato. ¿Cómo lo hago?, pues fácil, simplemente ejecuto el comando tty y me dirá mi número de terminal, luego busco los procesos de la terminal que no me responde con ps, y si no puedo matarlos, pues mato la sesión.

421 días encendido

Estando dándole caña al servidor de correo, que el pobre va justillo (es un celeron con 512 MB de RAM que recibe muuuuucho SPAM), me he dado cuenta de que lleva la friolera de 421 días encendido. A ver si continuamos la racha otros 421.

Yo sé más que tú y además soy tu proveedor de hosting.

Ayer fue un día un poco rarillo, las cosas se iban estropeando poco a poco. Nada más llegué a la oficina me comentaron que no funcionaba un foro. Hice un par de pings a la máquina y me respondía, pero no me respondía ningún puerto más, ni http, ni mysql, ni ssh, ni nada de nada.

La analizo con nmap y el mensaje que me da es que presumiblemente está apagada.

Hago un traceroute hasta la ip, y veo cómo llega a destino aunque en me da un mensaje !X. Busco este mensaje en el man del traceroute y me indica que significa communication administratively prohibited (comunicación prohibida administrativamente). Busco en internet esto y me encuentro con el RFC1812 y me indica que ese mensaje es el número 13 y además que se produce cuando un router no puede reenviar un paquete debido a filtros administrativos.

Además de esta información le eché un ojo a las gráficas de zabbix, que lógicamente estaban en blanco, pero las amplié a ocho horas antes, y ¡oh, sorpresa!, todo está correcto, sin subidas, ni sobrecargas, ni consumos, ni nada, y repentinamente se corta la emisión de gráficas.

Me puse en contacto tres veces con el soporte técnico, las conversaciones fueron más o menos:
  • Primera (10:45 am)
Yo: "Hola, que parece que se me ha caído un servidor hace unas horas, no responde ningún servicio, aunque hace ping. Si intentan hacer ssh no lo hagan al puerto 22, háganlo al 1111 que lo tengo configurado ahí"
Soporte: "Dime la ip que vamos a mirar"
Yo: "Pero si se ha bloqueado,..., con que me lo reinicien ya está"
Soporte: "Seguramente será lo que hagamos".
Yo: "Vale gracias".
  • Segunda (11:15 am)
Yo: "Oiga que soy el de antes, que he mirado unas cosilla y por los resultados que tengo pues no tengo claro que se haya caído" (le cuento lo anterior).
Soporte: "Ese mensaje de administrativamente prohibido no vale para nada".
Yo: "Que lo he visto en un rfc"
Soporte: "Da igual, además si no lo contratas no tenemos firewall delante"
Yo: "Ya, pero a lo mejor es el switch"
Soporte: "Que no, que no que estás equivocado"
Yo: "Vale, y si estoy equivocado por qué no me funciona todavía?"
Soporte: "Voy a mirar luego hablamos"
  • Tercera (11:45 am)
Yo: "Hola, que soy el de antes. ¿Me pueden decir algo?, es que para un reinicio y que no funcione me temo lo peor"
Soporte: "Ah sí, precisamente ahora te iba a llamar" (qué casualidad).
Soporte: "Es que no me has dicho exactamente qué pasa"
Yo: "Pues que no responde a nada, sólo al ping"
Sporte: "Ah, sí"
Sporte:" ¿Me puedes decir la contraseña?"
Yo: "Sí claro, pero tiene que entrar como usuario sin privilegios y luego como root"
Soporte: "Oye, que el puerto 22 está cerrado"
Yo: "Le dije en la primera conversación que corre en el 1111"
Soporte: "No me lo dijiste"
Yo: "Vale, no se lo dije"
Sopote: "Da igual, el operador va a entrar directamente a la máquina. ¿Tienes algún firewall?"
Yo: "Yo no he configurado ninguno, pero este equipo se ha configurado hace unos cinco meses y no ha tenido reinicios, así que a lo mejor tiene el firewall del sistema y me haya olvidado de quitarlo de los servicios de arranque".
Soporte: "Ya está, había un firewall" (la culpa es tuya, que lo sé, que yo soy muy listo).
Yo: "Vale, funciona, perdón por las molestias, ahora mismo quito el firewall"
Soporte:"Sí claro, service iptables stop "(pensando, encima le ayudo)
Yo: "Sí claro" (pensando, este es idiota, y lo reinicio y me vuelve a pasar lo mismo).

Ya una vez funcionando estuve revisándolo todo y aparentemente todo iba bien, no había logs raros, lo cual me hace pensar que el problema de madrugada vino del proveedor, aunque la solución del reinicio sin mirar nada fue la que finalmente activó el firewall y pese a que ellos hubieran resuelto su parte, se había estropeado la mía, lo cual abrió la puerta a soporte técnico para insinuar como soy mejor que tú, paso de atender a nada de lo que me digas, lo cual realmente me da exactamente igual, pero me fastidia que por culpa de patanes así se ralenticen las operaciones de soporte, porque al final los únicos que lo sufrimos somos los usuarios.

11 diciembre 2007

Como extraer estadísticas de los logs de qmail

Supongo que este post tendrá dos partes, porque ahora los estoy analizando en línea de comando, pero lo más probable es que lo automatice.

Dan J. Bernstein además de programar qmail programó un paquete que se llama qmailanalog que sirve para extraer estadísticas de los logs de qmail, desgraciadamente la documentación de este paquete es un poco escueta por lo que cuesta familiarizarse con él.

Supongo que este artículo lo dividiré en dos partes, porque ahora estoy sacando estadísticas en línea de comandos, pero es muy probable que en un futuro no muy lejano (una hora, ...dos?) automatice el proceso para recibirlas por email.

Antes una puntualización. Qmail utiliza el formato del Tiempo Internacional Atómico, y a qmailanalog no le gusta eso especialmente, porque quiere que entendamos las fechas (y porque así lo programó su autor), por lo cual hay que hacer una conversión, y para ello hay que tener instalado el programa tai64n2tai, programa que está incluido en el paquete qlogtools.

Esta puntualización por supuesto tiene que estar presente en el caso de gestionemos los logs de qmail con multilog.

Prosigamos; para realizar la extracción podemos hacerlo al vuelo con una serie de pipes, redirecciones, etc., o bien generamos un fichero temporal y analizamos lo que tenemos en ese fichero. Yo prefiero la segunda forma, no es por nada en particular, simplemente la prefiero.

Generación del fichero temporal:
cat /var/log/qmail/qmail-send/* /var/log/qmail/qmail-pop3d/* /var/log/qmail/qmail-pop3d-ssl/* /var/log/qmail/qmail-smtpd/* | tai64n2tai | awk '{$1=substr($1,1,in
dex($1,".")+6);print}' | /usr/local/qmailanalog/bin/matchup > ficherotemporal 5>/dev/null


Hay que tener en cuenta que analizo los logs que genero en mi sistema, en otro sistema puede no existir pop-3d-ssl, o bien puede generarse un sólo fichero de log.

Ahora ya podemos tratar ese fichero temporal con las herramientas que de que nos provee qmailanalog, por ejemplo:

/usr/local/qmailanalog/bin/zsuccesses < ficherotemporal


Quizás ha quedado un poco corto y debo añadir más cosas, pero bueno, seguro que hay más entregas sobre el tratamiento de logs en qmail.

Proyecto Apricot, juego 3D libre

Un lector de LinuxGames apunta lo siguiente sobre el proyecto Apricot:

Comenzando el uno de febrero de 2008, un pequeño grupo de los mejores artistas 3D junto con desarrolladores comenzarán a crear un juego junto a la comunidad online. Los personajes principales del juego estarán basados en el corto libre de animación 3D Peach. El juego se lanzará a finales de julio del 2008. Los miembros del equipo tendrán buenas instalaciones y alojamiento en Amsterdam. Los costes del viaje serán reembolsados y tendrán dinero suficiente para cubrir todos los gastos durante el período.

El equipo trabajará en un juego multiplataforma (como mínimo Linux, Windows, Mac OSX), utilizando Blender para la animación y modelado, Crystal Space como motor 3D y plataforma de distribución, y Python con algo de scripting mágico para unirlo todo. El propósito no es sólo el de hacer un juego 3D, sino especialmente mejorar y validar el camino de la creación de juegos 3D libres con condiciones estándar de la industria.


La fundación Blender y Crystal Space aportan fondos al proyecto, pero se puede ayudar al proyecto comprando el juego antes de que salga. Los usuarios que lo compren antes del uno de febrero de 2008 tendrán sus nombres en titulos de crédito del juego.

Noticia original (en inglés)

10 diciembre 2007

Juegos 3D libres para Linux

En online games han hecho una clasificación (según ellos) diez juegos 3D libres para Linux.

Lo primero que eché en falta fue el enemy-territory, pero viendo los comentarios me di cuenta que le pasó lo mismo a más gente. También puede ser porque el juego fuera gratis, pero no libre. (Ahora en la web de enemy territory muestran su nuevo juego que no es gratis)

De todos modos la lista es interesante porque hay juegos para Linux, o bien multiplataforma que no conocía.

Artículo original
(en inglés)

Cómo enviar emails desde la línea de comandos en Windows

Mails en línea de comandos en Linux

Algunos amigos me han preguntado cómo se podría enviar emails desde la línea de comandos de Windows, y la verdad es que no tenía la más remota idea de cómo se podría hacer.

Con una simple búsqueda en Google he encontrado dos métodos, que sé que son válidos para Windows XP, y que no tengo ni idea de si funcionarán con Windows Vista, ni pienso en probarlo.

Lo que está claro que la línea de comandos (cmd) de Windows no tiene este builtin para enviar emails.

  • Primer método: Hay que tener instalado el BackOffice o el Exchange Resource Kit. El comando que servirá para enviar correo será Mapisend. Llamando a su ayuda nos indicará cómo enviar correo.
  • Segundo método: Utilizando un programa de terceros, he encontrado dos (no he buscado demasiado), Blat y Bmail. Parece que Blat está más actualizado aunque creo que sólo sirve para enviar mensajes a grupos de noticias. A partir de aquí, que cada uno incorpore lo que más se adapte a sus necesidades

Microsoft rebaja las medidas antipiratería en Windows Vista

Es curioso que lo hagan ahora que las ventas de Windows Vista y la aceptación de este sistema operativo no están siendo las esperadas por la gente de Redmond.

A mi personalmente me da igual, el hecho de que ahora se pueda piratear no me va a hacer cambiar de sistema operativo, aunque creo que Microsoft está un poco equivocada con esta estrategia, ya que en otros momentos cuando "permitían" piratear sus sistemas estaban luchando por hacerse con el mercado y actualmente están luchando por mantenerse en la posición de mercado.

La gente tiene actualmente más alternativas, llámese linux, bsd, mac, etc...y en aquel momento no había tanta capacidad de elección de sistemas operativos que podríamos llamar "maduros".

En fin, creo que como empresa da la sensación de que están admitiendo su fracaso y las medidas que deberían buscar deberían ser de otro carácter, mejoras del sistema, velocidad, seguridad, etc, etc...

Noticia completa

05 diciembre 2007

Asombroso

No tengo palabras, simplemente me parece asombroso lo que hace este chico con su ordenador. Podría paralizar todo un país.



Y con esto no escribo más hasta el lunes, que tenemos un puentecillo muy majo para relajar .

Opciones de línea de comandos en nginx


En principio con esto finaliza la pequeña guía que tenía en mente, pero lógicamente tendré que ir ampliando información, o bien creando nuevas páginas con las ampliaciones.

Básicamente esta entrada es una traducción de la página de nginx, porque tampoco hay demasiado que añadir.

Nginx tiene sólo unos pocos parámetros en línea de comandos porque al contrario que otro software la configuración se realiza totalmente en el fichero de configuración.

- Opciones:

-c Especifica qué fichero de configuración debería utilizar nginx en lugar del fichero por defecto.

-t No se ejecuta, simplemente chequea el fichero de configuración. nginx chequea el fichero para confirmar que tiene una sintaxis correcta y trata de abrir los ficheros referidos en la configuración.

-v Imprime la versión.

-V Imprime la versión de nginx, la versión del compilador, y los parámetros de configuración.
- Ejemplo
/usr/bin/nginx -t -c ~/mynginx.conf
- Controlando nginx con señales

Se puede controlar el proceso master con las señales. Por defecto nginx escribe el pid el proceso master en /usr/local/nginx/logs/nginx.pid. Se puede cambiar este comportamiento pasando parámetros al ./configure o utilizando la directiva pid .

El proceso master soporta las siguientes señales:

TERM/INT; parada rápida
QUIT; parada graceful (parando los procesos cuando dejen de atender peticiones).
HUP; recarga de la configuración, se paran los viejos procesos worker cuando terminen de atender peticiones y se abren otros procesos worker.
USR1; reapertura de los ficheros de log.
USR2; actualización del ejecutable al vuelo.
WINCH; parada de los procesos worker cuando dejen de atender peticiones

No hay necesidad de manejar los procesos worker aunque también soportan algunas señales como son TERM/INT, QUIT, USR1

- Cargar nueva configuración:
Es tan fácil como enviarle una señal HUP al proceso master de nginx
kill -HUP `cat /var/run/nginx.pid`
- Actualizando el binario de nginx al vuelo:

Si necesitas reemplazar el binario de nginx con uno nuevo (cuando se actualiza a una nueva versión o añadimos/quitamos módulos del servidor), puedes hacerlo sin perder ninguna petición al servidor.

Primero, reemplaza el viejo binario con el nuevo, entonces envía la señal USR2 al proceso master. Lo que hace es renombrar su fichero .pid a .oldbin, entonces ejecuta el nuevo binario, que creará un nuevo proceso master y sus nuevos procesos worker

En este punto estarán corriendo dos instancias de nginx manejando las peticiones juntas. Para eliminar gradualmente la vieja instancia, tendrás que enviar una señal WINCH al último proceso master, y sus procesos worker comenzarán a pararse cuando dejen de responder peticiones.

En este punto todavía se puede volver hacia atrás al viejo servidor siguiendo los siguientes pasos, porque todavía no ha cerrado sus sockets en estado listen:

  • Enviar una señal HUP al viejo proceso master - arrancará procesos worker sin recargar el fichero de configuración
  • Enviar una señal QUIT al nuevo proceso master, que cerrará sus procesos worker
  • Enviar una señal TERM al nuevo proceso master que hará que se cierre rápidamente
  • Si por alguna razón los procesos worker del nuevo servidor no se cierran, se puede enviar una señal KILL a estos procesos
Después de que el proceso del nuevo master se cierre, el viejo master borra el sufijo .oldbin de su fichero pid, y todo es exactamente igual al momento anterior al intento de actualización. Si el intento de actualización tiene éxito y quieres mantener el nuevo servidor, envía una señal QUIT al viejo proceso master para dejar sólo corriendo el nuevo servidor.

- Referencias:
Opciones de línea de comandos (en inglés)

Primera parte, Segunda parte, Tercera parte, Cuarta parte

Ya he instalado Linux, ¿y ahora qué...?

Es la pregunta que más escucho entre la gente que se introduce en el mundo de Linux por primera vez. Estos recién iniciados escuchan que la gente que utiliza Linux está muy contenta con el sistema, que éste no se cuelga, que no hay virus, etc, etc..., entonces ellos quieren probar y se deciden a instalar Linux, y por lo general Ubuntu va ganando por goleada entre las distribuciones instaladas por los principiantes en Linux.

Una vez elegida la distribución, (podrían elegir otra, distrowatch), toca instalar.

Leyendo las instrucciones en línea es más fácil de instalar que Windows, pero como a la gente le gusta hacer las cosas sin leer la documentación, a veces el proceso se complica un poco.

¡¡ El gran momento !! La tengo instalada, ¿y ahora?, ¿qué hago?, no sé para qué la he instalado.

Creo que la respuesta a la gran pregunta está en uno mismo, es decir, ¿qué haces tú con tu ordenador con Windows para poder aplicarlo en Linux?

Pues yo juego mucho con el ordenador; http://www.linuxgames.com/
Ya, ya, esto está muy bien, pero yo quiero jugar con juegos que tengo para Windows; http://www.linuxjournal.com/article/8630 http://www.falasco.org/Documentos/HowtoJuegos/html/x288.html
Que sí, que se puede jugar con algunos juegos de Windows, pero es que me acabo de comprar muy nuevo; http://es.playstation.com/ y deja de dar guerra!!!

Yo no juego con el ordenador pero sí que utilizo mucho una suite ofimática, y supongo que no hay nada tan bueno como el office "y como yo lo tengo gratis"; http://www.openoffice.org/

Yo es que soy un "superjuaker" de Windows y supongo que para mi será muy fácil "juakear" desde Linux, pero querría ver algún documento, para repasar, eh!, que yo ya lo sé todo; http://www.phrack.org/

Yo es que trabajo con servidores y me gustaría saber cómo se configura el IIS en Linux; http://www.howtoforge.com/

Yo es que soy un principiante, no tengo ni idea de esto de Linux, me gustaría saber algo, pero bueno para defenderme; (aplausos) http://www.guia-ubuntu.org/index.php?title=Portada

En fin, para gustos colores, lo que no puede esperar la gente es que recién instalado Linux el PC, o el Mac se ponga de pie y se eche andar. Todo va a depender de qué queremos hacer. Desde luego la gente que simplemente juega con el ordenador puede que se frustren un poco, pero bueno siempre pueden tener Windows instalado en la misma máquina.

He puesto unos pocos enlaces, si alguien busca alguna cosa en concreto, que me lo diga

04 diciembre 2007

Envío de alarmas a SMS con zabbix

Para ello no utilizo el sistema de SMS de zabbix, porque no tengo ningún modem GSM conectado físicamente a los servidores.

Utilizo un servicio de la empresa Clickatell, proporciona un buen servicio, no tengo queja hasta la fecha, es barato y tiene cobertura internacional.

En zabbix lo primero que hago es configurar un trigger. Lo que hago es monitorizar el puerto 81 de un equipo para probar. Ahí tengo configurado un servidor de nginx, y lo activo y desactivo para comprobar que funciona el trigger.

Lo siguiente que hago es configurar un media type para un usuario.
También añado una acción para enviar por correo en el caso de que el trigger se active.

El media type que he creado es un script en python, que lo que hace es enviarme un sms en el caso de que se le llame con el parámetro del trigger ON.

Si se le pasa cualquier otra cosa como parámetro no me enviará mensaje.

enviarsms.py
#!/usr/bin/env python

'''Script para enviar mensajes al gateway sms'''
import sys
import os
import smtplib

import ssmtplib

# definimos una funcion en la que recogemos varios parametros, luego formateamos el mensaje y lo enviamos

def enviosmsservicio(alarma,host,estado):
servidor="tu servidor smtp"
puerto=465
fromadr="cuenta desde la que enviamos"
cont="clave para autenticar"
msg = ("From: cuenta desde la que enviamos\r\nTo: cuenta de correo de clickatell\r\n\r\n")
numeros={"uno":"34000000000"}
click=("usuarioclick","clave","clave_api")


if sys.argv[3]=="ON":
texto="user:"+click[0]+"\r\npassword:"+click[1]+"\r\napi_id:"+click[2]+\
"\r\nto:"+numeros["uno"]+"\r\ntext:Alarma"\
"\r\ntext:"+sys.argv[1]+" "+sys.argv[2]+" "+sys.argv[3]
msg=msg+texto
server=ssmtplib.SMTP_SSL(servidor,puerto)
server.set_debuglevel(0)
server.login(fromadr,cont)
server.sendmail(fromadr, "cuenta de correo de clickatell",msg)
server.close()

return msg

enviosmsservicio(sys.argv[1],sys.argv[2],sys.argv[3])


Lo primero que tenemos que hacer es importar los módulos necesarios, aquí sólo hay uno que no es habitual y es ssmtplib. Lo podemos descargar de aquí además de ver cómo funciona.

Utilizo este módulo porque envío los mensajes hacia clickatell a través de nuestro servidor de correo y sólo podemos enviar mensajes con SSL y autenticación; de ahí las siguientes líneas para autenticar el correo.

Si no utilizáramos autenticación ni SSL reduciríamos líneas del script.

numeros es un diccionario donde incluimos el número al que hay que enviar el SMS. Lo hice así en previsión de futuras modificaciones.

click es una tupla que contiene el nombre de usuario, la clave api y la contraseña del servicio de mensajes de clickatell.

La comprobación del script es sencilla, ejecutando por ejemplo sendsms.py host algo ON nos enviaría el mensaje.

De este modo al añadirlo al zabbix nos enviaría los tres parámetros que envía el zabbix.

No es demasiado complicado. Si alguien tiene alguna duda que haga un comentario que el blog está muy sólo :-)

Retomando twitter

Parece que twitter cada vez tiene más éxito, de hecho hasta hay imágenes mostrando cómo lo utilizan en CSI.

Yo lo he retomado y hasta he incoroporado al blog el widget que proporcionan desde la misma página de twitter.

La verdad lo veo interesante para ir haciendo pequeñas anotaciones de las jornadas diarias delante del ordenador.

Nueva revista sobre Software Libre, SofLix

Este primer número contiene los siguientes temas:

- Una de distros.
- Actualidad.
- Rincón maquero (vacía, buscando a alguien…)
- Zona Win
- La Zona del Vicio
- 8 Razones
- Programación
- Editor Vi
- Ingenieros de Primera
- Cuando leer un PDF da dolor de cabeza
- Opinando de…
- Taller
- Para llevar…, en el llavero
- Uso de software libre
- Fechas Clave
- Enlaces


Web de SofLix

03 diciembre 2007

Cómo enviar mails en línea de comandos con bash

Mails en línea de comandos en Windows

Este truco simplemente hace uso del comando mail, que suele estar instalado en todas las distribuciones. Si no estuviera instalado simplemente hay que instalar el paquete mailx.

Yo lo utilizo para probar rápidamente scripts de envío de correo.

La línea que se escribe es ésta:
echo "cuerpo del mensaje" | mail -s "asunto" cuenta@dominio.com

Se puede observar que es muy sencillo.

Y a mi que no me gusta el iPhone

Simplemente me parece un "sacaperras". De siempre me ha gustado más el proyecto de Openmoko, auque ahora con Android y Google de por medio no sé en qué posición quedará.

De todos modos Openmoko está un poco verde y sólo se vende a desarrolladores.

Medir el ancho de banda en linux

He probado dos herramientas bastante interesantes para medir el ancho de banda, jnetop y iftop.

Ambas son herramientas que muestran la ocupación de ancho de banda, por petición y en total, con la peculiaridad de que se ejecutan en línea de comandos.

Además jnetop tiene ahora un GUI en java.

Puede ser que iptraf recoja más estadísticas, pero a mi estos dos programas me son de gran utilidad cuando quiero ver de dónde viene la ocupación del ancho en los servidores web.

Primeras entregas de OLPC

Por fin se han entregado las primeras unidades de OLPC, ya e una realidad.

El país afortunado ha sido Uruguay, ahora habrá que ver si cumple los objetivos perseguidos.

Más información (en inglés)