Konfigurowanie środowiska roboczego

Logując się jako użytkownik lfs zastosuj następujące rozkazy, aby dobrze ustawić środowisko robocze:

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

Rozkaz set +h wyłącza funkcję hashowania (czzyt. haszowania) powłoki bash. Normalnie hashowanie jest cechą pożyteczną: bash wykorzystuje tablicę hash do zapamiętywania pełnych ścieżek plików wykonywalnych, aby nie przeszukiwać co chwila ścieżek wskazanych zmienną PATH, by wyszukać jakis program. Jednak tym razem chcemy używać nowych narzędzi od razu, gdy tylko zostaną zainstalowane. Po wyłączeniu funkcji hash, komendy "interaktywne" (make, patch, sed, cp and so forth) będą używać tej nowszej wersji podczas budowania.

Ustawienie maski tworzonych plików użytkownika na 022 zapewnia, że w nowo utworzonych plikach i katalogach tylko właściciel będzie mógł zapisywać, ale czytać i wykonywać je będzie mógł każdy. (Od tłumacza - czy rzeczywiście? Może jednak ma być 055? Słabo się znam, ale to trzeba sprawdzić.)

Oczywiście zmienną LFS należy ustawić na wybrany przez ciebie punkt montowania.

Zmienna LC_ALL kontroluje lokalizowanie pewnych programów, dzięki czemu ich teksty są zgodne z normami ustalonego kraju. Jeśli twój system macierzysty używa wersji Glibc starszej niż 2.2.4, to ustawiając w tym rozdziale LC_ALL na coś innego niż "POSIX" lub "C" możes napotkać kłopoty, gdy wyjdziesz ze środowiska chroot a później zechcesz tam wrócić. Ustwiając LC_ALL na "POSIX" (albo "C", obie wartości sa równoważne) zapewniamy, że wszystko będzie działać zgodnie z naszymi oczekiwaniami w środowisku chroot.

Zawczasu włączamy ścieżkę /tools/bin do standardowych ścieżek przeszukiwania PATH aby, w miarę postępów w tym rozdziale, budowane kolejno narzędzia były od razu używane, przez resztę procesu budowy.

Zmienne środowiskowe CC, CXX, CPP, LD_LIBRARY_PATH i LD_PRELOAD - one wszystkie mają zdolność spowodowania zamętu i niepowodzenia budowy narzędzi w Rozdziale 5. Dlatego wyłączamy ich działanie przez "unset" aby nie dopuścić do takich zdarzeń.

Dalej, po ustaleniu źródłowego katalogu dla dopiero-co-utworzonego profilu, bierzemy się za budowę tymczasowych narzędzi, które będą nam pomocne w następnych rozdziałach.