Если
при выполнении шагов, описанных в Главе 5, вы будете зарегистрированы в системе
как root, есть вероятность, что некоторые файлы системы будут заменены файлами,
которые будут скомпилированы в Главе 5. На это есть ряд причин, неопределенная
переменная $LFS - одна из них. Замена файлов на вашей системе скорее всего
приведет к возникновению всякого рода проблем, поэтому рекомендуется выполнять
шаги Главы 5 от имени непривилегированного пользователя. Для чистоты эксперимента
создадим новую учетную запись "lfs", которую будем использовать на стадии
компиляции со статическими ссылками. Для добавления новой учетной записи,
выполните следующие команды в режиме пользователя root:
useradd -s /bin/bash -m lfs && passwd lfs |
Теперь скорректируем права на
директорию $LFS/static, чтобы пользователь "lfs" имел к ней доступ на запись:
Теперь
войдите в систему под учетной записью "lfs". Это можно сделать двумя способами:
через новую виртуальную консоль или оконный менеджер, или командой su - lfs. После этого выполните
следующие команды от имени пользователя "lfs" для создания благоприятной среды:
cat > ~/.bash_profile << "EOF" umask 022
LFS=/mnt/lfs LC_ALL=POSIX CC='gcc -s' export LFS LC_ALL CC EOF source ~/.bash_profile |
Этот
профиль устанавливает umask равным 022, чтобы созданные файлы и директории
автоматически получали правильные права. Настоятельно рекомендуется использование
этой установки на протяжении всей инсталляции LFS. Также были заданы переменные
$LFS, $LC_ALL, и $CC. Про переменную $LFS мы уже не раз говорили. Переменная
$LC_ALL используется для интернационализации.
Если
на вашем базовом дистрибутиве установлена библиотека glibc версии 2.2.4 и
ранее, и на протяжении Главы 5 переменная $LC_ALL определена не как "C" или
"POSIX", могут возникнуть проблемы при выходеи повторном входе в среду chroot
в Главе 6. Для того чтобы быть уверенным в том, что в среде chroot все будет
работать корректно, присвойте этой переменной значение "POSIX" ("C" is an
alias for "POSIX").
Использование переменной $CC вызвано необходимостью
предотвратить компиляцию отладочных символов в статические пакеты. Таким
образом экономится дисковое пространство и существенно сокращается время
компиляции.