Настройка окружения

Когда вы залогинитесь как lfs, Введите следующие команды для настройки окружения:

cat > ~/.bash_profile << "EOF"
set +h
umask 022
LFS=/mnt/lfs
LC_ALL=POSIX
PATH=/tools/bin:$PATH
export LFS LC_ALL PATH
unset CC CXX CPP LD_LIBRARY_PATH LD_PRELOAD
EOF

source ~/.bash_profile

Команда set +h отключает функцию запоминания bash. Обычно это используется так: bash использует hash-таблицу для запоминания полного пути к исполняемым файлам для сокращения времени поиска и отсутствия необходимости запоминания путей этих файлов. Но мы собираемся использовать новые средства после установки. При отключении этой функции наши "интерактивные" команды (make, patch, sed, cp и другие) будут использовать наиболее новые из доступных версий программ в процессе сборки.

Установка маски для создания файлов пользователем в 022 позволит убедиться, что вновь созданые файлы и директории будут доступны для записи только владельцу, а для чтения и выполнения любому.

Переменная LFS указывает на точку монтирования, которую вы выбрали для раздела LFS.

Переменная LC_ALL контролирует локализацию некоторых программ, делает вывод их сообщений зависимым от страны. Если ваша система основана на Glibc старее версии 2.2.4, установка LC_ALL в что-то отличное от "POSIX" или "C" может создать проблемы при выходе.входе в среду chroot. Установка LC_ALL в "POSIX" (или "C", что аналогично) мы страхуемся от ошибок при использовании chroot.

Мы добавляем /tools/bin к стандартной переменной PATH для того, чтобы на этапе сборки использовались средства, которые мы уже собрали.

Переменные CC, CXX, CPP, LD_LIBRARY_PATH и LD_PRELOAD несут потенциальную опасность для средств из Главы 5. Мы обнуляем их для того, чтобы было больше шансов собрать все корректно.

Теперь мы можем приступить к сборке временных средств, используемых в следующих главах.