6.4.4.1.- Modificar la zona horaria

Linux emplea internamente UTC (Coordinated Universal Time, Tiempo Universal Coordinado), que es la hora de Greenwich (Inglaterra), al que no se le ha aplicado el horario de verano. Cuando Linux guarda un fichero en disco, la marca temporal se guarda en UTC. Si utilizamos herramientas como cron (que veremos próximamente), éstas piensan en UTC. No obstante, probablemente, el usuario utilice la hora local. Por tanto, un ordenador Linux debe ser capaz de traducir entre el tiempo local y UTC.

Para realizar esta traducción, Linux necesita saber cuál es su zona horaria. Este es uno de los raros ficheros de configuración que no está en texto plano, por lo que no debería intentar editarlo con un editor de texto. este fichero podría ser un fichero en sí o un enlace simbólico o de referencia a otro fichero. Si se trata de un enlace simbólico, debería poder determinar su zona horaria listando el fichero para ver como se llama el fichero al que enlaza localtime:

localtime

Si /etc/localtime es un fichero normal en vez de un enlace simbólico o si desea confirmación adicional de cuál es su zona horaria, pruebe a utilizar directamente el comando date:

date

 Vemos el resultado donde se incluye un código de zona temporal estándar de tres letras (WEST en este ejemplo). Podemos encontrar una lista de las abreviaturas de zonas horarias en http://www.timeanddate.com/time/zones/. Tenga en cuenta que los códigos de zona horaria varían en función de si está activo el horario de verano, aunque los ficheros de zona temporal de Linux no cambian con este detalle. Parte de lo que hacen estos ficheros es describir cuándo cambiar el reloj para el horario de verano. Si necesita cambiar su zona horaria, debería copiar o enlazar un fichero de muestra de un directorio estándar con /etc/localtime:

  •  Acceda como root o adquiera privilegios de root.root_1
  • Pase al directorio /etcroot_2
  • Observe le contenido del directorio /usr/share/zoneinfo.root_3En este directorio vemos el contenido de los ficheros que hacen referencia a diferentes zonas horarias que reciben el nombre de las regiones a las que se aplican, como GMT, Poland y Japan. La mayoría de usuarios tendrán que mirar en subdirectorios, como /usr/share/zoneinfo/Europe para Europaroot_4o /usr/share/zoneinfo/Indian para la India.root_5
    Estos subdirectorios contienen los ficheros de zona que reciben el nombre de las regiones o ciudades a las que se aplican, como Madrid o Maurittius. Identifique el fichero de su zona horaria. Tenga en cuenta que podría utilizar un nombre de fichero con un nombre de ciudad diferente a la suya, pero que se encuentre en la misma zona horaria. Por ejemplo,  el fichero Madrid funciona bien si se encuentra en París o en cualquier zona horaria.
  • Si hay un fichero localtime en /etc, bórrelo o renómbrelo con rm localtime.
  • Finalmente cree un enlace simbólico desde la zona horaria elegida hasta el fichero /etc/localtime. Por ejemplo, podemos escribir ln -s /usr/share/zoneinfo/US/Eastern localtime para configurar un ordenador de la zona horaria del este de los Estados Unidos. Otra opción sería copiar un fichero con el comando cp en vez de crear el enlace simbólico. Si /etc y su fichero objetivo se encuentran en el mismo sistema de ficheros, puede crear un enlace de referencia en lugar de uno simbólico, si lo desea.

Llegados a este punto, su sistema debería estar configurado para utilizar la zona horaria seleccionada. Si cambia las zonas horarias, debería poder ver la diferencia escribiendo date, como describimos anteriormente. Debería de haberse cambiado el código de la zona horaria en su equipo, si se compara con la ejecución del comando previa al cambio del fichero o el enlace de /etc/localtime. La hora debería cambiar también en función del número de horas que hay entre las zonas horarias seleccionadas (a tener en cuenta el tiempo que tarda en cambiar los ficheros de las zonas horarias). Además de /etc/localtime, algunas distribuciones utilizan un fichero secundario con datos de zona horaria en modo texto. En Debian y derivados este fichero se llama /etc/timezone. En Fedora, y sus distribuciones relacionadas , se llama /etc/sysconfig/clock. Este fichero contiene una línea o dos con el nombre de la zona horaria, algunas veces con la forma de una variable de asignación. Por ejemplo, el fichero /etc/timezone en el sistema Ubuntu tiene este aspecto:

root_6

Este fichero nos ofrece la manera más rápida de comprobar su zona horaria. También debería actualizarlo cuando haga un cambio de su zona horaria, para no confundir a las herramientas de configuración de nivel superior.

Algunas distribuciones proporcionan herramientas en modo texto para ayudar a realizar cambios en las zonas horarias (tzsetup, tzselect, tzconfig).

tzselect

Ejemplo de tzselect en Ubuntu 16.04

Anuncios