J'ai un problème avec une image Debian légèrement personnalisée sur laquelle j'essaie de travailler sans tête. Le problème est que la liste des locales installées a été réduite à ceci :
C
en_GB
en_GB.iso88591
en_GB.iso885915
en_GB.utf8
POSIX
Cependant, lorsque je me connecte en tant qu'utilisateur root (avec un profil identique à celui de l'utilisateur final), je trouve ceci :
~# set | grep LC_
LC_CTYPE=en_US.UTF-8
C'est la seule variable d'environnement LC_ définie, et cela signifie vraisemblablement qu'elle est explicitement définie quelque part (et étant donné que /etc/default/locale ne contient que LANG=en_GB, je ne vois pas d'autre alternative). Cependant, je ne vois pas où il est défini, et le fait qu'il soit incorrect empêche, par exemple, l'installation de postgresql-8.4. Je sais que je peux faire un
LC_CTYPE=en_GB apt-get install postgresql-8.4
de contourner ce problème, mais j'aimerais vraiment comprendre d'où vient ce paramètre, et je realmente Je n'aime pas l'idée d'installer une locale qui n'est pas nécessaire pour que cela disparaisse. Alors : d'où vient ce paramètre LC_CTYPE, et comment puis-je le faire disparaître ?
0 votes
Vérifier
/etc/environment
c'est l'endroit où il était placé auparavant. les autres options sont les suivantes/etc/bash.bashrc
y/etc/profile.d/something.sh
mais rien n'aurait dû installer automatiquement la variable dans ces fichiers.0 votes
Et tu as couru
locale-gen
n'est-ce pas ?0 votes
locale-gen
a été exécuté, il n'y a rien dans/etc/environment
(dossier vide). Je ne vois rien de pertinent dans/etc/bash.bashrc
et la seule chose en/etc/profile.d
esbash_completion.sh
qui, d'après un scan du globe oculaire et ungrep LC_
ne semble pas pertinent.0 votes
Essayez d'exécuter
bash --noprofile --norc
. si cela ne ramasse pas leLC_CTYPE
votre problème doit se trouver dans l'un de ces fichiers de démarrage.0 votes
Il n'est pas défini quand je lance
bash --login
oubash --noprofile --norc
. Je peux courirLC_CTYPE=FOO bash <whatever>
et LC_CTYPE est défini à FOO à l'intérieur du nouveau Shell dans les deux cas.0 votes
Dans ce cas, vous devez vérifier
/etc/profile
,~/.bash_profile
,~/.bash_login
y~/.profile
. Si l'un de ces fichiers qui existent source (. /usr/local/custom.sh
osource /usr/local/custom.sh
) d'autres fichiers, vérifiez-les aussi. VotreLC_CTYPE
est probablement en train de se dérouler dans l'un d'entre eux.0 votes
Aucun de ces éléments ne s'est avéré être le problème, c'était un peu plus subtil que ça. Voir ci-dessous pour ce que j'ai trouvé.