From 2203e654b389586650d553251b04544a34f189bf Mon Sep 17 00:00:00 2001 From: Sn4il Date: Mon, 2 Sep 2024 15:54:35 +0300 Subject: LFS 12.2 --- lfs-12.1-sysv/chapter09/locale.html | 256 ------------------------------------ 1 file changed, 256 deletions(-) delete mode 100644 lfs-12.1-sysv/chapter09/locale.html (limited to 'lfs-12.1-sysv/chapter09/locale.html') diff --git a/lfs-12.1-sysv/chapter09/locale.html b/lfs-12.1-sysv/chapter09/locale.html deleted file mode 100644 index 15d4163..0000000 --- a/lfs-12.1-sysv/chapter09/locale.html +++ /dev/null @@ -1,256 +0,0 @@ - - - - - - 9.7. Настройка системной локали - - - - - - - - -

- 9.7. Настройка - системной локали -

-
-

- Некоторые переменные окружения, необходимые для поддержки вашего - языка. Правильная их установка влияет на: -

-
-
    -
  • -

    - Выходные данные программ, переводятся на ваш родной язык -

    -
  • -
  • -

    - Правильную интерпретацию символов в буквы, цифры и другие - классы. Это необходимо для того, чтобы bash правильно принимал - не-ASCII символы, в командной строке в неанглоязычных языковых - системах -

    -
  • -
  • -

    - Правильную для страны сортировку по алфавиту -

    -
  • -
  • -

    - Подходящий формат бумаги по умолчанию -

    -
  • -
  • -

    - Правильное форматирование денежных значений, значений времени и - дат -

    -
  • -
-
-

- Ниже замените <ll> - двухбуквенным кодом нужного вам языка (например en), а <CC> двухбуквенным кодом - соответствующей страны (например GB). - <charmap> нужно - заменить на каноническую кодировку для выбраной вами локали. Также - могут присутствовать необязательные модификаторы, такие как - @euro. -

-

- Список всех локалей, поддерживаемых Glibc, можно получить, выполнив - следующую команду: -

-
locale -a
-

- Таблицы символов могут иметь несколько синонимов. Например - ISO-8859-1 так же называют iso8859-1 и iso88591. - Некоторые приложения не могут корректно обрабатывать различные - синонимы (например UTF-8 должно быть - указано как UTF-8, а не utf8), поэтому в большинстве случаев безопаснее - всего выбрать каноническое имя для конкретной локали. Для определения - канонического имени локали выполните команду ниже, заменив <locale name> на вывод - locale -a для желаемой - локали (например en_GB.iso88591 в нашем - примере). -

-
LC_ALL=<locale name> locale charmap
-

- Для локали en_GB.iso88591 приведенная - выше команда напечатает: -

-
ISO-8859-1
-

- Окончательная настройка локали будет выглядеть так: en_GB.ISO-8859-1. Важно, чтобы локаль, найденная с - помощью приведенной выше методики, была проверена перед её - добавлением в файлы запуска Bash: -

-
LC_ALL=<locale name> locale language
-LC_ALL=<locale name> locale charmap
-LC_ALL=<locale name> locale int_curr_symbol
-LC_ALL=<locale name> locale int_prefix
-

- Приведенные выше команды должны вывести название языка, кодировку - символов, используемую в локали, местную валюту и телефонный код - страны. Если какая-либо из команд завершается с сообщением об ошибке, - похожим на указанное ниже, это означает, что ваша локаль либо не была - установлена в Главе 8, либо не поддерживается стандартной установкой - Glibc. -

-
locale: Cannot set LC_* to default locale: No such file or directory
-

- Если это произойдет, вам следует либо установить желаемую локаль с - помощью команды localedef, либо рассмотреть - возможность выбора другой локали. Дальнейшие инструкции не - предполагают таких сообщений об ошибках от Glibc. -

-

- Другие пакеты также могут работать некорректно (но не всегда будут - отображать какие-либо сообщения об ошибках), если название локали не - соответствует их ожиданиям. В таких случаях изучите, какие ещё - дистрибутивы Linux поддерживают ваш язык, возможно, это даст - некоторую полезную информацию -

-

- Программа оболочки /bin/bash (далее именуемая как - «оболочка») - использует начальный набор файлов, чтобы помочь создать среду для - запуска. Каждый файл имеет определенное назначение и может по-разному - влиять на вход в систему и интерактивное окружение. Файлы в каталоге - /etc содержат глобальные настройки. - Если в домашнем каталоге существуют эквивалентные файлы, они могут - переопределить глобальные настройки. -

-

- Интерактивная оболочка входа запускается после успешного входа с - использованием /bin/login, прочитав файл - /etc/passwd. Интерактивная оболочка без - входа в систему запускается из командной строки (например, - [prompt]$/bin/bash). Неинтерактивная - оболочка обычно присутствует когда выполняется скрипт оболочки. Он - неинтерактивен, поскольку обрабатывает скрипт и не ожидает ввода - пользователем между командами. -

-

- Создайте файл /etc/profile после того, как будут определены правильные настройки - локали, чтобы установить желаемый язык, но вместо этого - установите локаль C.UTF-8 при запуске - консоли Linux (чтобы программы не выводили символы, которые консоль - Linux не может отобразить): -

-
cat > /etc/profile << "EOF"
-# Begin /etc/profile
-
-for i in $(locale); do
-  unset ${i%=*}
-done
-
-if [[ "$TERM" = linux ]]; then
-  export LANG=C.UTF-8
-else
-  export LANG=<ll>_<CC>.<charmap><@modifiers>
-fi
-
-# End /etc/profile
-EOF
-

- Локаль C (используемая по умолчанию) и - en_US (одна из рекомендуемых для - англоязычных пользователей в Соединенных Штатах) это разные локали. - C использует 7-битный набор символов - US-ASCII и обрабатывает байты с установленным старшим битом как - недопустимые символы. Вот почему, например, команда ls заменяет их вопросительными - знаками в этой локали. Кроме того, попытка отправить почту с такими - символами из Mutt или Pine приводит к тому что, отправляемые - сообщения не соответствуют RFC (кодировка в исходящей почте указана - как unknown 8-bit). Рекомендуется - использовать локаль C, если вы уверены, - что вам никогда не понадобятся 8-битные символы. -

-
- - - -- cgit v1.2.3