Los relojes de las computadoras no son perfectos. Dados unos días, semanas o meses, se desvían y dejan de mostrar el tiempo real. En pocas palabras, después de que se desplazan, pueden mostrar que son las «10:30» cuando en realidad son las «10:33». Era una práctica común en las computadoras más antiguas reajustar periódicamente el reloj de la computadora manualmente. Pero, después de que las conexiones a Internet se hicieron omnipresentes, los sistemas operativos modernos comenzaron a ajustar el reloj automáticamente con la ayuda de servidores NTP.
¿Qué es NTP?
NTP es un acrónimo de Network Time Protocol. Es un algoritmo diseñado para sincronizar relojes de computadora a través de conexiones de red y mantener su precisión.
Cómo habilitar la sincronización de tiempo en Linux
Afortunadamente, la mayoría de las distribuciones implementan una forma u otra de sincronización de tiempo, lista para usar. Si nunca notó que el reloj de su computadora se alejó del reloj de su teléfono, es casi seguro que ya tiene un cliente/daemon NTP ejecutándose.
En el sistema operativo Linux con systemd
La mayoría de las distribuciones de Linux han adoptado systemd, y con él viene el demonio «systemd-timesyncd». Eso significa que ya tiene un cliente NTP preinstalado en Ubuntu, Debian, Fedora, Arch Linux, openSUSE, Manjaro y otros. En estas distribuciones y otras que se basan en ellas (por ejemplo, sistema operativo elemental, sistema operativo Zorin), ejecute esto para verificar si la sincronización NTP está habilitada:
Si tú ves Network time on: yes
en la salida, el reloj de su computadora se ajusta automáticamente periódicamente a través de NTP. A veces también puede notar NTP synchronized: no
lo que puede significar que el reloj está sincronizado a través de alguna otra herramienta además de «systemd-timesyncd». También puede significar que systemd-timesyncd no se sincronizó todavía, pero lo hará más tarde.
Si tú ves Network time on: no
ejecute el siguiente comando para habilitar la sincronización de hora NTP.
sudo timedatectl set-ntp true
Eso es todo lo que tienes que hacer en estas distribuciones.
En el sistema operativo Linux sin systemd
Con MX Linux volviéndose tan popular últimamente, un ejemplo con respecto a este sistema operativo parece adecuado para comenzar. También es un caso especial. Eso «tipo de» tiene systemd, pero «tipo de» no. timedatectl informa que la hora de la red está «activada», pero systemd-timesyncd no se utiliza.
Entonces, ¿cómo se sincroniza? Puede verificar con el siguiente comando que puede usar en cualquier otro sistema operativo Linux.
sudo cat /var/log/syslog | grep ntp
En MX Linux obtendrá un resultado similar al que ve en la siguiente imagen.
A partir de este mensaje de registro filtrado, puede ver que el cliente «ntpdate» se ejecutó una vez. Este es un cliente popular, instalado por defecto en muchas distribuciones de Linux. Es liviano y solo consulta servidores NTP esporádicamente. No se ejecuta en segundo plano y se activa mediante secuencias de comandos, se sincroniza y luego se cierra.
Esto significa que el tiempo no se sincroniza con una precisión extremadamente alta (piense en milisegundos o microsegundos), pero es lo suficientemente preciso para la mayoría de los propósitos. Normalmente es preciso, al menos al segundo.
En otros sistemas operativos, puede ver «ntpd», que es un demonio que se ejecuta constantemente en segundo plano y es extremadamente preciso. Cuanto más se ejecuta, más preciso se vuelve.
Si, por alguna razón, desea instalar ntp
o ntpdate
en sistemas operativos con systemd, primero deshabilite el cliente ntp de systemd.
sudo timedatectl set-ntp false
Por supuesto, el comando anterior no es necesario en distribuciones que no sean systemd.
Instalar el cliente ntpdate
Esto es adecuado para computadoras domésticas, computadoras portátiles y otros dispositivos que no están constantemente conectados a Internet.
En Debian, Ubuntu, Linux Mint, Zorin y otras distribuciones basadas en estas, ejecute:
En todas las distribuciones basadas en Debian anteriores, está configurado, listo para usar, para ejecutarse después de ver una nueva conexión de red. Puede forzar una sincronización de tiempo ahora si se desconecta de su red y se vuelve a conectar.
En Fedora, ntpdate quedará obsoleto, por lo que se recomienda que utilice el demonio ntpd en su lugar (consulte la siguiente sección). Se recomienda lo mismo para todas las demás distribuciones por dos razones:
- A veces no incluyen ntpdate en un paquete separado, sino que lo agrupan con ntpd de la siguiente sección.
- No automatizan ntpdate para que se ejecute automáticamente en cada conexión de red. Debe insertar ntpdate usted mismo en un script que se ejecuta automáticamente después de que se conecta la red.
En este caso, tiene más sentido instalar ntpd como se indica en la siguiente sección.
Instalar el demonio ntpd
En Debian, Ubuntu, Zorin, Mint y otras distribuciones basadas en Debian o Ubuntu, ejecute:
Estas distribuciones iniciarán ntpd inmediatamente y luego lo iniciarán automáticamente en cada arranque; no se requiere ninguna otra acción de su parte.
En Fedora, instale con:
En CentOS, ejecute:
Para Arch Linux, use:
Y en openSUSE, ingresa:
Luego, habilite el servicio para que se inicie en el arranque y luego inícielo:
sudo systemctl enable ntpd sudo systemctl start ntpd
En otras distribuciones que se ejecutan sin systemd, es posible que deba ejecutar estos comandos en su lugar:
sudo update-rc.d ntpd enable sudo service ntpd start
o lo que sea equivalente para su sistema operativo.
Si obtiene un error de que ntpd no existe, reemplace «ntpd» con «ntp» en los comandos anteriores. Algunas distribuciones nombran los archivos del servicio del demonio ntpd de manera diferente.
Conclusión
Es raro que tenga que seguir alguno de estos pasos en un sistema operativo Linux con una interfaz gráfica de usuario al menos. La sincronización de tiempo ya debería estar configurada para usted. Pero estos pasos al menos pueden ayudarlo a veces a depurar un problema. Muchos paneles de control de entornos de escritorio le permiten habilitar y deshabilitar la sincronización horaria. En segundo plano, usan comandos similares para configurar esto por usted, de modo que pueda hacerlo usted mismo cuando fallan las herramientas de la interfaz gráfica de usuario.