How to Set Up System Locale on CentOS 7

system locale centos 7

We’ll show you how to set up system locale on CentOS 7. System locale allows you to specify the language settings for the user interfaces and services running on your system.

install system locale on centos 7

How can you change it in CentOS 7? In this tutorial, you will learn how to set up system-wide locale settings on a Linux VPS running CentOS 7 as the operating system.

First of all, let’s learn more about the system locale. The system-wide locale settings are stored in a file. The file is /etc/locale.conf and this file is read by the systemd daemon at system boot. All the settings specified in this file are inherited by the users on your system and the services running on your system. However, certain system users or services can easily override the specified system locale settings if needed.

Connect to your CentOS VPS via SSH and update your system software to the latest version available before doing anything else. Issue the following command to do that:

# yum update

The update process should take no longer than a few minutes to complete. Once it completes, run the following command to check the system locale specified on your server:

# localectl status

You should see something like the following:

# localectl status
   System Locale: LANG=en_US.utf8
       VC Keymap: n/a
      X11 Layout: n/a

You can check the system locale specified on your CentOS VPS by reading the /etc/locale.conf file too:

# cat /etc/locale.conf
LANG=en_US.utf8

If you want to set up a different system locale on your system you can do that by using the localectl command. First, list the available locales:

# localectl list-locales

The list should be very long. If you want to filter the English locales you can do that using the command below:

# localectl list-locales | grep en_

You should get something like the following:

# localectl list-locales | grep en_
en_AG
en_AG.utf8
en_AU
en_AU.iso88591
en_AU.utf8
en_BW
en_BW.iso88591
en_BW.utf8
en_CA
en_CA.iso88591
en_CA.utf8
en_DK
en_DK.iso88591
en_DK.utf8
en_GB
en_GB.iso88591
en_GB.iso885915
en_GB.utf8
en_HK
...

To set up a specific system locale to be a default one, you can use the localectl command:

The syntax is the following:

# localectl set-locale LANG=locale_name

Of course, you need to replace locale_name with the default locale you like to set. For example, if you’d like to set en_GB.utf8 as a default system locale you can use the command below:

# localectl set-locale LANG=en_GB.utf8

To check if everything is OK you can run the following command again:

# localectl status

Now, the output should be the same like the following:

# localectl status
   System Locale: LANG=en_GB.utf8
       VC Keymap: n/a
      X11 Layout: n/a

Using localectl you can set up virtual console keyboard mappings on your system too. For more information about what options are available you can use the –help flag:

# localectl --help

The output of the command above should be similar to the following one:

# localectl --help
localectl [OPTIONS...] COMMAND ...

Query or change system locale and keyboard settings.

  -h --help                Show this help
     --version             Show package version
     --no-pager            Do not pipe output into a pager
     --no-ask-password     Do not prompt for password
  -H --host=[USER@]HOST    Operate on remote host
  -M --machine=CONTAINER   Operate on local container
     --no-convert          Don't convert keyboard mappings

Commands:
  status                   Show current locale settings
  set-locale LOCALE...     Set system locale
  list-locales             Show known locales
  set-keymap MAP [MAP]     Set console and X11 keyboard mappings
  list-keymaps             Show known virtual console keyboard mappings
  set-x11-keymap LAYOUT [MODEL [VARIANT [OPTIONS]]]
                           Set X11 and console keyboard mappings
  list-x11-keymap-models   Show known X11 keyboard mapping models
  list-x11-keymap-layouts  Show known X11 keyboard mapping layouts
  list-x11-keymap-variants [LAYOUT]
                           Show known X11 keyboard mapping variants
  list-x11-keymap-options  Show known X11 keyboard mapping options

See Also: How to Set Up System Locale on Ubuntu 16.04


set up system locale on CentOS 7Of course, you don’t have to set up system locale on CentOS 7, if you use one of our Managed CentOS VPS hosting services, in which case you can simply ask our expert Linux admins to set up the system locale for you. They are available 24×7 and will take care of your request immediately.

If you liked this post, on how to set up system locale on CentOS 7,  please share it with your friends on social networks or simply leave a reply below. Thanks.

3 thoughts on “How to Set Up System Locale on CentOS 7”

  1. Hi,
    I have a problem, my files are with “charset” equal to “binary”, see:
    https://i.imgur.com/M5jQCHm.png
    I followed all the steps of your tutorial but I could not figure it out. Do you have any idea how I can solve it?

    Reply
  2. My locale is setup as follows:
    # localectl status
    System Locale: LANG=en_NG
    VC Keymap: us
    X11 Layout: n/a

    But every time I do yum update I get the following error message;
    Loaded plugins: fastestmirror, langpacks, universal-hooks
    Options error: unknown locale: en_NG

    How can I solve this

    Reply

Leave a Comment