How to resolve “Failed to set locale, defaulting to C when using yum ” error
A locale is a set of environmental variables that defines the language, country, and character encoding settings for your applications and shell session on a Linux system.
Locale affects things such as the time/date format, the first day of the week, numbers, currency and many other values formatted in accordance with the language or region/country you set on a Linux system.
To 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_* shell variable are set:
$ echo “$LANG”
$ echo “$LC_CTYPE”
How set your 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:
$ sudo 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 :
$ sudo yum update
$ sudo yum search nload
$ sudo install nload
Leave a Reply