Fecha de creación de un fichero en Linux

timeHace un tiempo tuve la necesidad de ver la fecha de creación de un fichero en un servidor Linux. Conocía las fechas atime, ctime y mtime, pero no tenía muy claro cómo ver la fecha en la que el fichero se creó, puesto que por defecto, la salida del comando «ls -l» muestra la fecha de modificación del mismo.

Finamente he llegado a un blog donde explican perfectamente cómo sacar la crtime (o CReation Time). La idea es usar el comando «stat» con «debugfs». Para ello, primero tenemos que tomar como referencia la raíz del sistemas de ficheros que contiene el archivo a inspeccionar.

Continuar leyendo «Fecha de creación de un fichero en Linux»

Instalar Percona XtraDB Cluster 5.6

percona

Hace un tiempo, escribí sobre cómo instalar Percona XtraDB Cluster 5.5, de cara a tener una solución tipo cluster para MySQL basada en Galera. Los últimos días, he estado testeando la nueva versión de Percona XtraDB Cluster 5.6, y me he encontrado con algunas diferencias respecto a la instalación/configuración de la versión 5.5.

Requisitos

Para empezar, de cara a instalar Percona XtraDB Cluster 5.6, es necesario contar con socat instalado en todos los nodos del cluster antes de empezar a instalar Percona. En mi caso, en un Centos 6.5, me ha dado problemas la instalación desde sources, y finalmente lo he instalado desde un repositorio externo.

[root@myServer1]# cd /etc/yum.repos.d
[root@myServer1]# wget --no-cache http://www.convirture.com/repos/definitions/rhel/6.x/convirt.repo

Fuente: http://www.convirture.com/wiki/index.php?title=C2_fedora_installation

Tras contar con socat, he podido instalar el cluster, igual que en la versión 5.5.

Continuar leyendo «Instalar Percona XtraDB Cluster 5.6»

Actualizar automáticamente un servidor

updateÚltimamente he estado leyendo sobre cómo y cuando actualizar un servidor Linux (Fedora/CentOS/Red Hat en mi caso), de cara a aplicar los últimos parches de seguridad y mantener el sistema actualizado. Resulta que no soy el único que se pregunta sobre si hay algún tipo de guía, recomendaciones, o mejores prácticas para updatear sistemas.

Después de leer y leer, y ver las numerosas razones tanto a favor como en contra de los updates automáticos, la siguiente frase en la documentación oficial de Fedora resume cuándo habilitar las actualizaciones automáticas, por lo general:

«If the machine is a critical server, for which unplanned downtime of a service on the machine can not be tolerated, then you should not use automatic updates. Otherwise, you may choose to use them

Es decir, por norma general sería una buena idea habilitar las actualizaciones automáticas en todo servidor que no sea crítico, siempre y cuando tengamos la posibilidad de deshacer los updates instalados, o revertir los cambios, en caso de error.

Continuar leyendo «Actualizar automáticamente un servidor»

Gitolite: gestión de permisos en Git

gitEs muy posible que queramos tener un control de usuarios y permisos en nuestro repositorio git centralizado, si por ejemplo, tenemos a varios equipos de varios desarrolladores trabajando cada uno con un repositorio diferente. Afortunadamente, existen varias soluciones a este problema pero yo me he quedado con gitolite, por su facilidad de gestión y sus posibilidades.

NOTA: En este post se irá cambiando del servidor (miServer) a mi PC local (miPC). Se irá comentando a lo largo del post a qué entorno se hace referencia, pero si te pierdes, fíjate en el inicio de cada comando ejecutado (ej: [root@miServer ~] vs [adri@miPC])

Instalación

Añadimos el repositorio EPEL para nuestro servidor con el repositorio central, un CentOS 6:

[root@miServer ~]# wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
[root@miServer ~]# rpm -Uvh epel-release-6-8.noarch.rpm

Instalamos git y a posteriori gitolite, que en mi caso, me ha instalado y/o actualizado bastantes paquetes, la mayoría relacionados con perl:

[root@miServer ~]# yum install git gitolite3.noarch

A continuación, crearemos un usuario de sistema, para gitolite, al que en el ejemplo hemos llamado «git», y que será el usuario de sistema con el que interactuarán los usuarios con el repo:

[root@miServer ~]# useradd --system --shell /bin/bash --home /home/git git

Continuar leyendo «Gitolite: gestión de permisos en Git»

Maldet – Linux Malware Detect

virusMaldet (también conocido como LMD de las iniciales de Linux Malware Detect) es un detector de malware para entornos Linux compartidos, bajo licencia GNU GPLv2, que funciona desde el terminal.

Instalación

Podemos instalar Maldet de la siguiente manera:

1. Bajaremos el tarball de la página oficial:

[root@miServer tmp]# wget http://www.rfxn.com/downloads/maldetect-current.tar.gz

2. Descomprimiremos e instalaremos

[root@miServer tmp]# tar -zxcvf maldetect-current.tar.gz
[root@miServer tmp]# cd maldetect-1.4.2/
[root@miServer tmp]# ./install.sh

3. Ya estaremos listos para usar Maldet

Continuar leyendo «Maldet – Linux Malware Detect»

Mostrar el autor en las búsquedas de Google

Google-SearchA raíz del estudio «Eye Tracking Study» que vi publicado en Twitter, donde se mostraba el impacto de tener Google Authorship configurado para aparecer junto a tus resultados de búsqueda en Google, me decidí a implementarlo en el blog. Desafortunadamente a los dos meses de implementarlo, Google decidió reducir el número de resultados con foto de autor. Aun así, me he decidido a publicar los pasos para configurar el Google Authorship en los resultados de búsqueda, en mi caso, para un WordPress.

Configuración de Google Authorship

Para ello, tuve que seguir una serie de pasos (la verdad, parecía más sencillo de lo que finalmente fué).

  1. En primer lugar, descargué e instalé el plugin para WordPress Google Plus Authorship. Para configurarlo, bastará con indicar el enlace a tu perfil de G+.
  2. Desde G+, tuve que crear un enlace en la sección «Contributor» hacia helloit.es (el blog en el que creo el contenido).
  3. Después, en el blog, tuve que añadir un «by <nombre>» en cada post. El nombre ha de coincidir con el nombre del perfil de G+. Ésto puede hacerse de varias formas. La más sencilla es que tu tema lo permita, pero si no (como fué mi caso) deberás modificar el código de single.php y el loop.php para añadir algo parecido a lo siguiente (ésto dependerá del tema y los plugins que tengas instalados):

by <?php the_author(); ?>

Fuente: http://wordpress.org/support/topic/trying-to-add-author-to-post

Continuar leyendo «Mostrar el autor en las búsquedas de Google»

RDNS PTR IPv6 en AWS Route53

Cloud Amazon Route53Título duro y críptico donde los haya, pero si estás aquí es por una razón: quieres saber cómo configurar una zona Reverse DNS donde crear tus registros PTR de tus direcciones IPv6 con Amazon Route 53.

Primero de todo, para poder gestionar tú mismo los registros PTR, deberás confirmar que te pueden delegar la gestión del RDNS. Para ello, deberás confirmar con tu ISP que efectivamente, te puede delegar la gestión de los RDNS de tu rango de IPs públicas, ya que en otro caso, no podrás auto-gestionarte el RDNS.

Reverse Zone Name

Tras confirmar que el ISP nos podrá delegar la gestión del RDNS, lo primero que haremos, será pedirle a nuestro ISP que nos dé el nombre de la reverse zone que deberemos crear. El nombre de la zona, será la parte fija de nuestra IP pública, al revés, acabada en «.ip6.arpa». Ejemplo:

IPv6 range: 1234:5678:9ABC::/48
Reverse zone name: C.B.A.9.8.7.6.5.4.3.2.1.ip6.arpa

Con estos datos ya podremos entrar en el panel de AWS para la gestión de Route53.

Continuar leyendo «RDNS PTR IPv6 en AWS Route53»

Configuración de IPv6 en CentOS

IPv6Vamos a ver cómo configurar un servidor para trabajar tanto con ipv4 como con ipv6, en Linux, sin entrar en detalle de lo que es ipv6, pero repasando algún que otro concepto.

Formato de una dirección IPv6

Lo primero, una ipv6 es una ip formada por 8 grupos de 4 dígitos hexadecimales cada uno, tal que así:

AAAA:AAAA:00BB:AAAA:0000:0000:0000:0000

Se pueden omitir los 0’s de inicio de cada grupo. Así, la IP anterior, quedaría así:

AAAA:AAAA:BB:AAAA:0000:0000:0000:0000

También se puede dejar de incluir los grupos que sean todo 0s, símplemente indicándolo con «::». Hay que tener en cuenta, que únicamente podremos usar una vez el «::» puesto que en otro caso, no sería posible saber a cuantos grupos de ceros se refiere el «::». En nuestro caso, la ipv6 quedaría así:

AAAA:AAAA:BB:AAAA::

Decir que podemos usar cualquiera de éstos formatos para indicarle una ipv6 a nuestro servidor.

Continuar leyendo «Configuración de IPv6 en CentOS»

Sustituir texto en múltiples ficheros en Linux

ReemplazarBueno, aquí un post que empecé a escribir a principios del 2012, con algunos comandos útiles para sustituir texto en Linux, que siempre viene bien tener a mano. Hay que tener en cuenta, que la sustitución de texto en Linux se puede hacer de muchas formas diferentes. A continuación explico uno de los posibles métodos para sustituir texto.

Sustitución múltiple en un único fichero con vi

Si se quiere reemplazar tanto BUG como bug como cualquier combinación de mayúsculas y minúsculas de BUG por ISSUE, bastará con abrir el fichero con «vi» y ejecutar lo siguiente:

:%s/BUG/ISSUE/gi

Es importante notar que para ejecutar el comando, deberemos estar fuera del modo de inserción, para poder introducir los dos puntos del inicio del comando. La «i» del final es la que hace que el texto a buscar sea case insensitive.

Continuar leyendo «Sustituir texto en múltiples ficheros en Linux»

Entradas más vistas del 2013

trofeos

Ya estamos en 2014, así que aprovecho para publicar estadísticas del 2013 y compararlas con las de 2012, para ver si este blog le es útil a alguien, además de a mi mismo 🙂 A continuación las estadísticas de 2013 vs 2012:

  • Visitas 34,527 vs 15,434
  • Visitantes únicos 28,916 vs 12,909
  • Páginas vistas 41,971 vs 19,914
  • Tiempo medio por visita 00:00:54 vs 00:00:51
  • Páginas por visita 1.22 vs 1.29
Parece que ha habido un crecimiento bastante importante, respecto al año anterior. Cabe destacar que a finales de año, incorporé Google Autorship a las búsquedas de Google, sobre lo cual tengo un post pendiente, en el que intentaré ver si ha habido un incremento en la relación del número de clicks respecto a las impresiones. Decir también que durante 2013, decidí quitar el plugin de entradas relacionadas, lo cual puede haber influido en la pequeña caída del número de páginas por visita.