En determinadas areas (especialmente en la ciencia) es realmente necesario tener la hora exacta en el sistema, solo hay que pensar en servidores que lanzan alertas sismicas, o servidores que trabajan en tiempo real.
Existe un protocolo en internet llamado NTP (Network Time Protocol) por medio del cual podemos sincronizar el reloj del sistema consultando la hora exacta a servidores con relojes atómicos de precision.
Tal vez, en una computadora casera o un servidor comun, tambien se desee tener la hora exacta por simple curiosidad (en mi caso) y no veo porque no hacerlo.
Aqui vamos...
QUé ES NTP (Network Time Protocol)
NTP esta organizado en una jerarquía dinámica de servidores. El servidor de orden superior recibe la calificación de Stratum-0. Se trata de los propios relojes de precision que tienen determinados sistemas por ejemplo, relojes atómicos de Cesio y los Satélites GPS. Ningun servidor tiene esa categoría, porque ellos toman la hora de los stratum-0 que en la mayoría de las ocasiones tienen integrados como subsistemas. Los servidores que toman su hora de los stratum-0 son a su vez Stratum-1, es la máxima jerarquía que puede alcanzarse en la Internet.
Cualquier computadora que tome como referencia un Stratum-1 es un Stratum-2 y así sucesivamente. El nivel más bajo que hay definido es un Stratum-16
DóNDE CONSIGO NTP?
El software se encuentra en la pagina oficial de ntp
http://www.ntp.org/ en la seccion
Download. Al momento de escribir estas lineas, la version actual es la 4.2.0.
Descarga el binario (en rpm) o el source (en tar.gz), esta vez, no daré detalles sobre cómo realizar la instalacion y/o compilacion. Sigamos con lo que nos interesa... configurar ntp.
CóMO SE CONFIGURA NTP?
Una vez instalado ntp, lo que sigue es configurarlo para que al arrancar el sistema, se sincronize a traves de la red.
Cuando ntpd arranca, este lee un archivo de configuracion, que usualmente esta ubicado en /etc/ntp.conf
Aqui veremos un ejemplo que bien podrias utilizar en tu sistema:
# Reloj local no sincronizado. Esto es un falso driver a un reloj local,
# como backup cuando no hay accesible ninguna referencia remota.
#
server 127.127.1.0
fudge 127.127.1.0 stratum 10
#
# Lista de servidores para la sincronizacion del tiempo
# Se recomienda listar por lo menos 3 servidores
# maxpool n indica que cada 2^n=X segundos como máximo se hara una consulta
# al servidor, el valor por default es 10. maxpool 12 => 2^12=4192 segundos.
#
server ntp.colby.edu maxpool 11
server time.twc.weather.com maxpool 12
server ntp.dgf.uchile.cl maxpool 12
server cronos.cenam.mx maxpool 12
server ntp.quidnet.com maxpool 12
#
# El fichero ntp.drift es el que contiene la corrección que hay que hacer a
# la frecuencia de nuestro reloj local para que funcione lo más exacto posible
#
driftfile /var/lib/ntp/drift/ntp.drift
#
# Hay que desmarcar como comentario las siguientes lineas si queremos que ntp
# escriba un log.
#
# logfile /var/log/ntp
# logconfig=all
#
# En esta línea se indica de qué se quiere tener estadísticas
#
statistics loopstats peerstats clockstats
#
# Directorio donde se escriben los ficheros de estadística
#
statsdir /var/lib/ntp/stat/
#
# Tipo de ficheros generados. Ver documentación detallada de ntpd
#
filegen peerstats file peerstats type day enable
filegen loopstats file loopstats type day enable
filegen clockstats file clockstats type day enable
#
# Fin del archivo /etc/ntp.conf
Apuesto que te estaras preguntando "Porqué usar esos servidores y no otros?"
En la
siguiente pagina, podras darle un vistazo a una lista completa de servidores de tiempo para que escojas a tu gusto.
DETALLES FINALES
El puerto por el que se comunica ntp es el 123. Una vez que se ha instalado el software y se ha creado el archivo de configuración, hay que activar el servidor. Se trata del demonio xntpd. Lo habitual es que en los paquetes precompilados ya se incluya el script de inicio y control de tal forma que se pueda configurar como servicio al arrancar el sistema.
En el caso de SuSE [rocks!], ese script se halla en el directorio /etc/init.d y también se llama xntpd. El servicio se activa mediante la orden:
rcxntpd start
Despues de arrancar el servicio, si se ejecuta
ntptrace se vera algo como esto:
localhost: stratum 16, offset 0.000031, synch distance 0.00285
0.0.0.0: *Not Synchronized*
Despues de un par de minutos, el sistema se debe sincronizar:
hardware:~ # ntptrace
localhost: stratum 3, offset 0.000064, synch distance 0.50545
ntp2-rz.rrze.uni-erlangen.de: stratum 1, offset -0.010752, synch distance 0.00021, refid 'GPS'
Pues ya, es todo... ya saben, cualquier duda, favor de preguntarle al
oráculo o dejen sus comentarios aqui.
--
Una consola hace mas que mil windows [ventanas]