Je reçois ce message chaque fois que je fais quelque chose comme démarrer ou arrêter un service.
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "en_US:en",
LC_ALL = (unset),
LC_MESSAGES = "en_US.UTF-8",
LANG = "en_US.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
(Reading database ... 21173 files and directories currently installed.)
Removing bind9 ...
* Stopping domain name service... bind9 [ OK ]
Processing triggers for man-db ...
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
Comment puis-je corriger cette erreur?
command-line
server
locale
HackToHell
la source
la source
Réponses:
Première exécution
locale
pour répertorier les paramètres régionaux actuellement définis pour le compte d'utilisateur actuel:Générez ensuite les paramètres régionaux manquants et reconfigurez les paramètres régionaux pour en tenir compte:
Maintenant, vous ne verrez plus aucune erreur!
la source
en_GB
par défaut, mais vous le configurezen_US
. Vous devez commenter manuellementen_GB
et décommenteren_US
dans/etc/locale.gen
. Voir ma réponse à askubuntu.com/a/790373/25388 dans le matériel Raspberry Pi 3b et le système Raspbian Jessie.Rien suggéré ci-dessus n'a fonctionné dans mon cas (Ubuntu Server 12.04LTS). Ce qui a finalement aidé a été de mettre au dossier
/etc/environment
:Pour une raison quelconque, il manquait. Les sorties pour les paramètres régionaux et d’autres commandes sont apparues comme si les variables étaient correctement définies. En d'autres termes, ne tenez pas pour acquis que tous les éléments de base sont déclarés là où ils doivent être déclarés.
la source
/etc/default/locale
./etc/default/locale
et pas plus d'avertissements. Mercisudo sh -c "echo 'LC_ALL=en_US.UTF-8\nLANG=en_US.UTF-8' >> /etc/environment"
echo
doit être exécutée avec l'interprétation des échappements de barre oblique inverse activée. C'est le même que le vôtre, mais avec les corrections susmentionnées:sh -c "echo -e 'LANG=en_US.UTF-8\nLC_ALL=en_US.UTF-8' > /etc/default/locale"
Ils devraient disparaître après avoir émis:
dpkg-reconfigure
reconfigure les paquets après qu'ils ont déjà été installés. Transmettez-lui les noms d’un ou de plusieurs paquets à reconfigurer. Il posera des questions sur la configuration, un peu comme lors de la première installation du paquet.la source
en
,en_AU
,en_CA
,en_GB
sont présents par défaut , mais pasen_US
?dpkg-reconfigure
.makemessage
besoin de ça. Cela a fonctionné parfaitement! Merci.LC_ALL
était correctement définie.Ajoutez simplement ce qui suit à votre
.bashrc
fichier (en supposant que vous utilisez bash)la source
LC_ALL
je pourrais enfin utilisersudo dpkg-reconfigure locales
.Il s'agit d'un problème courant si vous vous connectez à distance. La solution consiste donc à ne pas transférer vos paramètres régionaux. Modifier
/etc/ssh/ssh_config
et commenter laSendEnv LANG LC_*
ligne.la source
/etc/ssh_config
sed -e '/SendEnv/ s/^#*/#/' -i /etc/ssh/ssh_config
(utile pour le provisionnement de serveur)Il y a une commande pour ça:
Il met
/etc/default/locale
à jour avec les valeurs fournies.la source
locale
ne montre toujours aucune valeur utf.locale-gen
est manquant. Avant, il faut faireapt-get install locales
.Ce qui a fonctionné pour moi le 12.10 était ceci:
C'était après
dpkg-reconfigure locales
produit aucun résultat.la source
chroot
sous Debian. Merci :)N'oubliez pas de quitter votre session SSH (ou votre X11) en le quittant et en vous reconnectant. Toutes ces suggestions ne fonctionnaient pas pour moi à moins que je ne me reconnecte ....
la source
Pour Ubuntu 12.10, rien de ce qui précède n’a fonctionné à l’exception de la solution de ratzs. Je recommande de l'ajouter à votre fichier /etc/bash.bashrc:
la source
J'étais coincé dans un état étrange où ma machine locale est configurée
es
et donc la machine distante (viavagrant
) avait été provisionnée dans un état non traité. Par conséquent, je devais utiliser le manuelexport=
uniquement pour faciliter le succèsdpkg-reconfigure
. Ensuite, le système va bien.la source
dpkg-recofigure
affichage mojibake.J'ai écrit un script bash pour résoudre le problème ci-dessus. Les réponses ci-dessus sont utiles, mais définir les variables de paramètres régionaux en exportant simplement les valeurs dans une variable shell ne fonctionnera que pour une session. J'ai définitivement résolu ce problème en exportant les variables de paramètres régionaux dans le fichier .bash_profile. Vous pouvez également utiliser le
/etc/profile
fichier au lieu de.bash_profile
.N'oubliez pas
source
le.bash_profile
et suivez le script dans une configuration facile.la source
Tu peux essayer:
où
ru_RU
est votre code de pays.la source
La réponse acceptée actuelle n'est pas suffisante dans la stratégie de dépannage, car vous pouvez avoir une erreur humaine. Vous avez configuré votre système sur
en_US
mais vous avezen_GB
activé dans/etc/locale.gen
comme ce que j'avais dans le fil ici pour Raspberry Pi 3b. Tous les paramètres régionaux utilisés doivent être activés dans/etc/locale.gen
.Je n'avais
en_GB.UTF-8 UTF-8
activé que dans/etc/locale.gen
. Je n'aurais dû y être activé queen_US.UTF-8 UTF-8
parce que d'autres commandes étaient exécutées. J'ai donc commenté GB et les États-Unis non commentés, et tout fonctionne maintenantMaintenant, je ne reçois pas ces erreurs de locale avec des commandes.
Système: Raspbian Jessie
Matériel: Raspberry Pi 3b
la source
Comme indiqué ici dans le wiki Debian , vous pouvez modifier
/etc/locale.gen
et ajouter tous les paramètres régionaux (ou les décommenter, j’avais une liste de tous les paramètres régionaux, à l’exception de celui que j’avais utilisé comme commentaires) pour laquelle vous souhaitez que votre système soit pris en charge. Ensuite, exécutezmettre à jour les paramètres régionaux sur votre système. Désormais, tous les paramètres régionaux que vous avez ajoutés / non commentés
/etc/locale.gen
sont disponibles sur votre système sans aucun avertissement.la source
Si vous utilisez l'environnement KDE, vérifiez le
setlocale.sh
fichier dans~/.kde/env/
:la source
Vous devrez peut-être
sudo dpkg-reconfigure
aussi exécuter l'application que vous avez installée alors que les paramètres régionaux ne sont pas valides / ne correspondent pas.Bien que les paramètres régionaux du système aient été configurés de manière incorrecte, j'ai installé
vim
. Plus tard, lorsque les paramètres régionaux du système ont été corrigés, j'ai constaté une situation quivim
affichait incorrectement les caractères utf-8 sous forme de symboles étrangesnano
etless
les affichait correctement. Fonctionnementsemblait résoudre le problème après la correction des paramètres système.
J'ai également remarqué la même chose que ce qui a déjà été mentionné: vous devrez peut-être déconnecter / reconnecter SSH pour rendre les modifications visibles.
la source
Ajouter le texte suivant
~/.profile
fonctionne pour moi:J'utilise un serveur Ubuntu 16.04 LTS 64 bits sur Linode.
la source
Cela a fonctionné pour moi quand j'ai eu le même problème (basé sur la solution fournie par dman ):
la source
>
lieu de>>
) semblait être une réponse à celle de dman. Je ne sais pas vraiment quelle voie est la meilleure ou la meilleure, mais si vous avez un aperçu de cela, vous pouvez développer cette réponse avec davantage d'informations. (Vous n'êtes pas obligé de le faire.)