Sett opp et godt arbeidsmiljø ved å lage to nye oppstartsfiler for
        bash skallet. Mens du
        er logget inn som bruker lfs, utsted
        følgende kommando for å lage en ny .bash_profile:
      
cat > ~/.bash_profile << "EOF"
exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash
EOF
      
        Når du er pålogget som bruker lfs,
        eller når du bytter til lfs bruker
        med en su kommando med
        «-» alternativet, er det
        første skallet et login skall
        som leser /etc/profile til verten (som
        sannsynligvis inneholder noen innstillinger og miljøvariabler) og
        deretter .bash_profile. exec env -i.../bin/bash kommandoen
        i .bash_profile filen erstatter det
        kjørende skallet med et nytt et med et helt tomt miljø bortsett fra
        HOME, TERM, og
        PS1 variabler. Dette sikrer at ingen
        uønskede og potensielt farlige miljøvariabler fra vertssystemet
        lekker inn i byggemiljøet.
      
        Den nye instansen av skallet er et non-login skall, som ikke leser, og
        utfører, innholdet i /etc/profile eller
        .bash_profile filer, men heller leser
        og kjører .bashrc filen istedet.
        Opprett .bashrc filen nå
      
cat > ~/.bashrc << "EOF"
set +h
umask 022
LFS=/mnt/lfs
LC_ALL=POSIX
LFS_TGT=$(uname -m)-lfs-linux-gnu
PATH=/usr/bin
if [ ! -L /bin ]; then PATH=/bin:$PATH; fi
PATH=$LFS/tools/bin:$PATH
CONFIG_SITE=$LFS/usr/share/config.site
export LFS LC_ALL LFS_TGT PATH CONFIG_SITE
EOF
      
          Betydningen av innstillingene i .bashrc
        
set
            +h
          
              set +h kommandoen
              slår av bash sin
              hashfunksjon. Hashing er vanligvis en nyttig
              funksjon—bash
              bruker en hashtabell for å huske banen til kjørbare filer for å
              unngå å søke i PATH gang på gang for
              å finne den samme kjørbare filen. Imidlertid bør de nye
              verktøyene brukes så snart de er installert. Ved å slå av
              hashfunksjonen, vil skallet alltid søke PATH når et program kjøres. Som sådan vil
              skallet finne de nylig kompilerte verktøyene i $LFS/tools/bin så snart de er tilgjengelig
              uten å huske en tidligere versjon av det samme programmet
              levert av vertsdistroen, i /usr/bin eller /bin.
            
umask
            022
          Innstilling av umask som vi allerede har forklart i Seksjon 2.6, «Stille inn $LFS variabelen og Umask»
LFS=/mnt/lfs
          
              LFS variabelen skal settes til det
              valgte monteringenspunktet.
            
LC_ALL=POSIX
          
              LC_ALL variabelen styrer
              lokaliseringen av visse programmer, slik at meldingene deres
              følger konvensjonene i et spesifisert land. Innstillingen
              LC_ALL til «POSIX» eller
              «C» (de
              to er likeverdige) sikrer at alt fungerer som forventet i
              chroot miljlet.
            
LFS_TGT=$(uname
            -m)-lfs-linux-gnu
          
              LFS_TGT variabelen setter en
              ikke-standard, men kompatibel maskinbeskrivelse for bruk når du
              bygger vår krysskompiler og linker og når du krysskompiler vår
              midlertidige verktøykjede. Mer informasjon finnes i Verktøykjedens tekniske
              merknader.
            
PATH=/usr/bin
          
              Mange moderne Linux distribusjoner har slått sammen
              /bin og /usr/bin. Når dette er tilfelle, standard
              PATH variabel burde settes til
              /usr/bin/ for Kapittel 6
              miljøet. Når dette ikke er tilfelle, legg følgende linje
              /bin til stien.
            
if [ ! -L /bin ];
            then PATH=/bin:$PATH; fi
          
              Hvis /bin ikke er en symbolsk
              lenke, så må den legges til PATH
              variabelen.
            
PATH=$LFS/tools/bin:$PATH
          
              Ved å putte $LFS/tools/bin foran
              standard PATH, krysskompilatoren
              installert i begynnelsen av Kapittel 5
              blir plukket opp av skallet umiddelbart etter installasjonen.
              Dette, kombinert med å slå av hashing, begrenser risikoen for
              at kompilatoren fra verten brukes i stedet for krysskompilator.
            
CONFIG_SITE=$LFS/usr/share/config.site
          
              I Kapittel 5
              og Kapittel 6,
              hvis denne variabelen ikke er satt, configure skriptet kan
              forsøke å laste inn konfigurasjonselementer som er spesifikke
              for enkelte distribusjoner fra /usr/share/config.site på vertssystemet.
              Overstyr det for å forhindre potensiell forurensning fra
              verten.
            
export
            ...
          Mens kommandoene ovenfor har satt noen variabler, for å gjøre dem synlige innenfor eventuelle underskall, eksporterer vi dem.
        
          Flere kommersielle distribusjoner legger til en ikke dokumentert
          instansiering av /etc/bash.bashrc til
          initialisering av bash. Denne filen har potensial
          til å endre lfs brukerens miljø på
          måter som kan påvirke byggingen av kritiske LFS pakker. For å sikre
          at lfs brukerens miljø er rent,
          sjekk for tilstedeværelse av /etc/bash.bashrc og flytt den hvis den er
          tilstede Som root bruker, kjør:
        
[ ! -e /etc/bash.bashrc ] || mv -v /etc/bash.bashrc /etc/bash.bashrc.NOUSE
          Når lfs brukeren ikke lenger er
          nødvendig (i begynnelsen av 
          Kapittel 7), kan du trygt gjenopprette /etc/bash.bashrc (hvis ønsket).
        
          Legg merke til at LFS Bash pakken vi bygger i Seksjon 8.37,
          «Bash-5.3» ikke er konfigurert til å laste eller kjøre
          /etc/bash.bashrc, så denne filen er
          ubrukelig på et fullført LFS system.
        
        For mange moderne systemer med flere prosessorer (eller kjerner) kan
        kompileringstiden for en pakke reduseres ved å utføre en "parallell
        make" ved å fortelle make programmet hvor mange prosessorer som er
        tilgjengelige via et kommandolinjealternativ eller en miljøvariabel.
        For eksempel en Intel Core i9-13900K-prosessor har 8 P (ytelse)
        kjerner og 16 E (effektive) kjerner, og en P-kjerne kan kjøre to
        tråder samtidig så hver P-kjerne er modellert som to logiske kjerner
        av Linuxkjernen. Som et resultat er det totalt 32 logiske kjerner. En
        åpenbar måte å bruke alle disse logiske kjernene er å tillate
        make å gjøre opptil 32
        byggejobber. Dette kan gjøres ved å sende -j32 alternativet til make:
      
make -j32
        Eller angi MAKEFLAGS miljøvariabel og dens
        innhold vil automatisk bli brukt av make som kommandolinjealternativer:
      
export MAKEFLAGS=-j32
        
          Aldri send en -j alternativ
          uten nummer til make
          eller angi et slikt alternativ i MAKEFLAGS. Å gjøre det vil tillate make å skape uendelige
          byggejobber og forårsake problemer med systemstabilitet.
        
        For å bruke alle logiske kjerner som er tilgjengelige for å bygge
        pakker i Kapittel 5 og
        Kapittel 6,
        sett MAKEFLAGS nå i .bashrc:
      
cat >> ~/.bashrc << "EOF"
export MAKEFLAGS=-j$(nproc)
EOF
      
        Erstatt $(nproc) med
        antallet logiske kjerner du vil bruke hvis du ikke vil bruke alle de
        logiske kjernene.
      
Til slutt, å ha miljøet fullt forberedt for å bygge midlertidige verktøy, tving bash skallet å lese den nye brukerprofilen:
source ~/.bash_profile