Debido a que tengo instalados varios sistemas operativos en la computadora algunas veces se
presenta el problema de que los sistemas se cambian mutuamente la hora, entonces algunas
veces hay que decirles a los sistemas y corregir su estado.
presenta el problema de que los sistemas se cambian mutuamente la hora, entonces algunas
veces hay que decirles a los sistemas y corregir su estado.
Para poder gestionar todo lo concerniente a la hora, reloj, zona horaria, etc. de la computadora
está la herramienta (Nota: Debes usar este comando como administrador o sudo).
está la herramienta (Nota: Debes usar este comando como administrador o sudo).
timedatectl
Con este comando podemos modificar como el sistema maneja la hora podemos hacer cambios
en la forma que se maneja el reloj del sistema tales como:
en la forma que se maneja el reloj del sistema tales como:
- cambiar la hora
- establecer zona horaria
- habilitar la sincronización con servidor remoto
- decirle al sistema si el RTC es con hora local o UTC.
El reloj físico del sistema (RTC) es el que guarda la hora aunque la computadora esté apagada y es
independiente de el sistema operativo.
independiente de el sistema operativo.
El reloj de sistema toma la hora del reloj físico cuando arranca y cuando ya se ha inicializado
es independiente del reloj físico.
es independiente del reloj físico.
Los sistemas GNU/Linux guardan el tiempo en horario UTC que es el tiempo universal y lo convierte al
tiempo que nosotros lo necesitemos.
tiempo que nosotros lo necesitemos.
Si deseamos saber los datos del sistema solo debemos escribir en la terminal
timedatectl status
y nos saldra algo asi:
Local time: mié 2018-04-18 22:25:22 CST
Universal time: jue 2018-04-19 04:25:22 UTC
RTC time: mié 2018-04-18 22:25:22
Time zone: America/Guatemala (CST, -0600)
NTP enabled: no
NTP synchronized: no
RTC in local TZ: yes
DST active: n/a
Si revisamos con más detalle aunque puede ser claro veremos
Local time: mié 2018-04-18 22:25:22 CST, es nuestra hora local del sistema
Universal time: jue 2018-04-19 04:25:22 UTC, Es la hora universal
RTC time: mié 2018-04-18 22:25:22, es la hora que tiene el reloj físico
Time zone: America/Guatemala (CST, -0600), es la zona horaria del sistema
NTP enabled: no, si está habilitada la sincronización con servidor remoto
NTP synchronized: no, si ya sincronizó el sistema
RTC in local TZ: yes, si el reloj físico está con la hora local o UTC
DST active: n/a, si tiene sistema de cambio de horario de verano
timedatectl list-timezones
Cambiar la hora
timedatectl set-time HH:MM:SS
ejemplo:
timedatectl set-time 20:32:45
Esto cambiará el reloj del sistema junto con el reloj físico, también fallará si está habilitado la
sincronización remota con NTP.
Cambiar hora a local o UTC
Ahora como me pasó a mí que necesitaba poner el reloj físico con la hora local y así decirle al
sistema que quería el reloj físico en horario local en lugar de horario UTC se le cambia así
timedatectl set-local-rtc boolean
ejemplo:
timedatectl set-local-rtc 1
Aquí le digo al sistema que el reloj físico lo quiero en horario local en lugar de UTC porque el “1” es
verdadero se puede usar (true,t,yes,y), si fuera “0” sería falso se puede usar (false,f,no,n) lo cual
significa que el reloj físico estaría en UTC, lo bueno de esto es que el automaticamente y cambia
el reloj.
el reloj.
Cambiar fecha y hora
timedatectl set-time YYYY-MM-DD
ejemplo:
timedatectl set-time “2018-03-21 22:23:13”
Cambiar zona horaria
Para cambiar la zona horaria debemos listarla Cambiar zona horaria
timedatectl list-timezones
nos saldrá la lista de todas las zonas horarias la filtramos con grep ya que son 424 zonas, ya sabes que el sistema diferencia entre mayúsculas y minúsculas.
timedatectl list-timezones | grep America
nos saldrá algo como lo siguiente (aquí acorte la lista):
America/Adak
America/Anchorage
America/Anguilla
America/Antigua
America/Araguaina
America/Argentina/Buenos_Aires
America/Argentina/Catamarca
America/Argentina/Cordoba
America/Argentina/Jujuy
America/Argentina/La_Rioja
America/Argentina/Mendoza
America/Argentina/Rio_Gallegos
Y ahora podemos cambiar la zona que necesitamos, tu lo cambiaras al tuyo.
timedatectl set-timezone <zona horaria>
ejemplo:
timedatectl set-timezone America/Antigua
Sincronizando el reloj con un servidor remoto
También podemos sincronizar el reloj con un servidor remoto usando el protocolo NTP, este servicio puede ser habilitado asi:
timedatectl set-ntp <boolean>
ejemplo:
timedatectl set-ntp yes
Con el "yes" queda habilitada la sincronización con un servidor remoto para dehabilitarlo colocamos
"no", el servicio fallará si no tenemos instalado el servicio NTP.