Saltar para o conteúdo
102 · LPIC-1 (parte 2)

107.3 Localização e internacionalização

TópicoT08ObjetivoGerir a localização e internacionalização do sistemaPeso2PáginasLPIC-1 (102) - Version 5.0

Resumo Conciso

Fusos horários

Comando/FicheiroFunção
dateExibe data/hora e deslocamento UTC (ex: -03)
timedatectlMostra hora local, UTC, RTC, fuso horário e sync NTP
tzselectAssistente interativo para selecionar fuso horário
/etc/timezoneFuso horário padrão do sistema (ex: America/Sao_Paulo)
/etc/localtimeLink simbólico para /usr/share/zoneinfo/<zona>
/usr/share/zoneinfo/Dados de todos os fusos horários
TZVariável de ambiente que sobrepõe o fuso horário da sessão

Notas:

  • Recomenda-se definir o relógio de hardware em UTC e o fuso horário via software.
  • Nomes genéricos usam Etc/GMT+N (ex: Etc/GMT+3 para UTC-3).
  • Para mudança temporária: env TZ='Africa/Cairo' date
  • Para permanente: adicionar TZ='...' a ~/.profile ou /etc/environment

Localização (Locale)

Variáveis de ambiente de localidade

VariávelFunção
LANGLocalidade padrão (ex: pt_BR.UTF-8)
LC_ALLSobrepõe todas as outras variáveis LC
LC_COLLATEOrdem alfabética (listagens de ficheiros)
LC_CTYPETratamento de caracteres (maiúsculas/minúsculas)
LC_MESSAGESIdioma das mensagens de programas GNU
LC_MONETARYFormato de moeda
LC_NUMERICSeparadores decimais e milhar
LC_TIMEFormato de data e hora
LC_PAPERTamanho do papel

Ficheiros de configuração

FicheiroFunção
/etc/locale.confLocalidade padrão do sistema (ex: LANG=pt_BR.UTF-8)
~/.bash_profile / ~/.profileLocalidade personalizada do utilizador

Comandos

ComandoFunção
localeMostra todas as variáveis de localidade definidas
localectl set-locale LANG=...Altera a localidade do sistema (systemd)

Codificação de caracteres

PadrãoDescrição
ASCII127 caracteres, baseado no inglês — limitado
ISO-8859-1Extensão do ASCII para ocidentais — preterido
UTF-8Padrão Unicode recomendado — compatível com ASCII
UnicodePadrão universal — atribui número único a cada caractere
ComandoFunção
iconv -f <origem> -t <destino> <ficheiro>Converter codificação de caracteres
iconv -lListar codificações suportadas
//TRANSLITTransliteração para caracteres sem equivalente no destino

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

Dica importante para scripts

  • Definir LANG=C em scripts garante ordenação por byte (previsível e mais rápido).

Exercícios Exploratórios

Exercício Exploratório 1 — Alterar fuso horário da sessão

Enunciado: Qual comando torna Pacific/Auckland o fuso horário da sessão atual?

bash
export TZ=Pacific/Aucklanddate

A variável TZ sobrepõe o fuso horário do sistema apenas para a sessão em curso.

Exercício Exploratório 2 — Separador decimal com uptime

Enunciado: O uptime usa , como separador decimal com de_DE.UTF-8. Como forçar o uso de .?

bash
export LC_NUMERIC=en_US.UTF-8# ouexport LC_ALL=en_US.UTF-8uptime

Basta alterar LC_NUMERIC ou LC_ALL para a localidade americana.

Exercício Exploratório 3 — Transliteração com iconv

Enunciado: Converter readme.txt (UTF-8) para ASCII simples com transliteração.

bash
iconv -f UTF-8 -t ASCII//TRANSLIT -o ascii.txt readme.txt

//TRANSLIT substitui caracteres não-ASCII por equivalentes aproximados (ex: ãa, ée).

Exercício Exploratório 4 — Listar variáveis de localidade

Enunciado: Consulte a localidade atual e altere-a temporariamente para en_US.UTF-8.

bash
locale# LANG=pt_BR.UTF-8# ...env LC_ALL=en_US.UTF-8 locale# LANG=en_US.UTF-8# ...

LC_ALL sobrepõe todas as outras variáveis para o comando seguinte.