LPIC-1 Tema 107.3: locales e internacionalización

Siguiente entrega de la serie de las certificaciones LPIC-1. Esta vez lo referente al tema 107.3, el que hace referencia a los locales y la internacionalización. Configuraciones vitales para poder adaptar el sistema a tu zona horaria, lenguaje, etc.

Los candidatos deberán ser capaces de saber dónde están alojados los ficheros de configuración, así como las variables de entorno existentes, su ajuste, conocer algunos sistemas de códigos, herramientas como date, etc.

Ficheros de configuración

Entre los ficheros de configuración más importantes que debes conocer están:

  • /etc/localtime: es un fichero de configuración de la zona horaria del sistema local. Con las reglas exactas relativas al tiempo en UNIX (la representación interna usada por el kernel desde la fecha cero 01-01-1970 00:00:00 UTC), compensaciones UTC, horario de invierno y verano, años bisiestos, etc. Los programas usan este fichero para la presentación al usuario. Este fichero es un enlace simbólico hacia /usr/share/zoneinfo/ donde se encuentran las zonas horarias. Por ejemplo Europe/Madrid. Así, mediante el enlace se podrá hacer uso del binario tzfile correspondiente a la zona horaria configurada.
  • /etc/timezone: es un fichero de texto plano, incluye el continente y lugar, a menos que se use una configuración más genética UTC. La diferencia con el anterior es solo el contenido y formato. Mientras éste es en texto plano, localtime es un binario. Además, el propósito de timezone es que localtime se actualice correctamente cuando se actualizan los ficheros de /usr/share/zoneinfo.

Por ejemplo, para cambiar la configuración de hora en tu distro podrías usar el siguiente comando:

#Cambiando al horario CEST (Madrid)
ln -sf /usr/share/zoneinfo/Europe/Madrid /etc/locatime

#Y para consultar la configuración actual
cat /etc/timezone

Herramientas

Además de los ficheros de configuración básicos también debes conocer herramientas como:

  • tzselect: es un programa que pregunta al usuario los detalles de la zona horaria para seleccionar la correcta. Una forma cómoda de configurarlo en vez de usar enlace simbólico como en el apartado anterior.
#Seleccionar hora
tzselect
  • timedatectl: con systemd también hay más formas de cambiar la zona horaria en un sistema con esta herramienta específica. Por ejemplo:
#Cambiar la zona horaria
timedatectl set-timezone Europe/Madrid

*También existen otras formas desde el entorno de escritorio o usando herramientas como YaST, dpkg-reconfigure, etc.

  • date: es un comando usado para mostrar la hora y fecha del sistema. Además, también sirve para cambiar la fecha y la hora. Para cambiar necesita privilegios. Tendrías que conocer que por defecto usa un formato MMDDhhmmYYYY.ss (el año se puede poner en formato YY o YYYY). Por ejemplo:
#Mostrar la fecha y hora
date

#Poner una fecha y hora al 28 de octubre de 2020 a las 11:58 sería
date "102811582020"

#Mostrar la última modificación de un fichero (timestamp)
date -r fichero.txt

#Más información
man date
  • iconv: permite convertir texto en una de las codificaciones disponibles. Por ejemplo:
#Mostrar los tipos de codificación
iconv -l

#Convertir de UTF-8 a ASCII
iconv -f UTF-8 -t ASCII -o origen.txt destino.txt

#Puedes ver el tipo con
file -i destino.txt
  • locale: conseguir información de los locales configurados en tu distro. La salida de este comando puede ser algo como:
LANG=es_ES.UTF-8
LANGUAGE=
LC_CTYPE="es_ES.UTF-8"
LC_NUMERIC="es_ES.UTF-8"
LC_TIME="es_ES.UTF-8"
LC_COLLATE="es_ES.UTF-8"
LC_MONETARY="es_ES.UTF-8"
LC_MESSAGES="es_ES.UTF-8"
LC_PAPER="es_ES.UTF-8"
LC_NAME="es_ES.UTF-8"
LC_ADDRESS="es_ES.UTF-8"
LC_TELEPHONE="es_ES.UTF-8"
LC_MEASUREMENT="es_ES.UTF-8"
LC_IDENTIFICATION="es_ES.UTF-8"
LC_ALL=

Como ves, son variables configuradas en tu sistema. Como ves, se pueden configurar el formato de direcciones, teléfonos, unidades, monedas, lenguaje, etc.

En este caso se usa codificación UTF-8 y es_ES (español de España). Pero se podría usar otras codificaciones (ASCII, Unicode, ISO-8859) y otros locales de otros países como sv_SE (sueco de Suecia), de_ (alemán de Alemania), es_AR (español de Argentina), en_US (inglés de EE.UU.), en_UK (inglés de Reino Unido), etc.

#Más información
man locale

#Consultar más códigos de idiomas
cd /usr/share/locale
ls

En cuanto a la codificación, deberías conocer por encima cada uno de los tipos:

  • ASCII: es un sistema de codificación basado en el alfabeto inglés. Son las siglas de American Standard Code for Information Interchange. Más información.
  • ISO-8859: estándar de codificación de 8-bit para caracteres. Más información.
  • Unicode: estándar de la industria de la computación para codificar la mayoría de escrituras del mundo. Más información.
  • UTF-8: codificación capaz de codificar todos los posibles caracteres. Diseñado originalmente por Ken Thompson y Rob Pike. Más información.

 

 

Isaac

Apasionado de la computación y la tecnología en general. Siempre intentando desaprender para apreHender.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

A %d blogueros les gusta esto:

Si continuas utilizando este sitio aceptas el uso de cookies. más información

Los ajustes de cookies de esta web están configurados para "permitir cookies" y así ofrecerte la mejor experiencia de navegación posible. Si sigues utilizando esta web sin cambiar tus ajustes de cookies o haces clic en "Aceptar" estarás dando tu consentimiento a esto.

Cerrar