locale non trouvée / la configuration de la locale a échoué - que dois-je faire?


32

J'ai installé Debian 7 i386 sur mon VPS (OpenVZ). Tout fonctionne bien, sauf les paramètres régionaux. Toute tentative d'installation ne montre rien:

[...]
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
[...]

Ce que j'ai essayé

  1. Génération de paramètres locaux moi-même - update-locale LC_ALL="pl_PL.UTF-8"- montre: http://www.wklej.org/id/1248438/
  2. apt-get install --reinstall locales http://www.wklej.org/id/1248442/
  3. La même chose avec dpkg-reconfigure locales+ setting pl_PL.UTF-8, pl_PL.ISO-8859-2ou même en_US: http://www.wklej.org/id/1248446/
  4. export LC_ALL=pl_PL.UTF-8 (même sur la racine):

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

Voici ce qui montre locale:

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=

Rien d'intéressant trouvé dans / var / log. Même changer de dépôt en local officiel + de nettoyage et d’installation manuelle ne résout pas mon problème, qui se manifeste à chaque nouvelle installation de Debian 7.

Réponses:


22

Il semble qu'aucun environnement local n'est généré. Avez-vous sélectionné pl_PL.UTF-8correctement en dpkg-reconfigure localesappuyant spacesur la ligne correspondante?

Si oui, la ligne

pl_PL.UTF-8 UTF-8

in /etc/locale.genn'est pas commenté (= ne commence pas par #). Si vous devez résoudre ce problème, vous devez également exécuter locale-genpour générer les paramètres régionaux. Sa sortie devrait être:

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

Si les paramètres régionaux que vous souhaitez générer ne sont pas générés, il semble y avoir un problème avec votre système. Une des raisons pourrait être que vous avez localepurgeinstallé. S'il n'y a aucun fichier dans /usr/share/locale/pl/LC_MESSAGESou si /usr/share/locale/pl_PL/LC_MESSAGESc'est le cas ou si votre système est en panne.


1
Ça marche! La position sélectionnée dans /etc/locale.gen était toujours commentée, je ne sais pas pourquoi (oui, je me souviens de la barre d'espace) - peut-être que quelque chose ne va pas avec CHMOD. Merci!
luke_g

1
Notez que -plowc'est la valeur par défaut, donc peut être omis Il vous suffit d'appeler dpkg-reconfigure, ce qui appellera locale-gen après avoir coché l'entrée souhaitée.
Stéphane Chazelas le

@StephaneChazelas merci, je l'ai retiré de la réponse et clarifié l'utilisation de locale-gen.
Jofel

Une autre possibilité est que vous ayez configuré votre système, etc., pour en_US mais que votre /etc/locale.gencommentaire ne soit pas commenté en_GB. J'ai remarqué cette erreur dans ce fil ici unix.stackexchange.com/q/287716/16920 S'il vous plaît, ajoutez-le aussi à la stratégie de throubleshoot.
Léo Léopold Hertz 준영

12

première:

sudo apt-get purge locales

puis:

sudo aptitude install locales

et le célèbre:

sudo dpkg-reconfigure locales

Cela élimine le système de locales, puis réinstalle les locales et rétrograde libc6 de 2.19 à 2.13, ce qui est le problème. Puis configure à nouveau les paramètres régionaux.


Semble aider mais le prochain apt-get dist-upgradeva le casser à nouveau.
Ceving

Pourquoi le casserait-il? A ce stade, les environnements locaux ne devraient-ils pas être compatibles avec la libc6 utilisée? Ma libc6 a été modifiée pour utiliser un autre programme. Je l'ai rétrogradé à la version par défaut de libc6 afin que mon système fonctionne correctement. À ce stade, il devrait être très compatible avec apt-get dist-upgrade
tkjef

1
An a apt-get install localesinstallé les locales sur mon conteneur Debian Docker.
Stéphane

7

Le moyen rapide et facile (bien que cela signifie plus de disque utilisé que d’autres):

apt install locales-all

1

essayer de courir

locale -a

si tu as

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 solution à cette situation consiste à installer les paramètres régionaux du paquet (à partir du paquet glibc [1]) dans l'arborescence Debian ou dans glibc-all-langpacks CentOS / Fedora.

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


glibc-localepaquet n'existe pas dans Debian
Yajo

devrait être paquet locale ... corrigé
Sérgio
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.