Rocky Linux / Como alterar o idioma e o locale do sistema
No Rocky Linux, use localectl para verificar ou alterar o idioma e o locale (conjunto de configurações regionais) de todo o sistema. Se o locale coreano não estiver disponível, instale glibc-langpack-ko, execute localectl set-locale LANG=ko_KR.UTF-8 e, em seguida, saia e inicie uma nova sessão de login.
sudo dnf install glibc-langpack-ko
sudo localectl set-locale LANG=ko_KR.UTF-8
Um locale controla mais do que mensagens traduzidas. Esse conjunto de configurações também pode afetar formatos de data e número, regras de ordenação e codificação de caracteres. Se logs consistentes e saída de automação forem mais importantes do que mensagens localizadas, considere manter C.UTF-8 ou en_US.UTF-8 em vez de alterar o servidor para coreano.
Verifique o idioma e o locale atuais
localectl status
locale
localectl status exibe o locale do sistema e o mapa de teclas do console. O comando locale mostra os valores realmente aplicados à sessão de shell atual, incluindo LANG, LC_TIME e LC_MESSAGES.
Uma sessão de login existente pode reter suas antigas variáveis de ambiente após a alteração da configuração do sistema. Verifique ambos os comandos ao confirmar se uma alteração entrou em vigor.
Consulte os locales disponíveis
localectl list-locales
locale -a
Se a lista não contiver o equivalente a ko_KR.UTF-8, instale o pacote de idioma coreano.
sudo dnf install glibc-langpack-ko
Para locales em inglês, instale glibc-langpack-en quando necessário. A disponibilidade de pacotes pode variar com a versão do Rocky Linux e os repositórios habilitados, então verifique o pacote antes de instalá-lo.
dnf info glibc-langpack-ko
dnf provides '*/ko_KR*'
Altere o idioma padrão do sistema
Defina o locale do sistema como coreano
sudo localectl set-locale LANG=ko_KR.UTF-8
localectl gerencia o locale do sistema e normalmente grava a configuração em /etc/locale.conf. As variáveis suportadas nesse arquivo estão documentadas no manual de locale.conf do systemd.
Use inglês ou um locale UTF-8 neutro
sudo localectl set-locale LANG=en_US.UTF-8
Um locale em inglês pode facilitar a solução de problemas quando a documentação e as buscas em logs usam mensagens de erro nesse idioma. Se o ambiente instalado oferecer suporte, o locale neutro de idioma C.UTF-8 também é útil para servidores de automação.
Verifique se a alteração está ativa
Saia e entre novamente, ou abra uma nova sessão SSH, antes de verificar o resultado.
localectl status
locale
printf '%s\n' "$LANG"
Normalmente, não é necessário reiniciar. No entanto, um serviço em execução pode manter o ambiente que recebeu ao iniciar. Se o locale de um serviço for importante, inspecione a configuração do ambiente do systemd e reinicie o serviço com segurança quando necessário.
Altere o idioma apenas para o terminal atual
Defina uma variável de ambiente para alterar o locale para o shell atual e seus processos filhos sem alterar todo o sistema.
export LANG=ko_KR.UTF-8
Para aplicar um locale a apenas um comando, coloque a atribuição da variável antes do comando.
LANG=C.UTF-8 dnf info bash
Essas alterações desaparecem quando o shell é encerrado. Se um script exigir mensagens, ordenação ou formatação previsíveis, defina o locale necessário explicitamente no script.
Entenda a precedência de LANG e LC_*
| Variável | Propósito | Consideração importante |
|---|---|---|
LANG |
Locale padrão quando uma variável específica de categoria não está definida | Este valor é suficiente para a maioria das alterações de idioma do sistema. |
LC_MESSAGES |
Idioma usado para mensagens do programa | Ele pode alterar mensagens enquanto preserva outros formatos de data e número. |
LC_TIME |
Representação de data e hora | Scripts podem falhar ao analisar a saída de data localizada. |
LC_ALL |
Tem precedência sobre todas as outras variáveis de locale | É útil para diagnósticos temporários. Não configure LC_ALL em /etc/locale.conf, que não aceita essa variável. |
Se LC_ALL estiver definido, alterar LANG pode não alterar o resultado.
env | grep -E '^(LANG|LC_)'
Corrija a exibição incorreta de caracteres coreanos
- Confirme que o locale UTF-8 necessário aparece em
locale -a. - Verifique se o cliente SSH e o emulador de terminal usam UTF-8.
- Certifique-se de que a fonte selecionada contém glifos coreanos.
- Verifique se o aplicativo possui sua própria configuração de idioma ou codificação.
- Verifique se scripts e arquivos de dados estão realmente salvos como UTF-8.
O suporte ao locale e o suporte da fonte são questões diferentes. Mesmo com um locale coreano no sistema, o texto coreano pode aparecer como caixas vazias se a fonte do terminal não tiver os glifos necessários.
Perguntas frequentes
Por que o idioma do shell atual não mudou após executar localectl?
Um shell existente mantém as variáveis de ambiente que recebeu ao fazer login. Faça logout e login novamente, ou inicie uma nova conexão SSH, e então verifique o resultado com locale.
Todo servidor deve usar um locale coreano no sistema?
Depende da equipe de operações e dos requisitos de automação. Um locale em inglês ou C.UTF-8 pode ser mais conveniente quando você procura mensagens de erro em inglês ou precisa de uma saída de script previsível.
Posso executar apenas um comando em inglês?
Sim. Prefixe o comando com uma atribuição de locale, como LANG=C.UTF-8 COMMAND. Use locale -a para confirmar os nomes exatos dos locales instalados no sistema.
Alterar o locale também altera o layout do teclado?
Não. O locale de idioma e o layout de teclado do console são configurações separadas. Verifique ambos em localectl status. O layout do teclado em um terminal SSH remoto normalmente é controlado pelo sistema operacional do cliente.
Resumo
Instale o pacote de idioma necessário e execute localectl set-locale LANG=ko_KR.UTF-8 para alterar o locale padrão do Rocky Linux para coreano. Verifique o resultado em uma nova sessão de login com localectl status e locale.
Em servidores de produção, escolha um locale somente após considerar o idioma das mensagens, formatos de data e número, regras de ordenação e comportamento de automação. A documentação da Red Hat sobre a configuração do locale do sistema descreve o procedimento subjacente usado pelos sistemas compatíveis com Rocky Linux.
