From c4d43142181a45b849a15cf8ec5ebe61cea33897 Mon Sep 17 00:00:00 2001 From: Sn4il Date: Wed, 10 Jan 2024 16:57:29 +0300 Subject: LFS 12 mirror --- lfs-12.0-sysv/chapter09/profile.html | 275 +++++++++++++++++++++++++++++++++++ 1 file changed, 275 insertions(+) create mode 100644 lfs-12.0-sysv/chapter09/profile.html (limited to 'lfs-12.0-sysv/chapter09/profile.html') diff --git a/lfs-12.0-sysv/chapter09/profile.html b/lfs-12.0-sysv/chapter09/profile.html new file mode 100644 index 0000000..40ebbca --- /dev/null +++ b/lfs-12.0-sysv/chapter09/profile.html @@ -0,0 +1,275 @@ + + + + + + 9.7. Файлы запуска оболочки Bash + + + + + + + + +
+

+ 9.7. Файлы + запуска оболочки Bash +

+

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

+

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

+

+ Для получения дополнительной информации смотрите разделы Загрузочные файлы Bash и Интерактивные оболочки главы Возможности Bash на информационных + страницах Bash (info + bash). +

+

+ Файлы /etc/profile и ~/.bash_profile считываются при вызове оболочки как + интерактивной оболочки входа в систему. +

+

+ По умолчанию в файле /etc/profile + задаются некоторые переменные окружения, необходимые для поддержки + вашего языка. Правильная их установка влияет на: +

+
+
    +
  • +

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

    +
  • +
  • +

    + Правильную интерпретацию символов в буквы, цифры и другие + классы. Это необходимо для того, чтобы 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.5, «Glibc-2.38», либо не + поддерживается стандартной установкой Glibc +

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

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

+

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

+

+ Как только будут определены правильные настройки локали, создайте + файл /etc/profile: +

+
cat > /etc/profile << "EOF"
+# Begin /etc/profile
+
+export LANG=<ll>_<CC>.<charmap><@modifiers>
+
+# End /etc/profile
+EOF
+

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

+

+ Некоторые программы не поддерживают локали на основе UTF-8. Ведется + работа по документированию и, по возможности, устранению таких + проблем. Некоторые подробности смотрите по ссылке: + https://mirror.linuxfromscratch.ru/blfs/view/12.0/introduction/locale-issues.html. +

+
+ + + -- cgit v1.2.3