gNewSense in my home server

Decided to drop Fedora10 in my home Asus PX24 server, and installed gNewSense, one of the full-free distributions promoted by the Free Software Foundation and the GNU project.

Go download it!
http://www.gnewsense.org/

In order to have all components working perfectly, Wireless networking among them, I needed to download latest linux-libre kernel. This kernel doesn’t ship any proprietary type of driver, not even those trying to seem free software but hiding the real source code into unintelligible hex characters, which are the ones GPL-ed.

Free your server!!

Jazztel vs Ya.Com

I guess this is only interesting for spanish people…

————–

Por fin, Ya.Com no me da servicio de internet. Y digo por fin porque llevaba desde comienzos de Enero con un servicio de ADSL pésimo. Un resumen (casi) corto:

* Comienzos de Enero: Mi ADSL de repente se comporta de forma extraña. El enlace cae constantemente, intenta sincronizar a velocidades altas (tenía contrato hasta 20 Mbps), y vuelve a caer, con lo que intenta sincronizar a menor velocidad. Y así, hasta que el enlace cae a 300/400 Kbps (a veces hasta 1Mbps como máximo).

* Como mi contrato es de 20Mbps, el mínimo por ley que te deben garantizar es el 10%, esto es, 2Mbps.

* Llamo al servicio de Ya.Com. Después de 1 hora de charla, el técnico llega a la conclusión de que el problema es del router, que hay que comprar uno nuevo.

* Como el router originalmente era el que me mandó Ya.Com, intento que Ya.Com me mande uno nuevo, ya que ese era defectuoso, según el técnico. El técnico me asegura que no será ningún problema que me den un router nuevo.

* Tras 4 días esperando a que alguien se decida a llamarme, llamo de nuevo. No hay router nuevo. Sólo me lo dan con un contrato de permanencia de 12 meses.

* Llamo al teléfono de bajas de Ya.Com y digo que me quiero dar de baja. Oh, sorpresa, me ofrecen 6 meses a mitad de precio si me quedo, y que me pasarán con un técnico de nivel 2. Consejo: si alguna vez os dicen eso, daros por engañados. Después de minutos de espera con una música horrible, el técnico te descuelga, dice cuatro palabras y la comunicación se corta. Esto es más que común. En tres meses de llamadas me ha pasado día sí y día también.

* Consiguen convencerme con lo de la oferta a mitad de precio y el técnico de nivel 2. Se ve que si no les pasan un técnico de nivel 2 al momento a la gente de bajas, te dicen que te llaman ellos y que te pasan al técnico. Mira, esto sí es verdad. La gente del departamento de bajas te llama, y te dice que te pasa con el técnico de nivel 2. Y hasta ahi. Pasan minutos de música y cuando el técnico de nivel 2 te coge, dice 4 palabras y te cuelga. Oh, sorpresa.

* Como el servicio ténico era imposible, decidí comprar un router nuevo. El primer técnico que me atendió estaba bastante seguro de que era el problema… así que me compré uno nuevo (más de 100 euros), lo enchufo, lo configuro y… voilá! Pasa lo mismo… intentos de sincronización de ADSL hasta que se queda estable en menos de 1Mbps…

* Más llamadas al servicio técnico. Que mirarán en la central y me llaman. Que harán una prueba conjunta con Telefónica (la que me daba la línea) y me llaman…

* Más llamadas al servicio técnico, me dicen que no ven ningún problema en la central, y que confirman que la sincronización de ADSL se reintenta hasta que queda estable por debajo de 1Mbps. Si configuro el router para no utilizar ADSL2+, sino sólo ADSL2 es más estable, pero la velocidad no supera 1Mbps.

* Cambio cables de telefonía. Desde enero el router estaba directamente empalmado al PTR de Telefónica, para asegurarnos que no era la instalación interna.

* Finalmente me llama un técnico muy agradable. Mira oye, que va a ser problema del PTR de Telefónica, que llame a Telefónica para que me lo cambien y que no me cobrarán nada. Que en Ya.Com han hecho ya todo todo lo que estaba en sus manos, y que ellos no pueden hacer más, que es el PTR fijo. Lo que nos faltaba, vamos. Se ve que les dan un curso de forwardear marrones a los técnicos de Ya.Com.

* Telefónica viene y me planta un PTR nuevo. Y, oh sorpresa, sigue pasando lo mismo…

* Después de alguna semana más, me llama una técnica y me planta lo siguiente: Que la solución para mi problema es que cambie mi contrato de 20Mbps a 10Mbps, y entonces se soluciona todo. Parece razonable? No. Recordemos que por ley te deben garantizar el 10% de lo contratado. Con mi contrato de 20Mbps estaban fastidiados porque el 10% eran 2Mbps, y desde Enero mi conexión no superaba 1Mbps. No tiene sentido que por un simple cambio de contrato, los problemas en la línea se solucionen. Yo le dije que si esa era la solución, primero me diesen 10Mbps, que yo los vea, y luego me cambiaba de contrato. Insistía que eso no podía ser, que primero era el cambio de contrato (algo absurdo). O sea, que me cambio a 10Mbps y se me solucionan los problemas? Mejor dicho, se les solucionan a ellos! Si paso a 10Mbps de contrato, por ley me tienen que garantizar 1Mbps, cosa que sí tenía! Tócate los pies!!! Si me llego a cambiar de contrato, ellos ya se lavan las manos con mi problema.

* Relleno el formulario para darme de baja en la web de Ya.Com, espero 24h, y llamo al departamento de bajas para confirmarlo (después de 3 meses estos pasos ya los tenía claros).

* Hoy, más de 3 meses después de empezar con los problemas, y tras decenas de llamadas, he visto que la luz de sincronización en el router estaba fija, y la de datos apagada. El router de Jazztel lo tienen todavía en Seur, así que como ya tengo uno en casa, he llamado a Jazztel para que me den los datos de conexión (PPPoE en este caso necesita usuario y password, no como en Ya.Com).

* Después de 5 minutos con el servicio técnico de Jazztel, ya tengo internet. Y no sólo eso… la conexión de Ya.Com, en su mejor momento me sincronizaba a 13Mbps… la conexión de Jazztel me sincroniza a 20Mbps! Estupendo vamos.

En resumen: Si dudas entre Ya.Com y Jazztel… mi experiencia es que Jazztel mejor… (por ahora! cruzo dedos…)

The Core Pattern (core_pattern), or how to specify filename and path for core dumps

1. Introduction to Core Dumps

In most GNU/Linux systems (all of those I personally have used, at least), core dump files generated after an uncaught signal in a process (as a SIGSEGV or SIGQUIT), are generated in the base directory where the program was executed, and named as “core” or “core.PID”.

For example:

$> cd /home/user
$> ulimit -c unlimited
$> kill -s SIGSEGV $$

This will trigger a segmentation fault in your current shell (you probably guessed it after seeing that the shell session where you executed it was closed), and generate a core file in:
/home/user/core

Now… is it possible to change where that file is generated by default instead of the current directory? And is it possible to change the name of that generated file? The answer is YES! to both. Let’s see how we can get this.

2. The Core Pattern in Kernel

Since some years ago, the kernel configuration includes a file named “core_pattern”:
/proc/sys/kernel/core_pattern

In my system, that file contains just this single word:
core

As expected, this pattern shows how the core file will be generated. Two things can be understood from the previous line: The filename of the core dump file generated will be “core”; and second, the current directory will be used to store it (as the path specified is completely relative to the current directory).

Now, if we change the contents of that file… (as root, of course)

$> mkdir -p /tmp/cores
$> chmod a+rwx /tmp/cores
$> echo "/tmp/cores/core.%e.%p.%h.%t" > /proc/sys/kernel/core_pattern

And we run the same as before:

$> cd /home/user
$> ulimit -c unlimited
$> $> kill -s SIGSEGV $$

We get… voilá!
/tmp/cores/core.bash.8539.drehbahn-mbp.1236975953

Not only the program name (“bash“) or the PID (“8539“), but also the hostname (“drehbahn-mbp“) and the unix time (“1236975953“) are appended in the name of the core file!! And of course, it is stored in the absolute path we specified (“/tmp/cores/“).

You can use the following pattern elements in the core_pattern file:

%p: pid
%: '%' is dropped
%%: output one '%'
%u: uid
%g: gid
%s: signal number
%t: UNIX time of dump
%h: hostname
%e: executable filename
%: both are dropped

Isn’t is great?! Imagine that you have a cluster of machines and you want to use a NFS directory to store all core files from all the nodes. You will be able to detect which node generated the core file (with the hostname), which program generated it (with the program name), and also when did it happen (with the unix time).

3. Configure it forever

The changes done before are only applicable until the next reboot. In order to make the change in all future reboots, you will need to add the following in “/etc/sysctl.conf“:

# Own core file pattern...
kernel.core_pattern=/tmp/cores/core.%e.%p.%h.%t

sysctl.conf is the file controlling every configuration under /proc/sys

Next Page »