Каждая система Linux имеет набор переменных окружения, известных как locale, которые хранят информацию о языке системы, стране, кодировке символов и других настройках. Эта информация используется сценариями оболочки, приложениями, системными библиотеками и другими процессами, которым необходима информация, основанная на местоположении системы. Например, локаль также влияет на дату/время, первый день недели, валюту и другие переменные, которые зависят от местоположения системы.
Иногда вам может понадобиться изменить локаль вашей системы. В этой статье мы узнаем, как обновить или изменить системную локаль в Linux. Вам может понадобиться установить локаль вашей системы, особенно если вы используете веб-сайт, потому что и ваш веб-сервер, и база данных будут обращаться к переменным локали, чтобы установить свой часовой пояс, язык, кодировку и т. д. Без настроек локали вам придется отдельно устанавливать эти значения для каждого из ваших приложений, что очень утомительно и не нужно.
Как обновить или изменить системную локаль в Linux
Вы можете легко получить информацию о локали вашей системы, используя утилиту locale или localectl.
1 | locale |
1 | localectl status |
Приведенная выше команда locale отобразит настройки локали для каждой системной переменной, такой как ВРЕМЯ, АДРЕС и даже единицы ИЗМЕРЕНИЯ.
Если вы хотите просмотреть конкретную информацию о переменной окружения, вы можете использовать ее в качестве аргумента после опции -k. Вот команда для получения значения переменной LC_TIME.
1 | locale -k LC_TIME |
Если вы хотите просмотреть список всех доступных локалей, используйте параметр -a.
1 | locale -a |
Как обновить или установить системную локаль в Linux
Если вы хотите изменить или установить системную локаль в Linux, используйте программу update-locale, а затем конкретную переменную окружения, которую вы хотите установить. Вот команда для установки переменной LANG, которая позволяет установить локаль для всей системы. Следующая команда устанавливает LANG в en_IN.UTF-8 и удаляет определение языка.
1 | sudo update-locale LANG=en_IN.UTF-8 LANGUAGE |
ИЛИ
1 | sudo localectl set-locale LANG=en_IN.UTF-8 |
Если вы хотите обновить определенную переменную, укажите ее после команды update-locale. Например, вот команда для установки переменной LC_TIME на en_IN.UTF-8
1 | sudo update-locale LC_TIME=en_IN.UTF-8 |
ИЛИ
1 | sudo localectl set-locale LC_TIME=en_IN.UTF-8 |
Глобальные настройки локали вы найдете в
Ubuntu/Debian
1 | /etc/default/locale |
CentOS/RHEL
1 | /etc/locale.conf |
Вы также можете вручную отредактировать эти файлы с помощью любого текстового редактора, чтобы обновить или изменить системные переменные локали.
В качестве альтернативы, если вы хотите изменить системную локаль только для одного пользователя, вы можете отредактировать ~/.bash_profile этого пользователя и добавить следующие строки.
1 2 | LANG="en_IN.utf8" export LANG |
Если вам нужна дополнительная информация о команде update-locale, вы можете ознакомиться с ее man-страницей, которая даст вам хорошее представление о доступных опциях.
1 2 3 | man locale man update-locale </code>man localectl |
Заключение
В этой статье мы узнали, как просматривать и устанавливать системные локали в Linux. Изменяя переменные локали, вы можете легко настроить систему в соответствии с вашими требованиями. Это действительно полезно, особенно если вы используете сервер или базу данных в системе Linux, потому что ваш сервер и база данных будут использовать переменные окружения локали для определения своего часового пояса и связанных с ним переменных.
Ошибка в строке:
sudo update-locale LANG=LANG=en_IN.UTF-8 LANGUAGE
Действительно, была опечатка. Спасибо.