Вот, например, команда date. Вот команднём её и передадим ей локаль:
Shell
$ LC_TIME=ru_RU.utf8 date
Ср 06 мая 2026 10:46:07 +05
$
$ LC_TIME=en_US.utf8 date
Wed May 6 10:46:27 AM +05 2026
$Shell
$ locale -a
C
C.utf8
en_US.utf8
POSIX
ru_RU.utf8
$Shell
$ cat /etc/locale.gen | grep "^#" | head -n 10 | tail -n 1
# aa_ET UTF-8
$Shell
$ LANG="aa_ET UTF-8" date
Wed May 6 11:10:17 +05 2026
$Shell
$ cat /etc/default/locale
# File generated by update-locale
LANG=ru_RU.UTF-8
$++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Посмотрим, что за файл такой /etc/default/locale
Shell
man update-locale
...
NAME
update-locale - Modify global locale settings
...
DESCRIPTION
This program can be called by maintainer scripts when Debian packages are installed or removed, it updates the /etc/default/locale file toreflectchanges in system configuration related to global locale settings. When variables have no value assigned, they are removed from the locale file. Some basic checks are performed to ensure that requested settings are valid.а у нас переменная хоть и назначена, но такой локали ("aa_ET UTF-8") нет. В общем, я ожидаю, что локаль будет задействована из файла /etc/default/locale, но она не задействована, а берётся английская откуда-то.When variables have no value assigned, they are removed from the locale file.
...Я даже проверил, действительно ли переменная LANG="aa_ET UTF-8" присутствует в окружении date при запуске- да, так и есть. Я скропал такой скрипт:
Shell
$ cat /usr/local/bin/date
#!/bin/bash
env
exit
$