Workstation online OnWorks Linux e Windows

Logo

Hosting online gratuito per workstation

<Precedenti | Contenuti | Succ.>

4.4. Impostazione dell'ambiente

Impostare un buon ambiente di lavoro creando due nuovi file di avvio per bash shell. Mentre si è connessi come utente lfs, emetti il ​​seguente comando per creare un nuovo .bash_profilo:


gatto > ~/.bash_profile << "EOF"

exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash

EOF

gatto > ~/.bash_profile << "EOF"

exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash

EOF


Quando si accede come utente lfs, il guscio iniziale è solitamente un accesso shell che legge il / etc / profile dell'host (probabilmente contenente alcune impostazioni e variabili di ambiente) e quindi .bash_profilo. esegui ambiente -i.../bin/ bash comando nella .bash_profilo file sostituisce la shell in esecuzione con una nuova con un ambiente completamente vuoto, ad eccezione di HOME, TERMINEe PS1 variabili. Ciò garantisce che nessuna variabile d'ambiente indesiderata e potenzialmente pericolosa proveniente dal sistema host penetri nell'ambiente di compilazione. La tecnica utilizzata in questo caso raggiunge l'obiettivo di garantire un ambiente pulito.


La nuova istanza della shell è una non-login shell, che non legge il / etc / profile or .bash_profilo

file, ma piuttosto legge il .bashrc file invece. Crea il .bashrc archivia ora:


gatto > ~/.bashrc << "EOF"

imposta +h umask 022

LFS=/mnt/lfs LC_ALL=POSIX

LFS_TGT=$(uname -m)-lfs-linux-gnu PATH=/tools/bin:/bin:/usr/bin export LFS LC_ALL LFS_TGT PATH EOF

gatto > ~/.bashrc << "EOF"

imposta +h umask 022

LFS=/mnt/lfs LC_ALL=POSIX

LFS_TGT=$(uname -m)-lfs-linux-gnu PATH=/tools/bin:/bin:/usr/bin export LFS LC_ALL LFS_TGT PATH EOF


. imposta +h il comando si spegne bashfunzione hash di. L'hashing è solitamente una funzionalità utile:bash utilizza una tabella hash per ricordare il percorso completo dei file eseguibili per evitare di cercare PERCORSO ripetutamente per trovare lo stesso eseguibile. Tuttavia, i nuovi strumenti dovrebbero essere utilizzati non appena vengono installati. Disattivando la funzione hash, la shell cercherà sempre PERCORSO quando un programma deve essere eseguito. Pertanto, la shell troverà gli strumenti appena compilati in $LFS/ strumenti non appena sono disponibili, senza dover ricordare una versione precedente dello stesso programma in una posizione diversa.

Impostando la maschera di creazione file utente (umask) su 022 si garantisce che i file e le directory appena creati siano scrivibili solo dal loro proprietario, ma siano leggibili ed eseguibili da chiunque (supponendo che le modalità predefinite siano utilizzate dall'utente). aperto(2) chiamata di sistema, i nuovi file avranno la modalità di autorizzazione 644 e le directory la modalità 755).

. LFS la variabile dovrebbe essere impostata sul punto di montaggio scelto.

. LC_TUTTI La variabile controlla la localizzazione di determinati programmi, facendo in modo che i loro messaggi seguano le convenzioni di un paese specificato. Impostazione LC_TUTTI a "POSIX" o "C" (i due sono equivalenti) garantisce che tutto funzionerà come previsto nell'ambiente chroot.

. LFS_TGT La variabile imposta una descrizione della macchina non predefinita, ma compatibile, da utilizzare durante la compilazione del nostro cross-compilatore e linker e durante la compilazione incrociata della nostra toolchain temporanea. Ulteriori informazioni sono contenute nella Sezione 5.2, "Note tecniche sulla toolchain".

Mettendo /strumenti/bin avanti rispetto allo standard PERCORSO, tutti i programmi installati nel Capitolo 5 vengono rilevati dalla shell immediatamente dopo la loro installazione. Questo, combinato con la disattivazione dell'hashing, limita il rischio che vengano utilizzati vecchi programmi dall'host quando gli stessi programmi sono disponibili nell'ambiente del Capitolo 5.

Infine, per avere l'ambiente completamente preparato per la creazione degli strumenti temporanei, procuratevi il profilo utente appena creato:


origine ~/.bash_profile

origine ~/.bash_profile


Il miglior sistema operativo cloud computing su OnWorks: