Ubuntu + LC_ALL unset : la configuration sur un conteneur (LXC)

Comment résoudre le problème LC_ALL non défini sur un conteneur Linux

La problématique de la variable LC_ALL non définie sous Ubuntu est récurrente et elle est problématique dans la configuration de certaines applications comme PostgreSQL.

Ce problème est encore moins résolu dans un conteneur LXC.

Solution

Reconfigurer les locales

On commence par générer les langues locales de notre choix :

locale-gen "en_US.UTF-8"

Et on les reconfigure :

dpkg-reconfigure locales

On désélectionne les langues qui ne nous intéressent pas et on sélectionne celles qui nous intéressent, par exemple en_US.UTF-8. Puis on valide.

Exporter les variables

Pour forcer les utilisateurs à utiliser la configuration définie, ajouter dans /etc/bash.profile :

export LC_ALL="en_US.UTF-8"
export LANG="en_US.UTF-8"
export LANGUAGE="en_US.UTF-8"

Enregistrer les modifications puis redémarrer le conteneur.

Il ne reste plus qu’à tester les locales du système:

locale