Tu GNU/Linux siempre en hora (y con tiempo contínuo) con NTP
Ciertas tareas dependen del tiempo para funcionar (por ejemplo, el salvapantallas, make, cron, …). Es interesante no tener que preocuparse de la hora del sistema, así como que la hora no cambie bruscamente. ¡Y es muy fácil!
Paquetes necesarios
Sólo necesitaremos un paquete: ntpdate. En nuestro sistema basado en Debian es tan sumamente complicado como de costumbre:
Explicación
En el mundo hay una serie de relojes de alta precisión (relojes atómicos) que son los que de verdad llevan la hora del mundo (¿u os pensábais que lo hacía el reloj de la Puerta del Sol? :P). Mediante fibra óptica, están conectados una serie de servidores de acceso restringido. A éstos, se les conectan una serie de servidores de acceso restringido… y así un par de niveles más, hasta que llegan los servidores públicos. Así hay muchos y no los sobrecargamos.
Cada vez que un host intenta sincronizarse lo que se hace es lanzar varias peticiones, calcular el tiempo de retardo existente debido a la red, tomar en cuenta varios factores y estimar la hora real. El error es mínimo (salvo algunas veces que casca todo el sistema y te pone la hora del día anterior, como me ha pasado hace un rato).
Así, groso modo -como mandan las recetas- es como funciona.
Tiempo lineal
Algunos programas pueden tener problemas con los saltos de tiempo misteriosos. Este es el caso del salvapantallas, por ejemplo: si lo tenemos puesto cada 10 minutos y adelantamos el reloj 1 hora, salta. Cron también puede tener problemas: si en nuestro PC de casa tenemos la tarea “salvar_el_mundo” programada para las 13:45 y a las 13:30 cambiamos la hora a las 14:30, la tarea no se ejecutará, con resultados desastrosos.
Por ello conviene que nuestro PC no se salte ni un minuto, ¿no creéis?
Pues hacerlo es tan sencillo como cambiar la configuración de ntpdate, que se encuentra en el fichero /etc/default/ntpdate, y añadirle a la línea “NTPOPTIONS” la opción “-B”. A mí me quedaría así:
# servers to check. (Separate multiple servers with spaces.) NTPSERVERS="pool.ntp.org" # # additional options for ntpdate #NTPOPTIONS="-v" NTPOPTIONS="-u -B"
Y, ahora, el mundo está a salvo (aunque en algunos casos nuestro PC puede tardar horas semanas en sincronizarse…) ;D
Lo que ocurre ahora es que los minutos de nuestro PC son más lentos/rápidos que los habituales, pero eso no significa que nos saltemos ni un segundo ;)
rdate
Servidores:
- tick.uh.edu