Problème récurrent

Régulièrement, et notamment en exécutant aptitude, un message d’erreur, annonçant un problème de configuration de locales s’affichait sur la console.


perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
	LANGUAGE = (unset),
	LC_ALL = (unset),
	LANG = "fr_FR"
    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 message d’erreur est apparu suite à une installation groupée de plusieurs paquets et applications. Du coup, je me suis retrouvé incapable de savoir quelle installation avait généré ce problème.

Lorsque je vérifie les locales, je constate qu’il y a effectivement un défaut.


server:~$ 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=fr_FR
LANGUAGE=
LC_CTYPE="fr_FR"
LC_NUMERIC="fr_FR"
LC_TIME="fr_FR"
LC_COLLATE="fr_FR"
LC_MONETARY="fr_FR"
LC_MESSAGES="fr_FR"
LC_PAPER="fr_FR"
LC_NAME="fr_FR"
LC_ADDRESS="fr_FR"
LC_TELEPHONE="fr_FR"
LC_MEASUREMENT="fr_FR"
LC_IDENTIFICATION="fr_FR"
LC_ALL=

La reconfiguration des locales ne m’as pas permis de régler le problème.


server:~/Bureau/Post Install/V228$ sudo dpkg-reconfigure locales
Generating locales...
  en_AG.UTF-8... up-to-date
  en_AU.UTF-8... up-to-date
  en_BW.UTF-8... up-to-date
  en_CA.UTF-8... up-to-date
  en_DK.UTF-8... up-to-date
  en_GB.UTF-8... up-to-date
  en_HK.UTF-8... up-to-date
  en_IE.UTF-8... up-to-date
  en_IN.UTF-8... up-to-date
  en_NG.UTF-8... up-to-date
  en_NZ.UTF-8... up-to-date
  en_PH.UTF-8... up-to-date
  en_SG.UTF-8... up-to-date
  en_US.UTF-8... up-to-date
  en_ZA.UTF-8... up-to-date
  en_ZW.UTF-8... up-to-date
  fr_BE.UTF-8... up-to-date
  fr_CA.UTF-8... up-to-date
  fr_CH.UTF-8... up-to-date
  fr_FR.UTF-8... up-to-date
  fr_LU.UTF-8... up-to-date
Generation complete.

Résolution temporaire

Dans un premier temps, la commande suivante a permis de régler le problème :


export LC_ALL=fr_FR.UTF-8

Jusqu’à ce que je me rende compte qu’au redémarrage de l’ordinateur, j’avais à nouveau le même problème… Rageant…


Nouvelle résolution

J’ai tenté la réinstallation du pack de langage Français.


sudo apt-get install --reinstall language-pack-fr

Il m’avait semblé que cette fois c’était la bonne. Et au redémarrage de l’ordinateur, j’avais toujours ce problème de locales !!! Doublement rageant !


Résolution permanente

C’est sur un forum anglophone dédié à Debian que j’ai trouvé ce qui semble être la bonne méthode.


Server:/usr/lib/locale$ sudo locale-gen fr_FR
Generating locales...
  fr_FR.ISO-8859-1... done
Generation complete.

Et cette fois la commande locale m’affiche une configuration correcte, toujours présente au reboot de l’ordinateur.


server:/usr/lib/locale$ locale
LANG=fr_FR
LANGUAGE=
LC_CTYPE="fr_FR"
LC_NUMERIC="fr_FR"
LC_TIME="fr_FR"
LC_COLLATE="fr_FR"
LC_MONETARY="fr_FR"
LC_MESSAGES="fr_FR"
LC_PAPER="fr_FR"
LC_NAME="fr_FR"
LC_ADDRESS="fr_FR"
LC_TELEPHONE="fr_FR"
LC_MEASUREMENT="fr_FR"
LC_IDENTIFICATION="fr_FR"
LC_ALL=

J’ai indiqué sur l’article les principales opérations que j’avais testé, car cela pourra toujours servir à quelqu’un d’autre et résoudre de façon définitive son problème.