Rocky Linux / Cambiar el idioma y la configuración regional con localectl
En Rocky Linux, localectl permite consultar y cambiar la configuración regional predeterminada. Este artículo conserva el coreano como ejemplo: si falta esa configuración regional, instale glibc-langpack-ko, ejecute sudo localectl set-locale LANG=ko_KR.UTF-8 y compruebe el resultado en una sesión nueva. El paquete aporta datos regionales de la biblioteca GNU C; las traducciones de cada aplicación pueden requerir otros paquetes.
sudo dnf install glibc-langpack-ko
sudo localectl set-locale LANG=ko_KR.UTF-8
El locale afecta no solo el idioma de los mensajes, sino también las reglas de fecha, números, ordenamiento y codificación de caracteres. Si la consistencia de los registros del servidor y los resultados automatizados es importante, considere mantener C.UTF-8 o en_US.UTF-8 en lugar de cambiar necesariamente al coreano.
Verificar el idioma y el locale actuales
localectl status
locale
localectl status muestra el locale predeterminado del sistema y el mapa de teclado de la consola. locale muestra los valores aplicados en la sesión actual del shell, como LANG, LC_TIME y LC_MESSAGES.
Incluso si cambia la configuración del sistema, las variables de entorno anteriores pueden permanecer en las sesiones iniciadas previamente. Verifique los resultados de ambos comandos antes y después de realizar cambios.
Buscar locales disponibles
localectl list-locales
locale -a
Si no hay un locale correspondiente a ko_KR.UTF-8 en la lista, instale el paquete de idioma coreano.
sudo dnf install glibc-langpack-ko
Si necesita un locale en inglés, puede instalar glibc-langpack-en según su entorno. Verifique el nombre del paquete y su disponibilidad según la versión de Rocky Linux y los repositorios habilitados.
dnf info glibc-langpack-ko
dnf provides '*/ko_KR*'
Cambiar el idioma predeterminado del sistema
Cambiar a coreano
sudo localectl set-locale LANG=ko_KR.UTF-8
localectl administra la configuración de la configuración regional del sistema y, por lo general, se refleja en /etc/locale.conf. Las variables que se pueden usar en este archivo se pueden consultar en la documentación oficial de locale.conf de systemd.
Cambiar a inglés o a un entorno UTF-8 neutro
sudo localectl set-locale LANG=en_US.UTF-8
Si realiza la resolución de problemas y la búsqueda de registros basándose en mensajes en inglés, la configuración regional en inglés puede ser conveniente. Si el entorno instalado lo admite, C.UTF-8, que tiene poca dependencia del idioma, también se convierte en una opción para servidores automatizados.
Verificar la aplicación de los cambios
Verifíquelo cerrando sesión y volviendo a iniciar sesión, o abriendo una nueva sesión SSH.
localectl status
locale
printf '%s\n' "$LANG"
Generalmente, no es necesario reiniciar, pero los servicios que ya se están ejecutando pueden seguir utilizando el entorno de su inicio. Si el idioma del servicio es importante, verifique por separado la configuración del entorno systemd de ese servicio y luego reinícielo de manera segura.
Cambiar el idioma solo en la terminal actual
Para aplicarlo solo al shell actual y a sus procesos hijos sin cambiar la configuración del sistema, establezca las variables de entorno.
export LANG=ko_KR.UTF-8
Para aplicarlo a un solo comando, anteponga la variable como en el ejemplo siguiente. Esto cambia el valor predeterminado, pero una variable LC_ALL o una categoría LC_* ya definida puede prevalecer.
LANG=C.UTF-8 dnf info bash
Este método desaparece al cerrar el shell actual. Si necesita que el formato de salida y el orden de clasificación sean consistentes en un script, es seguro especificar la configuración regional necesaria dentro del script.
Prioridad de LANG y LC_*
| Variable | Rol | Precauciones |
|---|---|---|
LANG |
Configuración regional predeterminada utilizada cuando no se especifica un elemento individual | Para la mayoría de los cambios de idioma del sistema, este valor es suficiente. |
LC_MESSAGES |
Lenguaje de mensajes del programa | Puede cambiar solo los mensajes manteniendo otros formatos de fecha y número. |
LC_TIME |
Expresiones de fecha y hora | Si los registros o scripts analizan fechas localizadas, pueden ocurrir errores. |
LC_ALL |
Sobrescribe todas las demás variables de localización | Útil para diagnósticos temporales; no se admite en /etc/locale.conf. |
Si LC_ALL está configurado, cambiar LANG puede no producir un resultado diferente.
env | grep -E '^(LANG|LC_)'
Aspectos a verificar cuando el coreano se muestre incorrectamente
- Verifique si el destino UTF-8 está en
locale -a. - Verifique que la codificación de caracteres del cliente SSH y del programa terminal sea UTF-8.
- Verifique si la fuente que utiliza contiene glifos coreanos.
- Verifique si la aplicación usa su propia configuración de idioma y codificación.
- Verifique si los archivos de script y los archivos de datos están realmente guardados en UTF-8.
El locale y la fuente son problemas diferentes. Incluso si el idioma del sistema es coreano, si la fuente del terminal no tiene caracteres coreanos, pueden aparecer como cuadrados.
Preguntas frecuentes
Ejecuté localectl pero el idioma actual del shell no cambia.
El shell existente mantiene las variables de entorno recibidas al iniciar sesión. Cierre sesión y vuelva a iniciar sesión o abra una nueva conexión SSH y verifíquelo en locale.
¿Es recomendable cambiar todo el servidor al coreano?
Depende del equipo de operaciones y de los estándares de automatización. Si necesita buscar mensajes de error en inglés y mantener la salida de los scripts consistente, el inglés o C.UTF-8 pueden ser más convenientes.
¿Se puede ejecutar actualmente un solo comando en inglés?
Anteponer LANG=C.UTF-8 COMANDO selecciona ese valor predeterminado para una sola ejecución si no hay variables de categoría que lo sobrescriban. Para forzar temporalmente todas las categorías, puede utilizar LC_ALL=C.UTF-8 COMANDO, siempre que el sistema admita esa configuración regional. Sustituya COMANDO por el programa y sus argumentos; consulte los nombres disponibles con locale -a.
¿El diseño del teclado también cambiará?
La configuración del locale de idioma y del mapa de teclado de la consola son ajustes separados. Revíselos individualmente en localectl status, y el diseño del teclado en terminales remotas SSH generalmente depende de la configuración del sistema operativo del cliente.
Resumen
Instalando el paquete de locale coreano y ejecutando localectl set-locale LANG=ko_KR.UTF-8, puede cambiar el idioma predeterminado de Rocky Linux. Verifique la aplicación en nuevas sesiones de inicio de sesión con localectl status y locale.
En servidores de producción, es seguro elegir el locale después de revisar no solo el idioma de los mensajes, sino también las reglas de fecha, números, ordenamiento y posibles efectos en la automatización.




