[TIP] Como usar la memoria de video como SWAP (Y acelerar Linux).

Una de las cosas que hace tan poderoso a linux es la incapacidad de distinguir entre un dispositivo y un archivo. Con la cantidad de memoria de video que están incorporando en la placas de video actuales, ¿Por que no asignar una buena tajada a un archivo (un nodo en este caso) y usarlo como memoria SWAP?

Pequeña gran aclaración al margen: Los drivers binarios de las placas de video no permiten especificar la cantidad de memoria que se quiere usar del total disponible si no que se hacen con el control de la totalidad de memoria. No se puede usar el driver de nvidia o de ati y usar la vez la memoria de video como SWAP, por que estarás pisando memoria de video con datos y viceversa con la consecuente corrupción de datos. El único driver que conozco que permite especificar la cantidad de memoria de video a utilizar es XF86-video-vesa, con lo que se pierde aceleración 3D.

Choose your poison: ¿Direct rendering o memoria SWAP rapidísima?

Sigue leyendo

DNS Masquerading con Dnsmasq (Valga la redundancia)

O de como reemplazar 4 aplicaciones por una sola:

Prefacio:

Le tengo que dedicar al menos una mención de honor a Dnsmasq, este pequeño DNS Forwarder que con tan solo 269Kb (de código fuente en un .tar.gz) me ha cambiado la vida.

Como bien dicen en su página web oficial, «Dnsmasq is a lightweight, caching DNS proxy with integrated DHCP server«. Osea, un pequeñísimo proxy para cachear peticiones DNS que no resuelve por su cuenta -como lo haría BIND, por ejemplo- si no que se interpone entre la red y el verdadero DNS server almacenando los requests en memoria para servirlos rápidamente y ahorrar minúsculas cantidades de ancho de banda por petición.

Ya con eso solo me bastaría y sobraría si no fuera por que además hace de DHCP server!

Con un archivo de configuración tan bien comentado que ni hace falta leer el manual, además de proxy DNS, puede servir de DHCP server compitíendole a los mejores de su rubro sin ningún esfuerzo en lo que a configurabilidad se refiere, y la cosa no acaba ahi…

Además puede servir de PXE server! De nuevo, sin ningún esfuerzo mas que descomentar dos o tres líneas, puede servir peticiones PXE a la red para hacer arrancar thin clients de cualquier tipo…

No contento con todo esto, su desarrolador además le ha incorporado TFTP Server! No solo puede servir a clientes PXE con su configuración inicial, además puede servir por TFTP la imagen de arranque necesaria!

Todo esto lo he ido descubriendo de a poco, leyendo el archivo de ocnfiguración y haciendo algunas pruebas.

Para mis necesidades, ha reemplazado 4 aplicaciones diferentes que usaba antes con una sola que es tan (o mas) configurable que las anteriores y mucho mas estable en algunos casos… (Por ejemplo, no he vuelto a tener problemas desde que sirvo imagenes por TFTP usando Dnsmasq, cosa que si me pasaba al servirlas con tftp-hpa, un port del TFTP server de OpenBSD para linux)

Resumiendo, Dnsmasq te cambia la vida. En una sola aplicación:

  • DNS Proxy con caché (y control de TXT records si fuera necesario)
  • DHCP Server altamente configurable
  • PXE Server para diskless clients
  • TFTP Server de alta estabilidad y muy buena velocidad de operación.

Una joyita realmente. ¿Que mas se puede pedir de la vida?

Próxima entrega: Como encadené Dnsmasq para que sirva grldr, el bootloader de grub4dos por la red el cual a su vez encadena pxelinux y que me permiten arrancar de todo un poco, livecd de linux, windows, imagenes de diskette y archivos ISO…

[ TIP ] Como postear mejor en un foro de linux.

Eliminando todos los comentarios del archivo de configuración antes de postear su contenido:

Supongamos que mi viejo amigo y proxy-caché de cabecera un día deja de funcionar y tengo que ir a preguntar a un foro a ver si alguien me da una mano. Sería una locura pedirle a alguien que encuentre la falla entre las 4775 líneas de configuración de mi archivo /etc/squid/squid.conf, (contadas con wc), dejo constancia:

~ # wc -l /etc/squid/squid.conf

4775 /etc/squid/squid.conf

De paso, por si alguien no conocía el comando, wc -Por las siglas en inglés de Word Count- cuenta palabras, lineas, caracteres e inclusive bytes.

Volviendo al tema, puedo eliminar todo lo que sean comentarios de un archivo de configuración ejecutando el siguiente comando:

grep -vh '^[[:space:]]*\(#\|$\)' /ruta/al/archivo_de_configuración

Poco amigable, imposible de recordar al primer intento. Bash de por medio, puedo crear un script que lea el archivo de configuración de 4000 y tantas líneas y me lo devuelva sin comentarios:

#!/bin/bash # Código para quitar todos los comentarios y líneas en blanco

grep -vh '^[[:space:]]*\(#\|$\)' "$@"

Y guardar ese script como /usr/bin/nocomentarios.sh, por ejemplo, de forma de tenerlo siempre a mano.

El archivo tiene que ser ejecutable:

chmod +x /usr/bin/nocomentarios.sh

Por último, cada vez que quiera eliminar los comentarios de un archivo, poniendo de nuevo el ejemplo del archivo de configuración de Squid, basta con hacer:

nocomentarios.sh /etc/squid/squid.conf

Y para muestra basta un botón dicen; Después de limpiar todos los comentarios, la cantidad de líneas no comentariadas de mi squid.conf son únicamente 47:

~ # grep -vh '^[[:space:]]*\(#\|$\)' /etc/squid/squid.conf | wc -l

47

Lo robé tomé prestado de los foros de Gentoo en su momento, y desde entonces lo uso siempre, no solo a la hora de postear algo, ayuda mucho también a depurar en caso de que algo salga mal….

Deshabilitar el salvapantallas de la consola en linux cuando no se tiene Xorg instalado.

Prefacio:
Me toca monitorear un servidor por pantalla en una de sus tty (consola, para los afanalbetos).
Cada cierta cantidad de tiempo la pantalla se pone negra, como todas las pantallas, pero tratándose de un servidor, no tengo el entorno gráfico instalado, por ende, ninguna utilería que me permita hacer dos clicks para deshabilitar esta función. Al cabo de un tiempo termina volviendose molesto eso de tener que andar apretando alguna tecla para volver a tener imagen en pantalla…

Como siempre los muchachos de los foros de Gentoo muy amables al rescate:

El comando que controla la función que hace que la pantalla se ponga negra (Screen Blanking) en consola es setterm:

setterm -powersave off
setterm -blank off