Publi

  • Conocer el tipo MIME de un archivo gracias a GIO en lenguaje C

    3210986710_d3cbbdac55_b

    La biblioteca GIO nos proporciona una capa más sobre el manejo de archivos. Nos aíslan un poco de las llamadas al sistema operativo para hacer muchas operaciones sobre archivos facilitando el uso de la biblioteca en aplicaciones multiplataforma. Así como dándonos algunas funciones interesantes que ya vienen hechas.

    La gran ventaja de GIO frente al acceso normal a un archivo es que hace transparente al programador el acceso a sistemas de archivos compartidos (en Windows, Mac o Linux) sin tener que gastar mucho tiempo en todo eso.… Leer artículo completo

  • Cómo hacer una barra de progreso gráfica para las transferencias con rsync

    photo-1449973581296-e82bb57dc2ca_r

    Rsync es una gran utilidad, de esas en las que al principio da miedo meterse, pero, cuando un día la descubres no quieres utilizar otra cosa y esperas el momento en que vuelves a utilizarla y encima se lo dices a tus amigos. Que luego te miran con cara de friki, y te dejarán de hablar, pero bueno… esperas pacientemente el momento en que ellos descubran Rsync.

    Rsync, es una utilidad para copiar archivos.… Leer artículo completo

  • Owncloud en 2015. Seguridad, extras y recomendaciones (II)

    244H_r

    Hace unas semanas hablábamos de hacer una instalación de Owncloud en nuestro servidor para proporcionar servicios de almacenamiento para el hogar o para una pequeña empresa. Aunque esa guía estaba bien para redes privadas, cuando salimos a Internet hay que tomar algunas precauciones y hacer que nuestro servidor, así como el servicio que proporcionamos sea seguro.

    Parte de este post serán recomendaciones de seguridad generales para un entorno LAMP y no son propias de Owncloud.… Leer artículo completo

  • Cómo especificar puerto y clave privada para SSH desde rsync

    reducida

    Si trabajamos a menudo con rsync para copiar archivos entre ordenadores, estaremos acostumbrados a una sintaxis parecida a esta:

    $ rsync -avh origen usuario@servidor:destino

    En realidad, para transmitir los archivos estaremos utilizando una conexión segura a través de ssh. Pero claro, en ocasiones, sería necesario utilizar algún argumento especial para ssh. En este ejemplo, imaginemos que queremos conectar al servidor por un puerto diferente del 22.

    Podemos hacerlo así:

    $ rsync -avh -e ‘ssh -p1234’ origen usuario@servidor:destino

    y si accedemos por par de claves pública-privada, en el caso de que queramos especificar un archivo de clave privada específico para esta conexión (a mí me ha sucedido que he necesitado utilizar rsync como root para poder acceder a algunos archivos y las claves las tenía en el usuario actual), lo podemos hacer así:

    $ rsync -avh -e ‘ssh -i archivo_identidad’ origen usuario@servidor:destino

    Ahora, un ejemplo completo y concreto de todo, en el que queremos acceder a nuestro servidor SSH por el puerto 28, además, el archivo de identidad o clave privada es id_rsa_webserver dentro del directorio .ssh de nuestro usuario (muy útil si ejecutamos rsync como root) luego el origen serían todos los archivos que encontramos en www/ y los copiaremos en un directorio remoto de nuestro servidor (tenemos que tener permiso para escribir ahí)

    $ rsync -avh -e ‘ssh -p28 -i /home/gaspar/.ssh/id_rsa_webserver’ www/* gaspar@miservidorweb.com:/home/web/externo/htdocs/

    Configuración local de ssh

    Otra posibilidad sería crear un archivo de configuración de ssh en nuestro ordenador, en el que podamos especificar los hosts a los que conectamos, el usuario que queremos utilizar, el archivo de identidad y el puerto.… Leer artículo completo

  • Scripts multilingües en bash con gettext / Traducciones en scripts


    Hace tiempo, empecé un proyecto en el que comparto algunos scripts que utilizo para hacerme la vida un poco más fácil. En esta colección, encontramos algunos scripts que ejecutaremos desde consola, y otros que, suelo tenerlos vinculados a una tecla rápida para ejecutarlos más rápidamente. El caso es que, los mensajes que se muestran en pantalla a través de diálogos suelo ponerlos en español, pero me gusta compartirlos con el mundo, y comprendo que cada uno quiera verlo en su idioma.… Leer artículo completo

  • Sonidos de un viejo disco duro IDE realizando tareas

    Ingredientes: Un disco duro viejo, un adaptador USB, un micrófono y algunos comandos para probar. Me pareció una cosa muy friki y bastante chula. Un disco duro que salió al mercado en Enero del año 2000 (¡¡15 años!!) y todavía funciona. No sabría decir si como el primer día, pero funciona bastante bien, aunque a estas alturas, como no tengamos a disposición un adaptador especial IDE sería muy difícil echarlo a andar.… Leer artículo completo

  • Acabo de borrar un archivo por accidente ! ¡ Voy a morir ! ¡ No aún no !

    El título está basado en un hecho real, aunque casi casi el truco que pondré a continuación está limitado a archivos de texto, ya que podemos identificar fácilmente su contenido. Si me apuráis, valdría con cualquier tipo de archivo, pero los archivos binarios, raramente podemos saber con exactitud qué contienen.

    Me encontraba yo preparando una entrada de datos para base de datos, fue un archivo que me llevó un tiempo donde hacía numerosas consultas, y llega la hora de hacer la consulta, de estas veces que puede que por el cansancio, por tener un día un poco tonto, por no pulsar bien una tecla, o un lapsus, en lugar de:

    $ mysql -uroot -pMICLAVE < consultas.sql

    se me ocurre escribir:

    $ mysql -uroot -pMICLAVE > consultas.sql

    vamos, que el archivo con el que llevaba ya un rato se borró por completo, y yo me encontraba como la foto de portada.… Leer artículo completo

  • Monitorizar el sistema y obtener gráficas de uso

    Cuando tenemos un servidor bajo nuestro control, es muy importante saber cómo vamos de recursos. Si hemos contratado un VPS, por ejemplo, debemos saber cuándo es hora de ampliarlo, o de contratar algo más pequeño porque vamos sobrados de recursos… o incluso poder comprobar que una parada del servicio se debe a un pico de uso del sistema. Esto también nos puede ayudar para comprobar cuándo nuestro server se ha parado debido a un kernel panic o algo parecido.… Leer artículo completo

  • Magia en Bash 50 ejemplos en una sola linea (o dos)

    Bash es una de las herramientas más potentes que tenemos a nuestro alcance, aunque no sólo de bash trata el artículo, sino de trucos para consola, one-liner como dirían muchos (aunque habrá algunos two-liners) que podemos utilizar y pueden hacernos la vida un poco más fácil:

    Cadenas de texto

    Trim

    Es una herramienta que utilizaremos para recortar nuestra cadena basándonos en los a la ìzquierda y a la derecha, en este caso nos basaremos en los espacios, que es uno de sus usos más comunes (así podemos obtener la cadena limpia tanto por delante como por detrás.… Leer artículo completo

  • Leer un archivo XML en C con libxml2 (con todos los nombres, atributos y contenidos)

    xmlxmlHoy en día, para muchas cosas se utiliza el metalenguaje XML ofrece una forma inteligible tanto para la máquina como para el humano.

    Bien, el objetivo es que podamos leer y escribir información XML, y ahora toca hacerlo desde C, debemos ser capaces de extraer los nombres de las etiquetas, atributos y contenidos.

    El código que muestro aquí es una vuelta de tuerca de uno de los ejemplos que aparecen en la web.… Leer artículo completo