OnWorks Linux- und Windows-Online-WorkStations

Logo

Kostenloses Online-Hosting für WorkStations

<Zurück | Inhalte | Weiter>

4.4. Einrichten der Umgebung‌

Richten Sie eine gute Arbeitsumgebung ein, indem Sie zwei neue Startdateien für erstellen bash Hülse. Während Sie als Benutzer angemeldet sind lfs, geben Sie den folgenden Befehl ein, um eine neue zu erstellen Bash_profile:


cat > ~/.bash_profile << "EOF"

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

EOF

cat > ~/.bash_profile << "EOF"

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

EOF


Wenn Sie als Benutzer angemeldet sind lfs, die anfängliche Schale ist normalerweise a login Shell, die das liest / etc / profile des Hosts (wahrscheinlich mit einigen Einstellungen und Umgebungsvariablen) und dann Bash_profiledem „Vermischten Geschmack“. Seine exec env -i.../bin/ bash Befehl in der Bash_profile Datei ersetzt die laufende Shell durch eine neue mit einer völlig leeren Umgebung, mit Ausnahme der HOME, TERM und PS1 Variablen. Dadurch wird sichergestellt, dass keine unerwünschten und potenziell gefährlichen Umgebungsvariablen vom Hostsystem in die Build-Umgebung gelangen. Mit der hier verwendeten Technik wird das Ziel erreicht, eine saubere Umwelt zu gewährleisten.


Die neue Instanz der Shell ist a Nicht-Login Shell, die das nicht liest / etc / profile or Bash_profile

Dateien, sondern liest die .bashrc Datei stattdessen. Erstellen Sie die .bashrc Datei jetzt:


cat > ~/.bashrc << "EOF"

setze +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

cat > ~/.bashrc << "EOF"

setze +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


Das setze +h Der Befehl wird ausgeschaltet bashHash-Funktion. Hashing ist normalerweise eine nützliche Funktion –bash verwendet eine Hash-Tabelle, um sich den vollständigen Pfad der ausführbaren Dateien zu merken und so das Durchsuchen zu vermeiden PATH immer wieder die gleiche ausführbare Datei finden. Allerdings sollten die neuen Tools sofort nach der Installation genutzt werden. Durch Ausschalten der Hash-Funktion sucht die Shell immer nach PATH wann ein Programm ausgeführt werden soll. Daher findet die Shell die neu kompilierten Tools in $LFS/Werkzeuge sobald sie verfügbar sind, ohne sich an eine frühere Version desselben Programms an einem anderen Ort zu erinnern.

Durch Festlegen der Dateierstellungsmaske des Benutzers (umask) auf 022 wird sichergestellt, dass neu erstellte Dateien und Verzeichnisse nur von ihrem Besitzer geschrieben, aber von jedem gelesen und ausgeführt werden können (vorausgesetzt, dass Standardmodi von verwendet werden). offen(2) Systemaufruf, neue Dateien erhalten am Ende den Berechtigungsmodus 644 und Verzeichnisse den Berechtigungsmodus 755).

Das LFS Die Variable sollte auf den gewählten Einhängepunkt gesetzt werden.

Das LC_ALL Die Variable steuert die Lokalisierung bestimmter Programme und sorgt dafür, dass ihre Nachrichten den Konventionen eines bestimmten Landes entsprechen. Einstellung LC_ALL auf „POSIX“ oder „C“ (die beiden sind gleichwertig) stellt sicher, dass in der Chroot-Umgebung alles wie erwartet funktioniert.

Das LFS_TGT Die Variable legt eine nicht standardmäßige, aber kompatible Maschinenbeschreibung fest, die beim Erstellen unseres Cross-Compilers und Linkers sowie beim Cross-Kompilieren unserer temporären Toolchain verwendet wird. Weitere Informationen finden Sie in Abschnitt 5.2, „Technische Hinweise zur Toolchain“.

Indem /tools/bin dem Standard voraus PATHAlle in Kapitel 5 installierten Programme werden sofort nach der Installation von der Shell übernommen. In Kombination mit der Deaktivierung des Hashings verringert dies das Risiko, dass alte Programme vom Host verwendet werden, wenn dieselben Programme in der Kapitel-5-Umgebung verfügbar sind.

Um schließlich die Umgebung vollständig auf die Erstellung der temporären Tools vorzubereiten, beziehen Sie das gerade erstellte Benutzerprofil als Quelle:


source ~ / .bash_profile

source ~ / .bash_profile


Top OS Cloud Computing bei OnWorks: