Resolve the perl warning 'setting locale failed' problem on Ubuntu Linux

A broken pearl (generated by Midjourney). Credit: libre-software.net. License: CC BY-SA 4.0

Ubuntu: resolve the “perl: warning: Setting locale failed” problem

Last updated on October 11, 2022

Are you running Ubuntu 18.04, 20.04 or 22.04 desktop or server edition, and getting warning or errors when installing software via apt-get or aptitude?

Here is a typical error message:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_TIME = "es_ES.UTF-8",
LC_MONETARY = "de_DE.UTF-8",
LC_ADDRESS = "de_DE.UTF-8",
LC_TELEPHONE = "de_DE.UTF-8",
LC_NAME = "de_DE.UTF-8",
LC_MEASUREMENT = "de_DE.UTF-8",
LC_IDENTIFICATION = "de_DE.UTF-8",
LC_NUMERIC = "de_DE.UTF-8",
LC_PAPER = "de_DE.UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_US.UTF-8").
locale: Cannot set LC_ALL to default locale: No such file or directory

Sometimes, trying to solve the problem using the update-locale or locale commands does not work and generates following error messages:

~ # sudo update-locale
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_PAPER = "de_DE.UTF-8",
LC_ADDRESS = "de_DE.UTF-8",
LC_MONETARY = "de_DE.UTF-8",
LC_NUMERIC = "de_DE.UTF-8",
LC_TELEPHONE = "en_US.UTF-8",
LC_IDENTIFICATION = "en_US.UTF-8",
LC_MEASUREMENT = "en_US.UTF-8",
LC_TIME = "es_ES.UTF-8",
LC_NAME = "de_DE.UTF-8",
LANG = (unset),
are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_US.UTF-8").

or

~ # locale
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=de_DE.UTF-8
LC_TIME=es_ES.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=de_DE.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=de_DE.UTF-8
LC_NAME=de_DE.UTF-8
LC_ADDRESS=de_DE.UTF-8
LC_TELEPHONE=de_DE.UTF-8
LC_MEASUREMENT=de_DE.UTF-8
LC_IDENTIFICATION=de_DE.UTF-8
LC_ALL=

Solution to the perl locale problem

The solution is to export the missing locales to ~/.bash_profile. The following command is a one-command line:

echo "export LANGUAGE=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8">>~/.bash_profile

You could also run each command separately:

echo "export LANGUAGE=en_US.UTF-8">>~/.bash_profile

Alternatively, edit ~/.bash_profile “by hand” with nano, vim or a graphical editor like gedit or xed (Linux Mint).

Don’t forget to reboot and check if the new locales are applied with the locale command.

Another solution is to add the locale variables to /etc/environment instead of ~/.bash_profile.

By Johannes Eva, April 2017 – October 2022

Articles by categories

Most Read Articles

Comments

7 thoughts on “How to set up automatic updates on Ubuntu Server 20.04, 22.04 or 24.04”

  1. Stu*** comment… you’re just saying it shouldn’t do it because it shouldn’t behave like Windows. Something is not wrong, just because has the same behaviour. Then Linux shouldn’t store data in files, because Windows does the same, it shouldn’t use SSDs, USB disks, ..

  2. It does need to reboot on kernel updates however. And this apparently checks whether a reboot is required before rebooting.

  3. is there a way to setup the updates to run on a specific day of the week, eg: Saturdays at 6am? or something like that?

  4. Pingback: LINUX SERVER MANAGE TIPS – CFC Studio

  5. What about the /etc/apt/apt.conf.d/10periodic file? It has the same content as /etc/apt/apt.conf.d/20auto-upgrades.

  6. Personally, I would not recommend to configure the auto reboot (step 2).
    One of the good things about linux is that nearly all updates do not require system reboot.
    This setting makes linux behave like windows, doesn’t it?

  7. Don’t uncomment ${distro_id}:${distro_codename}-updates unless you know what you’re doing. This will enable unattended NON-SECURITY updates, which may break your server configuration.

Comments are closed.