Failed to set locale, defaulting to C warning message on CentOS Linux when running yum

Posted on in Categories , , , last updated May 9, 2017

Whenever I run yum command, I get an error or warning that read as Failed to set locale, defaulting to C. How do I fix this issue on CentOS 7 Linux server? Why do I get “Failed to set locale, defaulting to C” when using yum on CentOS 6 or Fedora Linux system? How do I fix it?

Locales defines language and country specific setting for your programs and shell session. You can use locales to see date, time, number, currency and other values formatted as per your country or language on a Linux or Unix-like system. To set system’s locale you need use shell variable. For example, LANG variable can be used to set en_US (English US) language.

How do I find out current values for my language?

Just type the following command:
$ locale
Or
# locale
Sample outputs:

Fig.01: How do I show current locale settings on a Linux or Unix?
Fig.01: How do I show current locale settings on a Linux or Unix?

How do I solve this problem?

To set i18n stuff CentOS/Fedora and RedHat Enterprise Linux call a special script called /etc/profile.d/lang.sh. Make sure this file exist in your system:
$ ls -l /etc/profile.d/lang.sh
If file exist just call it:
$ source /etc/profile.d/lang.sh
Verify that LANG and LC_* is set:
$ echo $LANG
$ echo $LC_CTYPE

What if I need to set my own LANG and LC_ALL/LC_CTYPE variables?

You can set it manually in your own directory as follows:
$ vi ~/.bashrc
OR globally in /etc/profile.d/ for bash/sh/ksh shell:
$ vi /etc/profile.d/my-custom.lang.sh
Append the following
## Indian English ##
export LANG=en_IN
export LANGUAGE=en_IN:en
export LC_COLLATE=C
export LC_CTYPE=en_IN.UTF-8

For US English:
## US English ##
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_COLLATE=C
export LC_CTYPE=en_US.UTF-8

Save and close the file. Log out and log in again. Or just call this file:
$ source /etc/profile.d/my-custom.lang.sh

Test it

Now you can use yum command without any issues:
$ sudo yum update
$ sudo yum search nload
$ sudo install nload

Sample outputs:

Fig.02: Look Maa, no warning message with yum command
Fig.02: Look Maa, no warning message with yum command

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

1 comment

  1. Hola. Como seria para ponerlo en español?

    Intente con estos paso pero igual me sigue mostrando el error, supongo que hay que ponerlo con mi idioma y mi hora local. No se como se escribe el código.

Leave a Comment