configuración regional no encontrada / configuración regional fallida: ¿qué debo hacer?

32

He instalado Debian 7 i386 en mi VPS (OpenVZ). Todo funciona bien, excepto las configuraciones regionales: cualquier intento de instalar algo muestra:

[...]
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LANG = "pl_PL.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
[...]

Lo que he intentado:

  1. Generando locales yo mismo - update-locale LC_ALL="pl_PL.UTF-8"- muestra: http://www.wklej.org/id/1248438/
  2. apt-get install --reinstall locales http://www.wklej.org/id/1248442/
  3. Lo mismo con la dpkg-reconfigure localesconfiguración + pl_PL.UTF-8, pl_PL.ISO-8859-2o incluso en_US: http://www.wklej.org/id/1248446/
  4. export LC_ALL=pl_PL.UTF-8 (incluso en la raíz):

    -bash: warning: setlocale: LC_ALL: cannot change locale (pl_PL.UTF-8)
    

Esto es lo que muestra la configuración regional:

root:~# locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=pl_PL.UTF-8
LANGUAGE=
LC_CTYPE="pl_PL.UTF-8"
LC_NUMERIC="pl_PL.UTF-8"
LC_TIME="pl_PL.UTF-8"
LC_COLLATE="pl_PL.UTF-8"
LC_MONETARY="pl_PL.UTF-8"
LC_MESSAGES="pl_PL.UTF-8"
LC_PAPER="pl_PL.UTF-8"
LC_NAME="pl_PL.UTF-8"
LC_ADDRESS="pl_PL.UTF-8"
LC_TELEPHONE="pl_PL.UTF-8"
LC_MEASUREMENT="pl_PL.UTF-8"
LC_IDENTIFICATION="pl_PL.UTF-8"
LC_ALL=

No se encontró nada interesante en / var / log. Incluso cambiar el repositorio a las configuraciones locales oficiales de purga + y de instalación manual no resuelve mi problema, que se manifiesta en cada nueva instalación de Debian 7.

luke_g
fuente

Respuestas:

22

Parece que no se genera un entorno local. ¿Ha seleccionado pl_PL.UTF-8correctamente dpkg-reconfigure localespresionando spaceen la línea correspondiente?

Si es así, la línea

pl_PL.UTF-8 UTF-8

en el /etc/locale.genque no se comenta (= no comienza con #). Si necesita solucionar esto, también debe ejecutar locale-genpara generar las configuraciones regionales. Su salida debe ser:

Generating locales (this might take a while)...
   pl_PL.UTF-8... done
Generation complete.

Si no genera las configuraciones regionales que desea generar, parece que hay algún problema con su sistema. Una razón podría ser que lo haya localepurgeinstalado. Si no hay archivos /usr/share/locale/pl/LC_MESSAGESo /usr/share/locale/pl_PL/LC_MESSAGESeste es el caso o su sistema está dañado.

jofel
fuente
1
¡Funciona! La posición seleccionada en /etc/locale.gen todavía se comentó, no sé por qué (sí, recuerdo la barra espaciadora), tal vez algo está mal con CHMOD. ¡Gracias!
luke_g
1
Tenga en cuenta que -plowes el valor predeterminado, por lo que puede omitirse. Solo necesita llamar dpkg-reconfigure, que llamará a locale-gen después de marcar la entrada que desea.
Stéphane Chazelas
@StephaneChazelas gracias, lo eliminé de la respuesta y aclaré el uso de locale-gen.
jofel
Otra posibilidad es si ha configurado su sistema, etc. para en_US pero /etc/locale.gensolo ha comentado en_GB. Noté este error en este hilo aquí unix.stackexchange.com/q/287716/16920 Por favor, agréguelo también a la estrategia de solución de problemas.
Léo Léopold Hertz 준영
12

primero:

sudo apt-get purge locales

luego:

sudo aptitude install locales

y el famoso:

sudo dpkg-reconfigure locales

Esto libera el sistema de configuraciones regionales, luego reinstala las configuraciones regionales y degrada libc6 de 2.19 a 2.13, que es el problema. Luego configura las configuraciones regionales nuevamente.

tkjef
fuente
Parece ayudar, pero el próximo apt-get dist-upgradelo romperá nuevamente.
ceving
¿Por qué lo rompería? En ese punto, ¿las configuraciones regionales no deberían ser compatibles con el libc6 que se está utilizando? Mi libc6 fue cambiado para usar algún otro programa. Lo bajé a la versión predeterminada de libc6 para que mi sistema funcione correctamente. En ese momento debería ser muy compatible con un apt-get dist-upgrade
tkjef
1
Una apt-get install localesinstalado los lugares en mi contenedor debian estibador.
Stephane
7

La forma rápida y fácil (aunque significará más disco usado que otros):

apt install locales-all
Yajo
fuente
1

intenta correr

locale -a

si tienes

locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory

La solución para esta situación es instalar los paquetes locales (del paquete glibc [1]) en Debian Flavour o Glibc-all-langpacks CentOS / Fedora

[1] https://tracker.debian.org/pkg/glibc

Sergio
fuente
glibc-localeel paquete no existe en Debian
Yajo
debe ser el paquete local ... arreglado
Sérgio