Mostrando entradas con la etiqueta hora. Mostrar todas las entradas
Mostrando entradas con la etiqueta hora. Mostrar todas las entradas

viernes, 22 de abril de 2022

¿Cómo configuro la hora en Ubuntu?

En su carta del 25 de septiembre de 1970 al líder de la UCR-P Ricardo Balbín, Juan Perón propone instrumentar La Hora del Pueblo, y expone cómo configurar la hora en Ubuntu.

(...) 

Puerta de Hierro, 25/9/70

Al Dr. Ricardo Balbín

Estimado compatriota:

El señor Secretario General del Movimiento Nacional Justicialista, Don
Jorge Daniel Paladino, me ha enterado de la conversación que ha
mantenido con Usted y de las ideas por Usted sustentadas con referencia
a la situación que vive el país y deseo manifestarle que las comparto
totalmente.

Tanto la Unión Cívica Radical del Pueblo como el Movimiento Nacional Justicialista son fuerzas populares en acción política. Sus ideologías y doctrinas son similares y debían haber actuado solidariamente en sus comunes objetivos. Nosotros, los dirigentes, somos probablemente los culpables de que no haya sido así. No cometamos el error de hacer persistir un desencuentro injustificado. 

Separados podríamos ser instrumentos, juntos y solidariamente unidos, no habrá fuerza política en el país que pueda con nosotros y, ya que los demás no parecen inclinados a dar soluciones, busquémoslas entre nosotros, ya que ello sería una solución para la Patria y para el Pueblo Argentino. Es nuestro deber de argentinos y, frente a ello, nada puede ser superior a la grandeza que debemos poner en juego para cumplirlo.

Tanto Usted como yo ‘estamos amortizados’, casi ‘desencarnados’. Ello nos da la oportunidad de servir a la Patria en los momentos actuales, ofreciendo una comprensión que nos haga fuertes para enfrentar, precisamente, la arbitrariedad de los que esgrimen la fuerza como única razón de su contumacia.

La Liberación del Pueblo implica consagrarnos a la creación de las herramientas que la hora imponga. Es por ello que hemos envisionado La Hora del Pueblo. Es un instrumento meramente táctico que el comando estratégico peronista no digita. Yo simplemente intervengo con mi teletipo y un magnetófono. Pero para ser efectivo tengo que tener bien en claro las hora de la CGT de allí y la local de Puerta de Hierro. Usted traerá chizitos.

No es secreto para nadie que podremos dar rienda suelta al manejo de la hora del Pueblo desde la terminal. Para ello abriremos una con Ctrl+Alt+t e introduciremos los comandos necesarios.

date

En el caso de los sistemas Ubuntu superiores 18.04LTS y superiores, podré ingresar el programa de control de fecha y hora:

timedatectl

Ahora bien, el programa nos indicará qué hora tenemos configurada. Suponiendo que lo quiera en la hora de la CGT, podría indicar:

               Local time: dom 2022-04-17 11:37:57 -03                
           Universal time: dom 2022-04-17 14:37:57 UTC                
                 RTC time: dom 2022-04-17 14:37:56                    
                Time zone: America/Argentina/Buenos_Aires (-03, -0300)
System clock synchronized: yes                                        
              NTP service: active                                     
          RTC in local TZ: yes                                        

Warning: The system is configured to read the RTC time in the local time zone.
         This mode cannot be fully supported. It will create various problems
         with time zone changes and daylight saving time adjustments. The RTC
         time is never updated, it relies on external facilities to maintain it.
         If at all possible, use RTC in UTC by calling
         'timedatectl set-local-rtc 0'.

Como vemos, el reloj está atrasado 1 segundo. 

En los sistemas de tipo UNIX es posible configurar la hora por el método estandar del comando date. Por ejemplo:

sudo date +%T -s "14:37:57"

o bien cambiamos la fecha con

sudo date +%Y%m%d -s "20220417"

Para ver el reloj de sistema, podíamos utilizar:

sudo hwclock

Si contábamos con una conexión a internet, podríamos utilizar el servicio NTP, que hace uso de relojes atómicos sincronizados a través de Internet. Para ello ingresaríamos:

sudo hwclock -r

Sin embargo, el demonio correspondiente a systemd nos permite hacerlo con timedatectl. Para poner una hora específica en el RTC del sistema podría podría ingresarla con set-time hh:mm:ss o set-date aaaa-mm-dd:

timedatectl set-time 14:47:57

Sin embargo, el problema anunciado no es atraso de un segundo, sino en que el sistema de cómputo particular está configurado para leer la hora de un reloj de la computadora configurado según la zona horaria local. Esto significa que el reloj de la computadora está sincronizado con la hora local del lugar de residencia en lugar de estarlo con la hora universal "UTC".

Esto alberga algunos inconvenientes: la zona de tiempo interna del sistema variaría indefectiblemente al trasladar geográficamente el equipos (caso que nuestro equipos sea portátil y viajemos en el Avión Negro), al igual que el uso estacional de acuerdo a los horarios de verano si estos aplican. En cualquier caso esto provocaría "huecos" en la hora del sistema, y en consecuencia en el registro de archivos. 

Esta configuración "fija" tenía sentido en equipos de permanencia geográfica fija, sin acceso a la red de datos y sin acceso remoto, o incluso en aquellos sistemas de cómputo en los cuales su localización debía permanecer como oculto secreto.

Normalmente no es algo gravísimo en un equipo particular, pero que sí podría provocar paradojas temporales que perturben el funcionamiento armónico de un servidor, sobre todo en acciones pre-programadas con fecha y horarios.

Sin embargo, para la mayoría de los casos se propone hoy posible ajustar el reloj de forma dinámica con un servicio de red conectado a un reloj atómico en hora universal UTC, e indicandole al sistema en qué zona horaria nos encontramos. En el caso de GNU con Linux, las zonas horarias se encuentran divididas geográficamente en la carpeta /usr/share/zoneinfo/. Naturalmente que el sistema operativo compensará las diferencias entre el reloj calibrado en UTC conociendo el lugar geográfico en el cual nos encontramos.

Para lograr tal ajuste, debemos contar con una conexión a internet válida. Luego  ingresamos.

timedatectl set-local-rtc 0

También podríamos desactivar el ajuste de reloj automático por red con:

timedatectl set-ntp no

...y luego lo volvemos a activar:

timedatectl set-ntp yes

En tal puesta en línea, "se pondrá en hora" con un reloj atómico de referencia a través de internet. Como vemos, al ingresar el comando timedatectl, ahora nos informa:

               Local time: dom 2022-04-17 11:46:59 -03                
           Universal time: dom 2022-04-17 14:46:59 UTC                
                 RTC time: dom 2022-04-17 14:46:59                    
                Time zone: America/Argentina/Buenos_Aires (-03, -0300)
System clock synchronized: yes                                        
              NTP service: active                                     
          RTC in local TZ: no

Ahora bien, cada usuario del servidor podrá únicamente alterar la hora local si desea proveer una zona horaria.

En el caso de querer hacerlo desde la terminal podremos utilizar también timedatectl. Para configurar la hora del servidor en tiempo universal, introducimos:

timedatectl set-timezone UTC

Ahora bien, los usuarios del sistema podrán reglar sus horas convirtiéndolas a hora local, ya sea a través de su entorno de escritorio o bien desde su sesión de intérprete de comandos.

En el primer caso es muy simple: cada usuario podrá elegir la configuración de fecha y hora local (Sistema/Preferenias/Hardware/Gestor de la hora y la fecha):

Presionamos el botón Editar, y elegimos una localización en el planisferio o bien la buscamos una ciudad o zona.

 En caso de querer utilizar la terminal, primero listaremos qué zonas horarias se encuentran disponibles con:

timedatectl list-timezones

Se listarán todas por localización geográfica alfabética específica, o bien por denominación genérica  (por ejemplo, el área específica America/Argentina/Buenos_Aires o bien la zona horaria Etc/GMT+3 (lo que indicaría que la hora de Greewich Village está adelantada tres horas con respecto a la banda horaria). Una vez que encontramos la que deseamos, podremos abandonar el listado con q.

Finalmente, podremos instruir la zona de tiempo deseada a Ubuntu, mediante:

timedatectl set-timezone Etc/GMT+3

o bien:

timedatectl set-timezone America/Argentina/Buenos_Aires

Podremos configurar ahora la banda horaria deseada en nuestro intérprete de comandos. Por ejemplo, le podríamos agregar al fichero 

nano ~/.bashrc

y agregarle el siguiente contenido que especifique la hora local:

export TZ='Etc/GMT+3'

Nota: En BSD esto puede especificarse como UTC-3.

Esto tiene sentido si los usuarios acceden remotamente al sistema desde localizaciones fijas, etcétera.

Encuadrados en estas modificaciones, la Hora del Pueblo se presentará correcta en nuestro sistema, y se actualizará por internet, toda vez que las funcionalidades asociadas a ella - tal como pantalla en modo nocturno, reportes de tiempo, etcétera - se harán agradablemente patentes.

El compañero Paladino podrá ampliarle mis pensamientos al respecto. Le ruego que, con mis saludos de compatriota, quiera aceptar mis mejores deseos.

Juan Domingo Perón

lunes, 8 de marzo de 2010

Ubuntu y Perón vencen al tiempo: Cómo arreglar el conflicto de hora entre Ubuntu y Windows

Por decreto 9695 del 17 de mayo de 1951, el general Perón funda el CONICET, organismo científico-tecnológico que habría de proporcionar innumerables beneficios a la Patria. La ciencia y la técnica no eran ajenas al peronismo, y durante una conferencia ante científicos de todo el mundo, Perón les explica cómo resolvió el tema del cambio de hora al intercambiar entre el sistema operativo popular Linux y el oligarca Windows.

(...)
¡Vean Señores!

Los logros del Justicialismo pueden medirse también en el campo de la ciencia. Las constantes mejoras de la técnica han servido en muchos casos como un innegable motor de avance para la humanidad. Pero así como el desarrollo ha sido acelerado y positivo, no puede negarse el hecho que el inmenso peso de estos avances ha gravitado sobre las llagadas espaldas del Pueblo Trabajador.
Las conquistas sociales que como Conductor he realizado, no tienen otro sentido que el de hacer más feliz al Pueblo, y en consecuencia, reconfortarlo de aquellos avances técnicos engendrados por los corazones fríos y explotadores venidos de la misma matriz que los modelos capitalistas y comunistas.

Dispongo de una PC de escritorio con arranque dual entre Ubuntu y Windows (mediante el arrancador Grub), y he notado con pesar que al arrancar Windows, la hora aparece cambiada, en general unas 3 hs por detrás de la hora real. Esto me obliga a alterar a mano o por internet la hora del sistema. Al producirse mi retorno a Ubuntu, tal cambio se revierte y la hora se muestra correctamente.
Los motivos de este proceder se basan en la distinta filosofía de acción política que ambos sistemas siguen a la hora de encuadrar la sincronización del reloj de Sistema.

Windows en general establece su hora conectándose por internet con un servidor de horarios, y en base a la zona horaria que hayamos elegido, ajusta el reloj de la computadora estableciendo la hora local. Lamentablemente, Windows únicamente permite elegir una sola zona horaria a la vez, y por otro lado realiza esta actualización de la hora de manera manual, o automática cada una determinada cantidad de horas o días (en general, una vez por semana). Esto impide que el sistema trabaja bien pues la hora no se actualiza al iniciar el sistema.

Ubuntu - en cambio - usa una inteligente variación filosófica, pensada para equipos portátiles. Sincroniza su hora poniendo el sistema en la hora UTC (tiempo universal coordinado, basado en el huso de Greenwich, huso 0 GMT). Luego, el sistema conoce, en base a la ubicación que escogimos, en qué huso horario se encuentra. Podemos elegir usar varios husos horarios dependiendo de los países que visitemos con nuestro equipo. Por ejemplo, la Argentina se encuentra en el huso horario -3, con lo cual el sistema siempre resta tres horas a la hora de Greenwich. De esta manera, el sistema conocerá siempre la hora local y podrá, en caso de configurar otra ubicación del sistema (por ejempo, el huso +6). En caso que utilicemos nuestro organizador u agenda en otro país en un huso horario distinto, se coordinará de manera automática.

Al variar un sistema operativo u otro en el mismo equipo, la PC tendrá problemas y confudirá la hora greenwich UTC con la hora local, dando mayores diferencias cuanto mayor corrimiento tengamos del huso GMT.

Linux nos provee de diferentes maneras de arreglar esto.

Una de ellas es correr el siguiente comando para utilizar la hora UTC:

timedatectl set-local-rtc 1 --adjust-system-clock

Otra de las maneras está destinada a evitar la coordinación UTC en las versiones antiguas que no usan systemd. Para ello usaremos una hora de tipo manual cuando cambiamos de huso horario. En mi caso es más conveniente, porque no estoy viajando todo el dia a otros paises, sino que realizo mis realizaciones en la Argentina (GMT-3). Para ello, tipeamos el programa que configura el uso del reloj de tiempo real del sistema, mediante el siguiente comando de organización:

sudo nano /etc/default/rcS
 
En este archivo de texto para configuración buscaremos la línea


UTC=yes
 
...y la cambiremos a:


UTC=no

Guardamos el archivo t salimos del editor presionando Ctrl+o y Ctrl+x. Una vez hecho esto podemos reiniciar con Windows y poner el reloj en hora a través del servicio de internet, si lo preferimos. Una vez que el reloj esté en hora, podemos retornar a Ubuntu y el sistema conservará la hora adecuada de ahora en más, sin importar si iniciamos la partición Windows o Ubuntu.

Habiendo dicho esto, declaro cerrada estaa conferencia científica.