Linux
          Professional Institute Learning Logo.
Pasar al contenido principal
  • Inicio
    • Todos los recursos
    • LPI Learning Materials
    • Conviértete en colaborador
    • Publishing Partners
    • Conviértase en un Publishing Partner
    • Acerca de nosotros
    • FAQ
    • Colaboradores
    • Contáctenos
  • LPI.org
107.3 Lección 1

Tema 105: Shells y scripts
105.1 Customize and use the shell environment
  • 105.1 Lección 1
  • 105.1 Lección 2
  • 105.1 Lección 3
105.2 Personalización y escritura de scripts sencillos
  • 105.2 Lección 1
  • 105.2 Lección 2
Tema 106: Interfaces de usuario y escritorios
106.1 Instalar y configurar X11
  • 106.1 Lección 1
106.2 Escritorios gráficos
  • 106.2 Lección 1
106.3 Accesibilidad
  • 106.3 Lección 1
Tema 107: Tareas administrativas
107.1 Administrar cuentas de usuario y de grupo y los archivos de sistema relacionados con ellas
  • 107.1 Lección 1
  • 107.1 Lección 2
107.2 Automatizar tareas administrativas del sistema mediante la programación de trabajos
  • 107.2 Lección 1
  • 107.2 Lección 2
107.3 Localización e internacionalización
  • 107.3 Lección 1
Tema 108: Servicios esenciales del sistema
108.1 Mantener la hora del sistema
  • 108.1 Lección 1
  • 108.1 Lección 2
108.2 Registros del sistema
  • 108.2 Lección 1
  • 108.2 Lección 2
108.3 Conceptos básicos del Agente de Transferencia de Correo
  • 108.3 Lección 1
108.4 Gestión de la impresión y de las impresoras
  • 108.4 Lección 1
Tema 109: Fundamentos de redes
109.1 Fundamentos de los protocolos de Internet
  • Muy pronto...
109.2 Configuración de red persistente
  • Muy pronto...
109.3 Resolución de problemas básicos de red
  • Muy pronto...
109.4 Configuración DNS en el lado del cliente
  • Muy pronto...
Tema 110: Seguridad
110.1 Tareas de administración de seguridad
  • Muy pronto...
110.2 Configuración de la seguridad del sistema
  • Muy pronto...
110.3 Protección de datos mediante cifrado
  • Muy pronto...
  1. Tema 107: Tareas administrativas
  2. 107.3 Localización e internacionalización
  3. 107.3 Lección 1

107.3 Lección 1

Certificación:

LPIC-1

Versión:

5.0

Tema:

107 Tareas Administrativas

Objetivo:

107.3 Localización e internacionalización

Lección:

1 de 1

Introducción

Todas las principales distribuciones de Linux pueden ser configuradas para utilizar ajustes de localización personalizados. Estos ajustes incluyen definiciones relacionadas con la región y el idioma, como la zona horaria, el idioma de la interfaz, así como la codificación de caracteres que pueden ser modificados durante la instalación del sistema operativo o en cualquier momento posterior.

Las aplicaciones se basan en variables de entorno, archivos de configuración del sistema y comandos para seleccionar la hora y el idioma adecuados; por lo tanto, la mayoría de las distribuciones comparten una forma estandarizada de ajustar la hora y los ajustes de localización. Estos ajustes son importantes no sólo para mejorar la experiencia del usuario, sino también para asegurar que la hora de los eventos importantes del sistema se calcule correctamente, por ejemplo, informar sobre temas relacionados con la seguridad .

Para poder representar cualquier texto escrito, independientemente del idioma hablado, los sistemas operativos modernos necesitan una referencia estándar de codificación de caracteres, y los sistemas Linux no son la excepción. Como las computadoras sólo pueden tratar con números, un caracter de texto no es más que un número asociado a un símbolo gráfico. Distintas plataformas informáticas pueden asociar valores numéricos distintos al mismo caracter, por lo que se necesita una norma de codificación de caracteres común para que sean compatibles. Un documento de texto creado en un sistema sólo será legible en otro sistema si ambos coinciden en el formato de codificación y en qué número se asocia a qué carácter, o al menos si saben cómo convertirlo entre las dos normas.

La naturaleza heterogénea de los ajustes de localización en los sistemas basados en Linux da lugar a sutiles diferencias entre las distribuciones. A pesar de estas diferencias, todas las distribuciones comparten las mismas herramientas y conceptos básicos para configurar los aspectos de internacionalización de un sistema.

Zonas horarias

Las zonas horarias son bandas discretas de la superficie de la Tierra que abarcan el equivalente a una hora, es decir, regiones del mundo que experimentan la misma hora del día en un momento dado. Como no hay una sola longitud que pueda considerarse como el comienzo del día para todo el mundo, las zonas horarias son relativas al meridiano principal, donde el ángulo de longitud de la Tierra se define como 0. La hora en el meridiano principal se denomina Hora Universal Coordinada, por convención abreviada como UTC. Por razones prácticas, los husos horarios no siguen la distancia longitudinal exacta del punto de referencia (el meridiano principal). En su lugar, los husos horarios se adaptan artificialmente para seguir las fronteras de los países u otras subdivisiones importantes.

Las subdivisiones políticas son tan relevantes que las zonas horarias reciben el nombre de algún agente geográfico importante de esa zona en particular, normalmente basado en el nombre de un gran país o ciudad dentro de la zona. Sin embargo, los husos horarios se dividen según su desfase horario en relación con el UTC y este desfase también puede utilizarse para indicar la zona en cuestión. La zona horaria GMT-5, por ejemplo, indica una región cuya hora UTC está cinco horas adelantada, es decir, esa región está cinco horas atrasada respecto de la UTC. Asimismo, el huso horario GMT+3 indica una región para la cual la hora UTC está tres horas por detrás. El término GMT - de Greenwich Mean Time - se utiliza como sinónimo de UTC en los nombres de las zonas basadas en la compensación.

Se puede acceder a una máquina conectada desde diferentes partes del mundo, por lo que es una buena práctica ajustar el reloj del hardware a UTC (la zona horaria GMT+0) y dejar la elección de la zona horaria a cada caso particular. Los servicios en la nube, por ejemplo, se configuran comúnmente para usar UTC, ya que puede ayudar a mitigar las inconsistencias ocasionales entre la hora local y la hora de los clientes o en otros servidores. Por el contrario, los usuarios que abren una sesión remota en el servidor pueden querer utilizar su zona horaria local. Por lo tanto, dependerá del sistema operativo establecer la zona horaria correcta según cada caso.

Además de la fecha y la hora actuales, el comando date también imprimirá la zona horaria actualmente configurada:

$ date
Mon Oct 21 10:45:21 -03 2019

El desplazamiento relativo al UTC viene dado por el valor -03, lo que significa que la hora mostrada tiene 3 horas de retraso con respecto a UTC. Por lo tanto, la hora UTC está tres horas por delante, haciendo que GMT-3 sea el huso horario correspondiente a la hora dada. El comando timedatectl, que está disponible en las distribuciones que utilizan systemd, muestra más detalles sobre la hora y la fecha del sistema:

$ timedatectl
                      Local time: Sat 2019-10-19 17:53:18 -03
                  Universal time: Sat 2019-10-19 20:53:18 UTC
                        RTC time: Sat 2019-10-19 20:53:18
                       Time zone: America/Sao_Paulo (-03, -0300)
       System clock synchronized: yes
systemd-timesyncd.service active: yes
                 RTC in local TZ: no

Como se muestra en la entrada Time zone, los nombres de las zonas horarias basados en localidades - como America/Sao_Paulo - también se aceptan. La zona horaria por defecto del sistema se mantiene en el archivo /etc/timezone, ya sea por el nombre descriptivo completo de la zona o por la diferencia de horas. Los nombres genéricos de la zona horaria dados por la diferencia de horas UTC deben incluir Etc como la primera parte del nombre. Así que para fijar la zona horaria por defecto en GMT+3, el nombre de la zona horaria debe ser Etc/GMT+3:

$ cat /etc/timezone
Etc/GMT+3

Aunque los nombres de las zonas horarias basados en las localidades no requieren el desplazamiento de la hora para funcionar, no es tan sencillo elegirlos. La misma zona puede tener más de un nombre, lo que puede ser difícil de recordar. Para facilitar esto, el comando tzselect ofrece un método interactivo que guiará al usuario hacia la definición correcta de la zona horaria. El comando tzselect debería estar disponible por defecto en todas las distribuciones de Linux, ya que lo proporciona el paquete que contiene los programas de utilidades necesarios relacionados con la Biblioteca C de GNU.

El comando tzselect será útil, por ejemplo, para un usuario que quiera identificar la zona horaria de “São Paulo City” en “Brazil”. El comando tzselect comienza preguntando por la macro región de la ubicación deseada:

$ tzselect
Please identify a location so that time zone rules can be set correctly.
Please select a continent, ocean, "coord", or "TZ".
 1) Africa
 2) Americas
 3) Antarctica
 4) Asia
 5) Atlantic Ocean
 6) Australia
 7) Europe
 8) Indian Ocean
 9) Pacific Ocean
10) coord - I want to use geographical coordinates.
11) TZ - I want to specify the time zone using the Posix TZ format.
#? 2

La opción 2 es para las regiones de América (Norte y Sur), no necesariamente en la misma zona horaria. También es posible especificar el huso horario con coordenadas geográficas o con la notación de desplazamiento, también conocido como el formato Posix TZ format. El siguiente paso es elegir el país:

Please select a country whose clocks agree with yours.
 1) Anguilla              19) Dominican Republic    37) Peru
 2) Antigua & Barbuda     20) Ecuador               38) Puerto Rico
 3) Argentina             21) El Salvador           39) St Barthelemy
 4) Aruba                 22) French Guiana         40) St Kitts & Nevis
 5) Bahamas               23) Greenland             41) St Lucia
 6) Barbados              24) Grenada               42) St Maarten (Dutch)
 7) Belize                25) Guadeloupe            43) St Martin (French)
 8) Bolivia               26) Guatemala             44) St Pierre & Miquelon
 9) Brazil                27) Guyana                45) St Vincent
10) Canada                28) Haiti                 46) Suriname
11) Caribbean NL          29) Honduras              47) Trinidad & Tobago
12) Cayman Islands        30) Jamaica               48) Turks & Caicos Is
13) Chile                 31) Martinique            49) United States
14) Colombia              32) Mexico                50) Uruguay
15) Costa Rica            33) Montserrat            51) Venezuela
16) Cuba                  34) Nicaragua             52) Virgin Islands (UK)
17) Curaçao               35) Panama                53) Virgin Islands (US)
18) Dominica              36) Paraguay
#? 9

El territorio de Brasil abarca cuatro zonas horarias, por lo que la información del país por sí sola no es suficiente para establecer la zona horaria. En el siguiente paso, el comando tzselect requerirá que el usuario especifique la región local:

Please select one of the following time zone regions.
 1) Atlantic islands
 2) Pará (east); Amapá
 3) Brazil (northeast: MA, PI, CE, RN, PB)
 4) Pernambuco
 5) Tocantins
 6) Alagoas, Sergipe
 7) Bahia
 8) Brazil (southeast: GO, DF, MG, ES, RJ, SP, PR, SC, RS)
 9) Mato Grosso do Sul
10) Mato Grosso
11) Pará (west)
12) Rondônia
13) Roraima
14) Amazonas (east)
15) Amazonas (west)
16) Acre
#? 8

No están disponibles todos los nombres de las localidades, pero elegir la región más cercana será suficiente. La información dada será utilizada por tzselect para mostrar la zona horaria correspondiente:

Se ha dado la siguiente información:

        Brazil
        Brazil (southeast: GO, DF, MG, ES, RJ, SP, PR, SC, RS)

Therefore TZ='America/Sao_Paulo' will be used.
Selected time is now:   sex out 18 18:47:07 -03 2019.
Universal Time is now:  sex out 18 21:47:07 UTC 2019.
Is the above information OK?
1) Yes
2) No
#? 1

You can make this change permanent for yourself by appending the line
        TZ='America/Sao_Paulo'; export TZ
to the file '.profile' in your home directory; then log out and log in again.

Here is that TZ value again, this time on standard output so that you
can use the /usr/bin/tzselect command in shell scripts:
America/Sao_Paulo

El nombre de la zona horaria resultante, America/Sao_Paulo, también puede ser usado como el contenido del fichero /etc/timezone para informar la zona horaria por defecto del sistema:

$ cat /etc/timezone
America/Sao_Paulo

Como se indica en la salida de tzselect, la variable de entorno TZ define la zona horaria de la sesión de shell, sea cual sea la zona horaria (por defecto) del sistema. Añadiendo la línea TZ='America/Sao_Paulo'; export TZ al archivo ~/.profile hará que America/Sao_Paulo sea la zona horaria para las futuras sesiones del usuario. La variable TZ también puede ser modificada temporalmente durante la sesión actual, para mostrar la hora en una zona horaria diferente:

$ env TZ='Africa/Cairo' date
Mon Oct 21 15:45:21 EET 2019

En el ejemplo, env ejecutará el comando dado en una nueva sesión de sub-shell con las mismas variables de entorno de la sesión actual, excepto la variable TZ, modificado por el argumento TZ='Africa/Cairo'.

Horario de verano (Daylight Saving Time)

Muchas regiones adoptan un horario de ahorro de luz diurna (Daylight Saving Time) durante una parte del año — cuando los relojes se ajustan típicamente por una hora — que podría llevar a un sistema mal configurado a reportar la hora equivocada durante esa estación del año.

El archivo /etc/localtime contiene los datos utilizados por el sistema operativo para ajustar su hora en consecuencia. Los sistemas estándares de Linux tienen archivos para todas las zonas horarias en el directorio /usr/share/zoneinfo/, así que /etc/localtime es sólo un enlace simbólico al archivo de datos reales dentro de ese directorio. Los archivos en /usr/share/zoneinfo/ están organizados por el nombre de la zona horaria correspondiente, así que el archivo de datos para la zona horaria America/Sao_Paulo será /usr/share/zoneinfo/America/Sao_Paulo

Como las definiciones para el horario de verano pueden cambiar, es importante mantener actualizados los archivos en /usr/share/zoneinfo/. El comando de actualización de la herramienta de gestión de paquetes que proporciona la distribución debería actualizarlos cada vez que haya una nueva versión disponible.

Lenguaje y codificación de caracteres

Los sistemas Linux pueden trabajar con una amplia variedad de lenguajes y codificaciones de caracteres no occidentales, definiciones conocidas como locales. La configuración de locale más básica es la definición de la variable de entorno LANG, a partir de la cual la mayoría de los programas de shell identifican el lenguaje a utilizar.

El contenido de la variable LANG sigue el formato ab_CD, donde ab es el código del idioma y CD es el código de la región. El código del idioma debe seguir la norma ISO-639 y el código de la región debe seguir la norma ISO-3166. Un sistema configurado para usar portugués brasileño, por ejemplo, debe tener la variable LANG definida como pt_BR.UTF-8:

$ echo $LANG
pt_BR.UTF-8

Como se ve en el ejemplo anterior, la variable LANG también contiene la codificación de caracteres prevista para el sistema. ASCII, abreviatura de American Standard Code for Information Interchange, fue la primera norma de codificación de caracteres ampliamente utilizada para la comunicación electrónica. Sin embargo, ASCII tiene un rango muy limitado de valores numéricos disponibles y dado que se basa en el alfabeto inglés, no contiene caracteres utilizados por otros idiomas o un conjunto ampliado de símbolos no alfabéticos. La codificación UTF-8 es una Norma de Unicode para los caracteres occidentales ordinarios, además de muchos otros símbolos no convencionales. Como ha señalado el Consorcio del Unicode, que mantiene el Estándar del Unicode, debe adoptarse por defecto para garantizar la compatibilidad entre las plataformas informáticas:

El Estándar Unicode proporciona un número único para cada caracter, sin importar la plataforma, el dispositivo, la aplicación o el idioma. Ha sido adoptado por todos los proveedores de software moderno y ahora permite que los datos sean transportados a través de muchas plataformas, dispositivos y aplicaciones diferentes sin corrupción. El soporte de Unicode constituye la base para la representación de idiomas y símbolos en todos los sistemas operativos principales, motores de búsqueda, navegadores, ordenadores portátiles y teléfonos inteligentes, además de Internet y la World Wide Web (URL, HTML, XML, CSS, JSON, etc.). (…​) el estándar Unicode y la disponibilidad de herramientas que lo respaldan se encuentran entre las tendencias mundiales más importantes de la tecnología de software.

— El Consorcio Unicode
¿Qué es Unicode?

Algunos sistemas todavía pueden usar los estándares definidos por la ISO — como el estándar ISO-8859-1 — para la codificación de caracteres no ASCII. Sin embargo, tales estándares de codificación de caracteres deberían ser desaprobados en favor de los estándares de codificación de Unicode. No obstante, todos los principales sistemas operativos tienden a adoptar dicho estándar por defecto.

Los ajustes de localización del sistema están configurados en el archivo /etc/locale.conf. La variable LANG y otras variables relacionadas con la localización se asignan en este archivo como una variable de shell ordinaria, por ejemplo:

$ cat /etc/locale.conf
LANG=pt_BR.UTF-8

Los usuarios pueden usar una configuración de locale personalizada redefiniendo la variable de entorno LANG. Puede hacerse sólo para la sesión actual o para futuras sesiones, añadiendo la nueva definición al perfil del usuario en Bash, ~/.bash_profile o ~/.profile. Sin embargo, hasta que el usuario inicie la sesión, la localización del sistema por defecto seguirá siendo utilizada por programas independientes del usuario, como la pantalla de inicio de sesión del administrador de pantalla.

Tip

El comando localectl disponible en los sistemas que emplean systemd como gestor del sistema, también puede ser usado para consultar y cambiar el locale del sistema. Por ejemplo: localectl set-locale LANG=es_ES.UTF-8.

Además de la variable LANG, otras variables de entorno afectan aspectos específicos de la región, como el símbolo de la moneda a utilizar o el separador correcto de miles para los números:

LC_COLLATE

Establece el orden alfabético. Uno de sus propósitos es definir el orden en que los archivos y directorios son listados.

LC_CTYPE

Establece cómo el sistema tratará ciertos conjuntos de caracteres. Define, por ejemplo, qué caracteres considera como mayúsculas o minúsculas.

LC_MESSAGES

Establece el lenguaje a mostrar para los mensajes del programa (en su mayoría programas GNU).

LC_MONETARY

Establece la unidad monetaria y el formato de la moneda.

LC_NUMERIC

Establece el formato numérico para los valores no monetarios. Su principal propósito es definir los separadores de miles y decimales.

LC_TIME

Establece el formato de la hora y la fecha.

LC_PAPER

Establece el tamaño de papel estándar.

LC_ALL

Anula todas las demás variables, incluyendo LANG.

El comando locale mostrará todas las variables definidas en la configuración de locale actual:

$ locale
LANG=pt_BR.UTF-8
LC_CTYPE="pt_BR.UTF-8"
LC_NUMERIC=pt_BR.UTF-8
LC_TIME=pt_BR.UTF-8
LC_COLLATE="pt_BR.UTF-8"
LC_MONETARY=pt_BR.UTF-8
LC_MESSAGES="pt_BR.UTF-8"
LC_PAPER=pt_BR.UTF-8
LC_NAME=pt_BR.UTF-8
LC_ADDRESS=pt_BR.UTF-8
LC_TELEPHONE=pt_BR.UTF-8
LC_MEASUREMENT=pt_BR.UTF-8
LC_IDENTIFICATION=pt_BR.UTF-8
LC_ALL=

La única variable no definida es LC_ALL, que puede ser usada para anular temporalmente todos los ajustes de localización. El siguiente ejemplo muestra cómo el comando date  — ejecutándose en un sistema configurado con locale pt_BR.UTF-8 —  modificará su salida para cumplir con la nueva variable LC_ALL:

$ date
seg out 21 10:45:21 -03 2019
$ env LC_ALL=en_US.UTF-8 date
Mon Oct 21 10:45:21 -03 2019

La modificación de la variable LC_ALL hizo que las abreviaturas del día de la semana y del mes se mostraran en inglés americano (en_US). Sin embargo, no es obligatorio establecer la misma localidad para todas las variables. Es posible, por ejemplo, hacer que el lenguaje definido a pt_BR y el formato numérico (LC_NUMERIC) se establezca en el estándar americano.

Algunos ajustes de localización cambian la forma en que los programas tratan el orden alfabético y los formatos de los números. Mientras que los programas convencionales suelen estar preparados para elegir correctamente una localización común para estas situaciones, los guiones pueden comportarse de forma inesperada cuando intentan ordenar correctamente por orden alfabético una lista de elementos. Por esta razón, se recomienda establecer la variable de entorno LANG en la localización común C, como en LANG=C, para que el script produzca resultados inequívocos, independientemente de las definiciones de localización utilizadas en el sistema donde se ejecute. El locale C sólo realiza una simple comparación bytewise, por lo que también tendrá un mejor rendimiento que los otros.

Conversión de la codificación

El texto puede aparecer con caracteres ininteligibles cuando se muestra con una codificación de caracteres distinta del sistema en el que se creó el texto. El comando iconv puede ser usado para resolver este problema, convirtiendo el archivo de su codificación de caracteres original a la deseada. Por ejemplo, para convertir un archivo llamado "original.txt" de la codificación ISO-8859-1 al archivo llamado "converted.txt" usando la codificación UTF-8, se puede usar el siguiente comando:

$ iconv -f ISO-8859-1 -t UTF-8 original.txt > converted.txt

La opción -f ISO-8859-1 (o --from-code=ISO-8859-1) establece la codificación del archivo original y la opción -t UTF-8 (o --to-code=UTF-8) establece el del archivo convertido. Todas las codificaciones soportadas por el comando iconv se listan con el comando iconv -l o iconv --list. En lugar de usar la redirección de la salida, como en el ejemplo, también se puede usar la opción -o converted.txt o --output converted.txt.

Ejercicios guiados

  1. Basado en la siguiente salida del comando date, ¿cuál es la zona horaria del sistema en notación GMT?

    $ date
    Mon Oct 21 18:45:21 +05 2019

  2. ¿A qué archivo debe apuntar el enlace simbólico /etc/localtime para que Europa/Bruselas sea la hora local por defecto del sistema?


  3. Es posible que los caracteres de los archivos de texto no se representen correctamente en un sistema con una codificación de caracteres diferente de la utilizada en el documento de texto. ¿Cómo podría usarse iconv para convertir el archivo codificado WINDOWS-1252 old.txt en el archivo new.txt usando la codificación UTF-8?


Ejercicios de exploración

  1. ¿Qué comando hará que Pacific/Auckland sea la zona horaria por defecto para la sesión de shell actual?


  2. El comando uptime muestra, entre otras cosas, el promedio de carga del sistema en números fraccionarios. Utiliza la configuración actual de la región para decidir si el separador de decimales debe ser un punto o una coma. Si, por ejemplo, el locale actual está configurado como de_DE.UTF-8 (el locale estándar de Alemania), uptime utilizará una coma como separador. Sabiendo que en el idioma inglés americano el punto se usa como separador, ¿qué comando hará que uptime muestre las fracciones usando un punto en lugar de una coma para el resto de la sesión actual?


  3. El comando iconv reemplazará todos los caracteres fuera del conjunto con un signo de interrogación. Si se añade //TRANSLIT a la codificación de destino, los caracteres no representados en el conjunto de caracteres destino serán reemplazados (transliterados) por uno o más caracteres de aspecto similar. ¿Cómo podría usarse este método para convertir un archivo de texto UTF-8 llamado readme.txt a un archivo ASCII plano llamado ascii.txt?


Resumen

Esta lección cubre cómo configurar un sistema Linux para que funcione con idiomas y configuraciones de fecha y hora personalizados. También se tratan los conceptos y ajustes de codificación de caracteres, ya que son muy importantes para representar correctamente el contenido del texto. La lección abarca los siguientes temas:

  • ¿Cómo los sistemas Linux seleccionan el idioma para mostrar los mensajes del shell?

  • Entender cómo las zonas horarias afectan a la hora local.

  • Cómo identificar la zona horaria apropiada y modificar la configuración del sistema en consecuencia.

  • ¿Qué son las codificaciones de caracteres y cómo convertirlas?

Los comandos y procedimientos abordados fueron:

  • Variables de entorno relacionadas con la región, fecha y hora, como LC_ALL, LANG y TZ.

  • /etc/timezone

  • /etc/localtime

  • /usr/share/zoneinfo/

  • locale

  • tzselect

  • timedatectl

  • date

  • iconv

Respuestas a los ejercicios guiados

  1. Basado en la siguiente salida del comando date, ¿cuál es la zona horaria del sistema en notación GMT?

    $ date
    Mon Oct 21 18:45:21 +05 2019

    Es la zona horaria Etc/GMT+5.

  2. ¿A qué archivo debe apuntar el enlace simbólico /etc/localtime para que Europa/Bruselas sea la hora local por defecto del sistema?

    El enlace /etc/localtime debe apuntar a /usr/share/zoneinfo/Europe/Brussels.

  3. Es posible que los caracteres de los archivos de texto no se representen correctamente en un sistema con una codificación de caracteres diferente de la utilizada en el documento de texto. ¿Cómo podría usarse iconv para convertir el archivo codificado WINDOWS-1252 old.txt en el archivo new.txt usando la codificación UTF-8?

    El comando iconv -f WINDOWS-1252 -t UTF-8 -o new.txt old.txt realizará la conversión deseada.

Respuestas a los ejercicios de exploración

  1. ¿Qué comando hará que Pacific/Auckland sea la zona horaria por defecto para la sesión de shell actual?

    export TZ=Pacific/Auckland

  2. El comando uptime muestra, entre otras cosas, el promedio de carga del sistema en números fraccionarios. Utiliza la configuración actual de la región para decidir si el separador de decimales debe ser un punto o una coma. Si, por ejemplo, el locale actual está configurado como de_DE.UTF-8 (el locale estándar de Alemania), uptime utilizará una coma como separador. Sabiendo que en el idioma inglés americano el punto se usa como separador, ¿qué comando hará que uptime muestre las fracciones usando un punto en lugar de una coma para el resto de la sesión actual?

    El comando export LC_NUMERIC=en_US.UTF-8 o export LC_ALL=en_US.UTF-8.

  3. El comando iconv reemplazará todos los caracteres fuera del conjunto con un signo de interrogación. Si se añade //TRANSLIT a la codificación de destino, los caracteres no representados en el conjunto de caracteres destino serán reemplazados (transliterados) por uno o más caracteres de aspecto similar. ¿Cómo podría usarse este método para convertir un archivo de texto UTF-8 llamado readme.txt a un archivo ASCII plano llamado ascii.txt?

    El comando iconv -f UTF-8 -t ASCII//TRANSLIT -o ascii.txt readme.txt realizará la conversión deseada.

© 2020 Linux Professional Insitute Inc. Todos los derechos reservados. Visite el sitio web de Learning Materials: https://asir.sudo.es/docnux/learning.lpi.org
Este trabajo está registrado bajo la Licencia Internacional Creative Commons Attribution-NonCommercial-NoDerivatives 4.0

Siguiente lección

108.1 Mantener la hora del sistema (108.1 Lección 1)

Leer la próxima lección

© 2020 Linux Professional Insitute Inc. Todos los derechos reservados. Visite el sitio web de Learning Materials: https://asir.sudo.es/docnux/learning.lpi.org
Este trabajo está registrado bajo la Licencia Internacional Creative Commons Attribution-NonCommercial-NoDerivatives 4.0

LPI es una organización sin fines de lucro.

Linux Professional Institute (LPI) es la organización global de certificación y apoyo académico para profesionales de código abierto. Con más de 200,000 titulares de certificación, es el primer y más grande organismo de certificación no comercial del mundo para Linux y Open Source. LPI cuenta con profesionales certificados en más de 180 países, realiza exámenes en varios idiomas y tiene cientos de socios de capacitación.

Nuestro propósito es hacer que las oportunidades económicas y creativas estén disponibles para todos, haciendo que el conocimiento de código abierto y la certificación sea universalmente accesible.

  • LinkedIn
  • flogo-RGB-HEX-Blk-58 Facebook
  • Twitter
  • Contáctenos
  • Política de privacidad y cookies

¿Detecta un error o desea ayudar a mejorar esta página? Por favor háznoslo saber.

© Copyright 1999-2020 The Linux Professional Institute Inc. Todos los derechos reservados.