Publi

  • Implementación de filtros de contenido «después de la cola» en Postfix [Ejemplos en Bash y Python]

    Filros de contenido en Postfix
    Como hemos visto en anteriores artículos, Postfix nos da una gran flexibilidad a la hora de aplicar reglar y filtros a los mensajes que van llegando. Como ejemplo tenemos la implementación de Milters. Estos filtros se ejecutan antes de introducir los mensajes en la cola de entrega por lo que, a veces, puede no ser lo que buscamos. Cuando filtramos un correo con milters, el emisor del mensaje va a saber si se entrega o no.… Leer artículo completo

  • Cómo empaquetar programas para Ubuntu o Debian y servirlos desde mi PPA de Launchpad

    Hace unos meses vi una serie de posts de El Atareao donde hablaba del empaquetado de un programa para Ubuntu y subirlo a un PPA. Esto nos va a permitir distribuir nuestros programas para que puedan ser instalados fácilmente. Porque, para nosotros programadores, es muy fácil decir que descomprimamos un archivo y cada uno se lo compile en su ordenador. Pero, en realidad, poca gente se lo va a compilar y poca gente lo va a utilizar.… Leer artículo completo

  • Crea rápidamente servicios con Systemd para iniciar demonios o ejecutar scripts


    Hay quien lo odia, hay personas a quienes les gusta y también a quien no le importa. Pero es un sistema que ha entrado en las vidas de muchos de nosotros. Tanto usuarios como sysadmins. Ya que este post va a ser un post pequeño, quiero mostrar un ligero ejemplo paso a paso de la creación de un servicio utilizando systemd. El servicio será sencillo y se limitará a ejecutar un script durante el arranque y el apagado de nuestro sistema, nuestro servidor o nuestro cacharro (si hablamos de IoT).… Leer artículo completo

  • Rescatando capturas de pantalla perdidos en el disco duro

    Hace unos días, en el blog Salmorejo Geek, se recordaban unas capturas de pantalla, de 2011, hace muchas distribuciones. Así que, yo me he puesto a buscar algunas viejas capturas de pantalla, lo más viejas posible. Porque, salvo algunos desastres informáticos en mi vida, no he perdido muchos datos, sobre todo en mi vida linuxera. Lo malo es que en los discos tengo muy mala organización. Así que el gran problema es encontrar las capturas.… Leer artículo completo

  • Esas cosas que encuentras, cuando ni siquiera estás buscando. Ubuntu 6.06

    Ubuntu 6.06 tiempos pasados

    Hace muchos años, cuando se empezaba a escuchar la palabra Ubuntu, desde Canonical podías pedir CDs de Ubuntu para que te llegaran por correo postal a casa. Aunque la forma de distribución, y que encima fuera gratis, era novedosa. Es más, un tiempo atrás estuve buscando, junto con un amigo, la forma de comprar un CD de alguna distribución, con un envío relativamente rápido (en algunas páginas ponía que el envío a España podía tardar hasta 2 meses), de la misma forma que podías comprarte un Windows.… Leer artículo completo

  • Configuración Nvidia Optimus con driver privativo y Bumblebee.

    Dos monitores con Nvidia y Bumblebee

    La semana pasada hablaba sobre el estado del soporte Optimus para gráficos híbridos Intel+Nvidia en GNU/Linux. Aunque tenemos varias formas de implementar ese soporte en nuestro sistema operativo, finalmente me he decantado por instalar Bumblebee que hará que sólo las aplicaciones que utilicen la gráfica discreta (la Nvidia) la activen y la utilicen, para todo lo demás, utilizaré la Intel que, no es mala tarjeta, funciona muy bien, y consume menos energía.… Leer artículo completo

  • Cómo añadir un nuevo certificado raíz a nivel de sistema

    photo-1420768797814-f484a81f6be0_red0

    Es muy común si montamos algún servicio privado (como instalar un Owncloud para un grupo de amigos, una pequeña empresa), un correo personal, o cualquier cosa que se nos ocurra, utilizar https para las conexiones y, con ello, habilitar cifrado, aumentar la seguridad, y todas esas cosas.

    Pero claro, una vez montamos nuestro servicio con nuestros certificados (autofirmados), nos damos cuenta de que los navegadores (y ya no hablamos de curl, wget y otros comandos…) no paran de quejarse porque los certificados están firmados por una entidad no reconocida y que no es de confianza.… Leer artículo completo

  • Ver la fecha de dmesg en formato humano

    Cuando ejecutamos el comando dmesg, normalmente la fecha y la hora viene dada en un formato extraño, unos números decimales normalmente largos, indescifrables que nos pueden traer de cabeza cuando queremos saber cuándo sucedió el evento que estamos leyendo.

    [280213.568809] type=1701 audit(1360483429.151:991): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=20049 comm=»chromium-browse» reason=»seccomp» sig=0 syscall=4 compat=0 ip=0x7f2f734d9205 code=0x50000
    [280213.568815] type=1701 audit(1360483429.151:992): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=20049 comm=»chromium-browse» reason=»seccomp» sig=0 syscall=4 compat=0 ip=0x7f2f734d9205 code=0x50000
    [280213.568819] type=1701 audit(1360483429.151:993): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=20049 comm=»chromium-browse» reason=»seccomp» sig=0 syscall=4 compat=0 ip=0x7f2f734d9205 code=0x50000
    [280213.568822] type=1701 audit(1360483429.151:994): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=20049 comm=»chromium-browse» reason=»seccomp» sig=0 syscall=4 compat=0 ip=0x7f2f734d9205 code=0x50000
    [280213.568826] type=1701 audit(1360483429.151:995): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=20049 comm=»chromium-browse» reason=»seccomp» sig=0 syscall=4 compat=0 ip=0x7f2f734d9205 code=0x50000
    [280213.570694] type=1701 audit(1360483429.151:996): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=20049 comm=»chromium-browse» reason=»seccomp» sig=0 syscall=21 compat=0 ip=0x7f2f734d9957 code=0x50000
    [280213.570701] type=1701 audit(1360483429.151:997): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=20049 comm=»chromium-browse» reason=»seccomp» sig=0 syscall=91 compat=0 ip=0x7f2f734d95a7 code=0x50000
    [280214.706376] type=1701 audit(1360483430.291:998): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=20049 comm=»chromium-browse» reason=»seccomp» sig=0 syscall=2 compat=0 ip=0x7f2f734d96b0 code=0x50000
    [280217.461365] type=1701 audit(1360483433.047:999): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=20049 comm=»chromium-browse» reason=»seccomp» sig=0 syscall=2 compat=0 ip=0x7f2f734d96b0 code=0x50000
    [280217.461376] type=1701 audit(1360483433.047:1000): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=20049 comm=»chromium-browse» reason=»seccomp» sig=0 syscall=2 compat=0 ip=0x7f2f734d96b0 code=0x50000

    Tenemos varios modos de hacer esto:

    Un argumento

    Vale, todo esto podemos simplificarlo, si hacemos

    $ dmesg -T
    [dom feb 10 08:57:39 2013] type=1701 audit(1360483429.151:991): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=20049 comm=»chromium-browse» reason=»seccomp» sig=0 syscall=4 compat=0 ip=0x7f2f734d9205 code=0x50000
    [dom feb 10 08:57:39 2013] type=1701 audit(1360483429.151:992): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=20049 comm=»chromium-browse» reason=»seccomp» sig=0 syscall=4 compat=0 ip=0x7f2f734d9205 code=0x50000
    [dom feb 10 08:57:39 2013] type=1701 audit(1360483429.151:993): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=20049 comm=»chromium-browse» reason=»seccomp» sig=0 syscall=4 compat=0 ip=0x7f2f734d9205 code=0x50000
    [dom feb 10 08:57:39 2013] type=1701 audit(1360483429.151:994): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=20049 comm=»chromium-browse» reason=»seccomp» sig=0 syscall=4 compat=0 ip=0x7f2f734d9205 code=0x50000
    [dom feb 10 08:57:39 2013] type=1701 audit(1360483429.151:995): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=20049 comm=»chromium-browse» reason=»seccomp» sig=0 syscall=4 compat=0 ip=0x7f2f734d9205 code=0x50000
    [dom feb 10 08:57:39 2013] type=1701 audit(1360483429.151:996): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=20049 comm=»chromium-browse» reason=»seccomp» sig=0 syscall=21 compat=0 ip=0x7f2f734d9957 code=0x50000
    [dom feb 10 08:57:39 2013] type=1701 audit(1360483429.151:997): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=20049 comm=»chromium-browse» reason=»seccomp» sig=0 syscall=91 compat=0 ip=0x7f2f734d95a7 code=0x50000
    [dom feb 10 08:57:40 2013] type=1701 audit(1360483430.291:998): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=20049 comm=»chromium-browse» reason=»seccomp» sig=0 syscall=2 compat=0 ip=0x7f2f734d96b0 code=0x50000
    [dom feb 10 08:57:43 2013] type=1701 audit(1360483433.047:999): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=20049 comm=»chromium-browse» reason=»seccomp» sig=0 syscall=2 compat=0 ip=0x7f2f734d96b0 code=0x50000
    [dom feb 10 08:57:43 2013] type=1701 audit(1360483433.047:1000): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=20049 comm=»chromium-browse» reason=»seccomp» sig=0 syscall=2 compat=0 ip=0x7f2f734d96b0 code=0x50000

    Aunque en algunos sistemas no encontraremos este argumento.… Leer artículo completo

  • Instalar y configurar un servidor LAMP

    Lámpara de bajo consumoEn esta ocasión el servidor LAMP a instalar corresponderá con Linux + Apache + MySQL + PHP, intentaré dejarlo todo funcionando.

    Éste es el servidor local que suelo utilizar para mis proyectos web, de todas formas no me quiero meter en necesidades muy avanzadas, ni de seguridad (es un servidor local para hacer pruebas, desarrollar webs, y correr servicios locales; no un servidor de producción), si el servidor está cerrado al exterior, mejor.… Leer artículo completo

  • Guía de supervivencia para disfrutar de Linux Mint Debian Edition XFCE (IV : Soporte de idioma, tipografías y plugins de XFCE, complementos, efectos de escritorio con Compiz Fusion)

    Hasta ahora, aunque en la instalación especificamos que queríamos el sistema en idioma español, era sólo para la instalación y algunas aplicaciones que ya instalaban el soporte para varios idiomas. Esto es así porque la instalación no requería de conexión a Internet, y en el DVD de instalación no se incluían los idiomas adicionales. Por ello tendremos que instalarlos.

    Este post será largo, quiero incluir detalles de muchas cosas, y pongo aquí el índice:

    Instalar paquetes de idioma para varias aplicaciones

    A partir de ahora, instalaremos los paquetes de idioma español para Firefox, Thunderbird, LibreOffice y páginas del manual (man):

    $ sudo apt-get install firefox-l10n-es thunderbird-l10n-es libreoffice-l10n-es manpages-es

    También encontramos paquetes para Chromium o para la plataforma KDESC y muchos más.… Leer artículo completo