¿Por qué aparece el mensaje "No se pudo establecer la configuración regional, por defecto en C" cuando uso yum?

21

Cada vez que corro yum installo yum updateme pongo

Error al establecer la configuración regional, por defecto a C

y luego otra información.

¿Cómo puedo evitar recibir esta advertencia?

Estallidos
fuente

Respuestas:

19

Puse la siguiente configuración regional relacionada con /etc/bashrc(para todos los usuarios bash):

export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_COLLATE=C
export LC_CTYPE=en_US.UTF-8

entonces corre:

source /etc/bashrc

o cierre sesión e inicie sesión.

Oh ho
fuente
2
Esto probablemente debería entrar /etc/profile.d/lang.shy no a lo /etc/bashrcque es probable que se sobrescriba con una actualización.
ccpizza
@ccpizza Puse esas líneas en la parte inferior lang.shy funcionó 👍.
Andrew Keeton
6

correr

yum reinstall glibc-common

y luego asegúrese de que ningún proceso esté eliminando los archivos /usr/lib/locale/locale-archive.*.

ZaSter
fuente
1
Intenté esto primero y me ayuda (no verifiqué el proceso)
chro
Esto no funciona para mi.
Angelo
3
En las distribuciones Linux más recientes basadas en Red Hat (Fedora 24+, RHEL 8+) esto será glibc-langpack-<language>, por ejemplo glibc-langpack-en.
Michael Hampton
En la imagen de Centos acoplable hay una errata: bugzilla.redhat.com/show_bug.cgi?id=1392855
Rowinson Gallego
2

Puedes probar

export LANG=en_US

O establecerlo en algo similar. Si eso resuelve el problema por usted, puede hacerlo persistente modificando el perfil bash.

OldWolf
fuente
Eso no funcionó para mí. Cualquier otra sugerencia
ctilley79
2

Estaba recibiendo el mismo error en MacOS. Cuando ssh a una caja de Linux, se niegan a configurar unUTF-8 regional. Puede ver las diferencias en la configuración regional ejecutando el localecomando en su terminal MacOS y cuadro de Linux.

Para corregir este error, abra terminal -> preferencias -> perfiles -> Avanzado y desarmado Set locale environment variables on startupen su mac.

Ahora cuando corres locale en mac. puede ver que este cambio se ha configurado LC_CTYPE="C"como LC_CTYPE="UTF-8"en la configuración anterior.

Tendrá que cerrar su terminal para tener este efecto y ahora iniciar sesión en su Linux Box y ejecutar yum update.

Espero eso ayude :)

Tarun Vashisth
fuente
2

Si usó SSH para conectarse a este host desde una máquina de escritorio, es común /etc/ssh/sshd_configque contenga

AcceptEnv LANG LC_*

que permite a los clientes propagar los valores de esas variables de entorno en nuevas sesiones. Sin embargo, esto hará que las variables de configuración regional se vuelvan a vaciar dentro de su sesión SSH en el servidor que está configurando, si la configuración regional no se configura primero correctamente en su MÁQUINA DE ESCRITORIO .

Arreglar:

Por ejemplo, en la ventana de Windows 10 Ubuntu Shell, primero haga ( NOTA: cambie todas las entradas a continuación para que coincidan con su configuración regional si no es "en_US.UTF-8" ):

sudo locale-gen en_US.UTF-8
sudo dpkg-reconfigure locales

Luego cierre la ventana de shell de Ubuntu y vuelva a abrir, y luego SSH en el servidor que está tratando de configurar y vea si todo está bien ...

Si no, entonces SSH en su servidor y haga:

vi /etc/profile.d/custom.lang.sh

Luego presione Ipara ingresar al modo "insertar". Luego pegue las siguientes entradas. Luego ZZpara guardar y salir:

## US English ##
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
export LC_CTYPE=en_US.UTF-8

Luego ejecute lo siguiente:

source /etc/profile.d/lang.sh
source /etc/profile.d/custom.lang.sh

Luego:

reboot

¡Mira si eso hace que todo deje de quejarse de las variables locales!

FirstFraktal
fuente